@epilot/entity-client 7.2.1 → 7.3.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
@@ -20,6 +20,7 @@ declare namespace Components {
20
20
  * 01F130Q52Q6MWSNS8N2AVXV4JN
21
21
  */
22
22
  Schemas.ActivityId /* ulid ^01[0-9a-zA-Z]{24}$ */ | ("" | null);
23
+ export type AnonymizeQueryParam = boolean;
23
24
  export type ApplyChangesetsQueryParam = boolean;
24
25
  export type AsyncOperationQueryParam = boolean;
25
26
  export type DirectQueryParam = boolean;
@@ -77,6 +78,7 @@ declare namespace Components {
77
78
  ActivityIdPathParam?: Parameters.ActivityIdPathParam;
78
79
  }
79
80
  export interface QueryParameters {
81
+ AnonymizeQueryParam?: Parameters.AnonymizeQueryParam;
80
82
  TaxonomySlugQueryParam?: Parameters.TaxonomySlugQueryParam;
81
83
  TaxonomySlugQueryParamOptional?: Parameters.TaxonomySlugQueryParamOptional;
82
84
  AsyncOperationQueryParam?: Parameters.AsyncOperationQueryParam;
@@ -390,6 +392,13 @@ declare namespace Components {
390
392
  required?: boolean;
391
393
  readonly?: boolean;
392
394
  deprecated?: boolean;
395
+ /**
396
+ * Allow conditional variants of the entity to override this attribute's value.
397
+ * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay
398
+ * fixed on the base entity.
399
+ *
400
+ */
401
+ variant_overridable?: boolean;
393
402
  default_value?: any;
394
403
  /**
395
404
  * Which group the attribute should appear in. Accepts group ID or group name
@@ -423,6 +432,16 @@ declare namespace Components {
423
432
  *
424
433
  */
425
434
  render_condition?: string;
435
+ /**
436
+ * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`).
437
+ *
438
+ * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data)
439
+ * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers)
440
+ *
441
+ * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields.
442
+ *
443
+ */
444
+ data_classification?: "public" | "pii";
426
445
  _purpose?: /**
427
446
  * example:
428
447
  * taxonomy-slug:classification-slug
@@ -516,10 +535,8 @@ declare namespace Components {
516
535
  repeatable?: boolean;
517
536
  has_primary?: boolean;
518
537
  /**
519
- * Controls how updates to this attribute are handled.
520
- * - `direct` (default): update is applied immediately. No changeset created.
521
- * - `external`: update creates a changeset, auto-cleared on matching external update (e.g. ERP inbound sync via ?direct=true).
522
- * - `approval`: update creates a changeset, requires explicit human approval.
538
+ * Controls how updates to this attribute are handled. See the `EditMode`
539
+ * schema for the per-mode semantics. Defaults to `direct`.
523
540
  *
524
541
  */
525
542
  edit_mode?: "direct" | "external" | "approval";
@@ -610,6 +627,13 @@ declare namespace Components {
610
627
  required?: boolean;
611
628
  readonly?: boolean;
612
629
  deprecated?: boolean;
630
+ /**
631
+ * Allow conditional variants of the entity to override this attribute's value.
632
+ * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay
633
+ * fixed on the base entity.
634
+ *
635
+ */
636
+ variant_overridable?: boolean;
613
637
  default_value?: any;
614
638
  /**
615
639
  * Which group the attribute should appear in. Accepts group ID or group name
@@ -643,6 +667,16 @@ declare namespace Components {
643
667
  *
644
668
  */
645
669
  render_condition?: string;
670
+ /**
671
+ * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`).
672
+ *
673
+ * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data)
674
+ * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers)
675
+ *
676
+ * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields.
677
+ *
678
+ */
679
+ data_classification?: "public" | "pii";
646
680
  _purpose?: /**
647
681
  * example:
648
682
  * taxonomy-slug:classification-slug
@@ -736,10 +770,8 @@ declare namespace Components {
736
770
  repeatable?: boolean;
737
771
  has_primary?: boolean;
738
772
  /**
739
- * Controls how updates to this attribute are handled.
740
- * - `direct` (default): update is applied immediately. No changeset created.
741
- * - `external`: update creates a changeset, auto-cleared on matching external update (e.g. ERP inbound sync via ?direct=true).
742
- * - `approval`: update creates a changeset, requires explicit human approval.
773
+ * Controls how updates to this attribute are handled. See the `EditMode`
774
+ * schema for the per-mode semantics. Defaults to `direct`.
743
775
  *
744
776
  */
745
777
  edit_mode?: "direct" | "external" | "approval";
@@ -847,6 +879,13 @@ declare namespace Components {
847
879
  required?: boolean;
848
880
  readonly?: boolean;
849
881
  deprecated?: boolean;
882
+ /**
883
+ * Allow conditional variants of the entity to override this attribute's value.
884
+ * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay
885
+ * fixed on the base entity.
886
+ *
887
+ */
888
+ variant_overridable?: boolean;
850
889
  default_value?: any;
851
890
  /**
852
891
  * Which group the attribute should appear in. Accepts group ID or group name
@@ -880,6 +919,16 @@ declare namespace Components {
880
919
  *
881
920
  */
882
921
  render_condition?: string;
922
+ /**
923
+ * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`).
924
+ *
925
+ * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data)
926
+ * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers)
927
+ *
928
+ * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields.
929
+ *
930
+ */
931
+ data_classification?: "public" | "pii";
883
932
  _purpose?: /**
884
933
  * example:
885
934
  * taxonomy-slug:classification-slug
@@ -973,10 +1022,8 @@ declare namespace Components {
973
1022
  repeatable?: boolean;
974
1023
  has_primary?: boolean;
975
1024
  /**
976
- * Controls how updates to this attribute are handled.
977
- * - `direct` (default): update is applied immediately. No changeset created.
978
- * - `external`: update creates a changeset, auto-cleared on matching external update (e.g. ERP inbound sync via ?direct=true).
979
- * - `approval`: update creates a changeset, requires explicit human approval.
1025
+ * Controls how updates to this attribute are handled. See the `EditMode`
1026
+ * schema for the per-mode semantics. Defaults to `direct`.
980
1027
  *
981
1028
  */
982
1029
  edit_mode?: "direct" | "external" | "approval";
@@ -1099,6 +1146,13 @@ declare namespace Components {
1099
1146
  required?: boolean;
1100
1147
  readonly?: boolean;
1101
1148
  deprecated?: boolean;
1149
+ /**
1150
+ * Allow conditional variants of the entity to override this attribute's value.
1151
+ * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay
1152
+ * fixed on the base entity.
1153
+ *
1154
+ */
1155
+ variant_overridable?: boolean;
1102
1156
  default_value?: any;
1103
1157
  /**
1104
1158
  * Which group the attribute should appear in. Accepts group ID or group name
@@ -1132,6 +1186,16 @@ declare namespace Components {
1132
1186
  *
1133
1187
  */
1134
1188
  render_condition?: string;
1189
+ /**
1190
+ * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`).
1191
+ *
1192
+ * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data)
1193
+ * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers)
1194
+ *
1195
+ * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields.
1196
+ *
1197
+ */
1198
+ data_classification?: "public" | "pii";
1135
1199
  _purpose?: /**
1136
1200
  * example:
1137
1201
  * taxonomy-slug:classification-slug
@@ -1225,10 +1289,8 @@ declare namespace Components {
1225
1289
  repeatable?: boolean;
1226
1290
  has_primary?: boolean;
1227
1291
  /**
1228
- * Controls how updates to this attribute are handled.
1229
- * - `direct` (default): update is applied immediately. No changeset created.
1230
- * - `external`: update creates a changeset, auto-cleared on matching external update (e.g. ERP inbound sync via ?direct=true).
1231
- * - `approval`: update creates a changeset, requires explicit human approval.
1292
+ * Controls how updates to this attribute are handled. See the `EditMode`
1293
+ * schema for the per-mode semantics. Defaults to `direct`.
1232
1294
  *
1233
1295
  */
1234
1296
  edit_mode?: "direct" | "external" | "approval";
@@ -1264,6 +1326,31 @@ declare namespace Components {
1264
1326
  FuzzyConfig;
1265
1327
  };
1266
1328
  }
1329
+ export interface BaseConditionDefinition {
1330
+ /**
1331
+ * Stable identity of the condition, generated by the client when the condition is
1332
+ * created. It is what makes a rename distinguishable from a remove + add, so it must
1333
+ * be round-tripped unchanged for the lifetime of the condition.
1334
+ *
1335
+ * example:
1336
+ * d5839b94-ba20-4225-a78e-76951d352bd6
1337
+ */
1338
+ id: string; // uuid
1339
+ /**
1340
+ * The key variant values are stored under. Unique within the schema and immutable
1341
+ * once the condition has been saved.
1342
+ *
1343
+ * example:
1344
+ * delivery_area
1345
+ */
1346
+ name: string; // ^[a-z0-9_]+$
1347
+ /**
1348
+ * Display label. Always editable.
1349
+ * example:
1350
+ * Delivery Area
1351
+ */
1352
+ label: string;
1353
+ }
1267
1354
  /**
1268
1355
  * example:
1269
1356
  * {
@@ -1347,8 +1434,12 @@ declare namespace Components {
1347
1434
  _manifest?: string /* uuid */[] | null;
1348
1435
  /**
1349
1436
  * Pending attribute changesets for attributes configured with external or approval edit mode.
1350
- * Read-only via normal entity PATCH/PUT operations — cannot be set directly.
1351
- * Use the changeset management endpoints to apply or dismiss changesets.
1437
+ *
1438
+ * The value shape is `Changeset` (`proposed_value`, `created_at`, `edit_mode`, ...)
1439
+ * and is what `:apply` / `:dismiss` operate on.
1440
+ *
1441
+ * Read-only via normal entity PATCH/PUT operations — those handlers strip `_changesets`
1442
+ * from request bodies. Use the changeset management endpoints to mutate this field.
1352
1443
  *
1353
1444
  */
1354
1445
  _changesets?: {
@@ -1387,6 +1478,13 @@ declare namespace Components {
1387
1478
  required?: boolean;
1388
1479
  readonly?: boolean;
1389
1480
  deprecated?: boolean;
1481
+ /**
1482
+ * Allow conditional variants of the entity to override this attribute's value.
1483
+ * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay
1484
+ * fixed on the base entity.
1485
+ *
1486
+ */
1487
+ variant_overridable?: boolean;
1390
1488
  default_value?: any;
1391
1489
  /**
1392
1490
  * Which group the attribute should appear in. Accepts group ID or group name
@@ -1420,6 +1518,16 @@ declare namespace Components {
1420
1518
  *
1421
1519
  */
1422
1520
  render_condition?: string;
1521
+ /**
1522
+ * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`).
1523
+ *
1524
+ * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data)
1525
+ * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers)
1526
+ *
1527
+ * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields.
1528
+ *
1529
+ */
1530
+ data_classification?: "public" | "pii";
1423
1531
  _purpose?: /**
1424
1532
  * example:
1425
1533
  * taxonomy-slug:classification-slug
@@ -1513,10 +1621,8 @@ declare namespace Components {
1513
1621
  repeatable?: boolean;
1514
1622
  has_primary?: boolean;
1515
1623
  /**
1516
- * Controls how updates to this attribute are handled.
1517
- * - `direct` (default): update is applied immediately. No changeset created.
1518
- * - `external`: update creates a changeset, auto-cleared on matching external update (e.g. ERP inbound sync via ?direct=true).
1519
- * - `approval`: update creates a changeset, requires explicit human approval.
1624
+ * Controls how updates to this attribute are handled. See the `EditMode`
1625
+ * schema for the per-mode semantics. Defaults to `direct`.
1520
1626
  *
1521
1627
  */
1522
1628
  edit_mode?: "direct" | "external" | "approval";
@@ -1684,6 +1790,13 @@ declare namespace Components {
1684
1790
  required?: boolean;
1685
1791
  readonly?: boolean;
1686
1792
  deprecated?: boolean;
1793
+ /**
1794
+ * Allow conditional variants of the entity to override this attribute's value.
1795
+ * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay
1796
+ * fixed on the base entity.
1797
+ *
1798
+ */
1799
+ variant_overridable?: boolean;
1687
1800
  default_value?: any;
1688
1801
  /**
1689
1802
  * Which group the attribute should appear in. Accepts group ID or group name
@@ -1717,6 +1830,16 @@ declare namespace Components {
1717
1830
  *
1718
1831
  */
1719
1832
  render_condition?: string;
1833
+ /**
1834
+ * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`).
1835
+ *
1836
+ * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data)
1837
+ * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers)
1838
+ *
1839
+ * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields.
1840
+ *
1841
+ */
1842
+ data_classification?: "public" | "pii";
1720
1843
  _purpose?: /**
1721
1844
  * example:
1722
1845
  * taxonomy-slug:classification-slug
@@ -1820,10 +1943,8 @@ declare namespace Components {
1820
1943
  repeatable?: boolean;
1821
1944
  has_primary?: boolean;
1822
1945
  /**
1823
- * Controls how updates to this attribute are handled.
1824
- * - `direct` (default): update is applied immediately. No changeset created.
1825
- * - `external`: update creates a changeset, auto-cleared on matching external update (e.g. ERP inbound sync via ?direct=true).
1826
- * - `approval`: update creates a changeset, requires explicit human approval.
1946
+ * Controls how updates to this attribute are handled. See the `EditMode`
1947
+ * schema for the per-mode semantics. Defaults to `direct`.
1827
1948
  *
1828
1949
  */
1829
1950
  edit_mode?: "direct" | "external" | "approval";
@@ -1869,6 +1990,19 @@ declare namespace Components {
1869
1990
  */
1870
1991
  currency_field?: string;
1871
1992
  }
1993
+ /**
1994
+ * One dimension that conditional variants of an entity type are keyed by. `type`
1995
+ * discriminates the variants: only a `select` condition carries `values`, and only a
1996
+ * `location` condition carries `format`.
1997
+ *
1998
+ */
1999
+ export type ConditionDefinition = /**
2000
+ * One dimension that conditional variants of an entity type are keyed by. `type`
2001
+ * discriminates the variants: only a `select` condition carries `values`, and only a
2002
+ * `location` condition carries `format`.
2003
+ *
2004
+ */
2005
+ /* A condition whose value is a plain scalar, with no further configuration. */ ScalarConditionDefinition | /* A condition whose value is one of a fixed set of options. */ SelectConditionDefinition | /* A condition whose value identifies a place. */ LocationConditionDefinition;
1872
2006
  /**
1873
2007
  * Consent Management
1874
2008
  */
@@ -1897,6 +2031,13 @@ declare namespace Components {
1897
2031
  required?: boolean;
1898
2032
  readonly?: boolean;
1899
2033
  deprecated?: boolean;
2034
+ /**
2035
+ * Allow conditional variants of the entity to override this attribute's value.
2036
+ * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay
2037
+ * fixed on the base entity.
2038
+ *
2039
+ */
2040
+ variant_overridable?: boolean;
1900
2041
  default_value?: any;
1901
2042
  /**
1902
2043
  * Which group the attribute should appear in. Accepts group ID or group name
@@ -1930,6 +2071,16 @@ declare namespace Components {
1930
2071
  *
1931
2072
  */
1932
2073
  render_condition?: string;
2074
+ /**
2075
+ * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`).
2076
+ *
2077
+ * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data)
2078
+ * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers)
2079
+ *
2080
+ * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields.
2081
+ *
2082
+ */
2083
+ data_classification?: "public" | "pii";
1933
2084
  _purpose?: /**
1934
2085
  * example:
1935
2086
  * taxonomy-slug:classification-slug
@@ -2023,10 +2174,8 @@ declare namespace Components {
2023
2174
  repeatable?: boolean;
2024
2175
  has_primary?: boolean;
2025
2176
  /**
2026
- * Controls how updates to this attribute are handled.
2027
- * - `direct` (default): update is applied immediately. No changeset created.
2028
- * - `external`: update creates a changeset, auto-cleared on matching external update (e.g. ERP inbound sync via ?direct=true).
2029
- * - `approval`: update creates a changeset, requires explicit human approval.
2177
+ * Controls how updates to this attribute are handled. See the `EditMode`
2178
+ * schema for the per-mode semantics. Defaults to `direct`.
2030
2179
  *
2031
2180
  */
2032
2181
  edit_mode?: "direct" | "external" | "approval";
@@ -2093,6 +2242,13 @@ declare namespace Components {
2093
2242
  required?: boolean;
2094
2243
  readonly?: boolean;
2095
2244
  deprecated?: boolean;
2245
+ /**
2246
+ * Allow conditional variants of the entity to override this attribute's value.
2247
+ * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay
2248
+ * fixed on the base entity.
2249
+ *
2250
+ */
2251
+ variant_overridable?: boolean;
2096
2252
  default_value?: any;
2097
2253
  /**
2098
2254
  * Which group the attribute should appear in. Accepts group ID or group name
@@ -2126,6 +2282,16 @@ declare namespace Components {
2126
2282
  *
2127
2283
  */
2128
2284
  render_condition?: string;
2285
+ /**
2286
+ * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`).
2287
+ *
2288
+ * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data)
2289
+ * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers)
2290
+ *
2291
+ * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields.
2292
+ *
2293
+ */
2294
+ data_classification?: "public" | "pii";
2129
2295
  _purpose?: /**
2130
2296
  * example:
2131
2297
  * taxonomy-slug:classification-slug
@@ -2219,10 +2385,8 @@ declare namespace Components {
2219
2385
  repeatable?: boolean;
2220
2386
  has_primary?: boolean;
2221
2387
  /**
2222
- * Controls how updates to this attribute are handled.
2223
- * - `direct` (default): update is applied immediately. No changeset created.
2224
- * - `external`: update creates a changeset, auto-cleared on matching external update (e.g. ERP inbound sync via ?direct=true).
2225
- * - `approval`: update creates a changeset, requires explicit human approval.
2388
+ * Controls how updates to this attribute are handled. See the `EditMode`
2389
+ * schema for the per-mode semantics. Defaults to `direct`.
2226
2390
  *
2227
2391
  */
2228
2392
  edit_mode?: "direct" | "external" | "approval";
@@ -2287,6 +2451,13 @@ declare namespace Components {
2287
2451
  required?: boolean;
2288
2452
  readonly?: boolean;
2289
2453
  deprecated?: boolean;
2454
+ /**
2455
+ * Allow conditional variants of the entity to override this attribute's value.
2456
+ * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay
2457
+ * fixed on the base entity.
2458
+ *
2459
+ */
2460
+ variant_overridable?: boolean;
2290
2461
  default_value?: any;
2291
2462
  /**
2292
2463
  * Which group the attribute should appear in. Accepts group ID or group name
@@ -2320,6 +2491,16 @@ declare namespace Components {
2320
2491
  *
2321
2492
  */
2322
2493
  render_condition?: string;
2494
+ /**
2495
+ * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`).
2496
+ *
2497
+ * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data)
2498
+ * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers)
2499
+ *
2500
+ * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields.
2501
+ *
2502
+ */
2503
+ data_classification?: "public" | "pii";
2323
2504
  _purpose?: /**
2324
2505
  * example:
2325
2506
  * taxonomy-slug:classification-slug
@@ -2413,10 +2594,8 @@ declare namespace Components {
2413
2594
  repeatable?: boolean;
2414
2595
  has_primary?: boolean;
2415
2596
  /**
2416
- * Controls how updates to this attribute are handled.
2417
- * - `direct` (default): update is applied immediately. No changeset created.
2418
- * - `external`: update creates a changeset, auto-cleared on matching external update (e.g. ERP inbound sync via ?direct=true).
2419
- * - `approval`: update creates a changeset, requires explicit human approval.
2597
+ * Controls how updates to this attribute are handled. See the `EditMode`
2598
+ * schema for the per-mode semantics. Defaults to `direct`.
2420
2599
  *
2421
2600
  */
2422
2601
  edit_mode?: "direct" | "external" | "approval";
@@ -2491,6 +2670,13 @@ declare namespace Components {
2491
2670
  required?: boolean;
2492
2671
  readonly?: boolean;
2493
2672
  deprecated?: boolean;
2673
+ /**
2674
+ * Allow conditional variants of the entity to override this attribute's value.
2675
+ * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay
2676
+ * fixed on the base entity.
2677
+ *
2678
+ */
2679
+ variant_overridable?: boolean;
2494
2680
  default_value?: any;
2495
2681
  /**
2496
2682
  * Which group the attribute should appear in. Accepts group ID or group name
@@ -2524,6 +2710,16 @@ declare namespace Components {
2524
2710
  *
2525
2711
  */
2526
2712
  render_condition?: string;
2713
+ /**
2714
+ * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`).
2715
+ *
2716
+ * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data)
2717
+ * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers)
2718
+ *
2719
+ * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields.
2720
+ *
2721
+ */
2722
+ data_classification?: "public" | "pii";
2527
2723
  _purpose?: /**
2528
2724
  * example:
2529
2725
  * taxonomy-slug:classification-slug
@@ -2617,10 +2813,8 @@ declare namespace Components {
2617
2813
  repeatable?: boolean;
2618
2814
  has_primary?: boolean;
2619
2815
  /**
2620
- * Controls how updates to this attribute are handled.
2621
- * - `direct` (default): update is applied immediately. No changeset created.
2622
- * - `external`: update creates a changeset, auto-cleared on matching external update (e.g. ERP inbound sync via ?direct=true).
2623
- * - `approval`: update creates a changeset, requires explicit human approval.
2816
+ * Controls how updates to this attribute are handled. See the `EditMode`
2817
+ * schema for the per-mode semantics. Defaults to `direct`.
2624
2818
  *
2625
2819
  */
2626
2820
  edit_mode?: "direct" | "external" | "approval";
@@ -2693,6 +2887,19 @@ declare namespace Components {
2693
2887
  */
2694
2888
  cluster?: string;
2695
2889
  }
2890
+ /**
2891
+ * Controls whether a write goes through immediately or is held as a pending entry
2892
+ * on the parent entity's `_changesets` map.
2893
+ *
2894
+ * - `direct`: write applied immediately. No changeset created.
2895
+ * - `external`: write held as a pending changeset; auto-cleared on a matching direct/ERP write.
2896
+ * - `approval`: write held as a pending changeset; requires explicit human apply/dismiss.
2897
+ *
2898
+ * Used at two levels: per-attribute (entity-attribute changesets) and per-capability
2899
+ * (currently the `meter_readings` capability on the Meter schema, gating reading submissions).
2900
+ *
2901
+ */
2902
+ export type EditMode = "direct" | "external" | "approval";
2696
2903
  /**
2697
2904
  * Configuration for `edit_mode: external` auto-clear matching.
2698
2905
  * Fields here (`match_strategy`, `fuzzy_config`) only take effect when
@@ -2753,6 +2960,13 @@ declare namespace Components {
2753
2960
  required?: boolean;
2754
2961
  readonly?: boolean;
2755
2962
  deprecated?: boolean;
2963
+ /**
2964
+ * Allow conditional variants of the entity to override this attribute's value.
2965
+ * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay
2966
+ * fixed on the base entity.
2967
+ *
2968
+ */
2969
+ variant_overridable?: boolean;
2756
2970
  default_value?: any;
2757
2971
  /**
2758
2972
  * Which group the attribute should appear in. Accepts group ID or group name
@@ -2786,6 +3000,16 @@ declare namespace Components {
2786
3000
  *
2787
3001
  */
2788
3002
  render_condition?: string;
3003
+ /**
3004
+ * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`).
3005
+ *
3006
+ * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data)
3007
+ * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers)
3008
+ *
3009
+ * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields.
3010
+ *
3011
+ */
3012
+ data_classification?: "public" | "pii";
2789
3013
  _purpose?: /**
2790
3014
  * example:
2791
3015
  * taxonomy-slug:classification-slug
@@ -2879,10 +3103,8 @@ declare namespace Components {
2879
3103
  repeatable?: boolean;
2880
3104
  has_primary?: boolean;
2881
3105
  /**
2882
- * Controls how updates to this attribute are handled.
2883
- * - `direct` (default): update is applied immediately. No changeset created.
2884
- * - `external`: update creates a changeset, auto-cleared on matching external update (e.g. ERP inbound sync via ?direct=true).
2885
- * - `approval`: update creates a changeset, requires explicit human approval.
3106
+ * Controls how updates to this attribute are handled. See the `EditMode`
3107
+ * schema for the per-mode semantics. Defaults to `direct`.
2886
3108
  *
2887
3109
  */
2888
3110
  edit_mode?: "direct" | "external" | "approval";
@@ -3002,8 +3224,12 @@ declare namespace Components {
3002
3224
  _manifest?: string /* uuid */[] | null;
3003
3225
  /**
3004
3226
  * Pending attribute changesets for attributes configured with external or approval edit mode.
3005
- * Read-only via normal entity PATCH/PUT operations — cannot be set directly.
3006
- * Use the changeset management endpoints to apply or dismiss changesets.
3227
+ *
3228
+ * The value shape is `Changeset` (`proposed_value`, `created_at`, `edit_mode`, ...)
3229
+ * and is what `:apply` / `:dismiss` operate on.
3230
+ *
3231
+ * Read-only via normal entity PATCH/PUT operations — those handlers strip `_changesets`
3232
+ * from request bodies. Use the changeset management endpoints to mutate this field.
3007
3233
  *
3008
3234
  */
3009
3235
  _changesets?: {
@@ -3506,8 +3732,12 @@ declare namespace Components {
3506
3732
  _manifest?: string /* uuid */[] | null;
3507
3733
  /**
3508
3734
  * Pending attribute changesets for attributes configured with external or approval edit mode.
3509
- * Read-only via normal entity PATCH/PUT operations — cannot be set directly.
3510
- * Use the changeset management endpoints to apply or dismiss changesets.
3735
+ *
3736
+ * The value shape is `Changeset` (`proposed_value`, `created_at`, `edit_mode`, ...)
3737
+ * and is what `:apply` / `:dismiss` operate on.
3738
+ *
3739
+ * Read-only via normal entity PATCH/PUT operations — those handlers strip `_changesets`
3740
+ * from request bodies. Use the changeset management endpoints to mutate this field.
3511
3741
  *
3512
3742
  */
3513
3743
  _changesets?: {
@@ -3590,6 +3820,13 @@ declare namespace Components {
3590
3820
  * When true, enables entity hydration to resolve nested $relation & $relation_ref references in-place.
3591
3821
  */
3592
3822
  hydrate?: boolean;
3823
+ /**
3824
+ * When true, anonymizes PII in the response: identifiers are replaced with deterministic pseudonyms,
3825
+ * addresses are generalized and well-known free-text fields are redacted.
3826
+ * Anonymization is forced (regardless of this parameter) when the access token was created with `anonymize: true`.
3827
+ *
3828
+ */
3829
+ anonymize?: boolean;
3593
3830
  fields?: /**
3594
3831
  * List of entity fields to include or exclude in the response
3595
3832
  *
@@ -3797,8 +4034,12 @@ declare namespace Components {
3797
4034
  _manifest?: string /* uuid */[] | null;
3798
4035
  /**
3799
4036
  * Pending attribute changesets for attributes configured with external or approval edit mode.
3800
- * Read-only via normal entity PATCH/PUT operations — cannot be set directly.
3801
- * Use the changeset management endpoints to apply or dismiss changesets.
4037
+ *
4038
+ * The value shape is `Changeset` (`proposed_value`, `created_at`, `edit_mode`, ...)
4039
+ * and is what `:apply` / `:dismiss` operate on.
4040
+ *
4041
+ * Read-only via normal entity PATCH/PUT operations — those handlers strip `_changesets`
4042
+ * from request bodies. Use the changeset management endpoints to mutate this field.
3802
4043
  *
3803
4044
  */
3804
4045
  _changesets?: {
@@ -3890,8 +4131,12 @@ declare namespace Components {
3890
4131
  _manifest?: string /* uuid */[] | null;
3891
4132
  /**
3892
4133
  * Pending attribute changesets for attributes configured with external or approval edit mode.
3893
- * Read-only via normal entity PATCH/PUT operations — cannot be set directly.
3894
- * Use the changeset management endpoints to apply or dismiss changesets.
4134
+ *
4135
+ * The value shape is `Changeset` (`proposed_value`, `created_at`, `edit_mode`, ...)
4136
+ * and is what `:apply` / `:dismiss` operate on.
4137
+ *
4138
+ * Read-only via normal entity PATCH/PUT operations — those handlers strip `_changesets`
4139
+ * from request bodies. Use the changeset management endpoints to mutate this field.
3895
4140
  *
3896
4141
  */
3897
4142
  _changesets?: {
@@ -3982,8 +4227,12 @@ declare namespace Components {
3982
4227
  _manifest?: string /* uuid */[] | null;
3983
4228
  /**
3984
4229
  * Pending attribute changesets for attributes configured with external or approval edit mode.
3985
- * Read-only via normal entity PATCH/PUT operations — cannot be set directly.
3986
- * Use the changeset management endpoints to apply or dismiss changesets.
4230
+ *
4231
+ * The value shape is `Changeset` (`proposed_value`, `created_at`, `edit_mode`, ...)
4232
+ * and is what `:apply` / `:dismiss` operate on.
4233
+ *
4234
+ * Read-only via normal entity PATCH/PUT operations — those handlers strip `_changesets`
4235
+ * from request bodies. Use the changeset management endpoints to mutate this field.
3987
4236
  *
3988
4237
  */
3989
4238
  _changesets?: {
@@ -4074,8 +4323,12 @@ declare namespace Components {
4074
4323
  _manifest?: string /* uuid */[] | null;
4075
4324
  /**
4076
4325
  * Pending attribute changesets for attributes configured with external or approval edit mode.
4077
- * Read-only via normal entity PATCH/PUT operations — cannot be set directly.
4078
- * Use the changeset management endpoints to apply or dismiss changesets.
4326
+ *
4327
+ * The value shape is `Changeset` (`proposed_value`, `created_at`, `edit_mode`, ...)
4328
+ * and is what `:apply` / `:dismiss` operate on.
4329
+ *
4330
+ * Read-only via normal entity PATCH/PUT operations — those handlers strip `_changesets`
4331
+ * from request bodies. Use the changeset management endpoints to mutate this field.
4079
4332
  *
4080
4333
  */
4081
4334
  _changesets?: {
@@ -4083,6 +4336,7 @@ declare namespace Components {
4083
4336
  } | null;
4084
4337
  };
4085
4338
  };
4339
+ source_context?: /* Billing and audit source context for the operation event. */ EntityOperationSourceContext;
4086
4340
  /**
4087
4341
  * Internal property for workflow origin tracking and infinite loop prevention.
4088
4342
  * Populated when an entity update originates from a workflow execution.
@@ -4099,6 +4353,34 @@ declare namespace Components {
4099
4353
  */
4100
4354
  flow_template_id?: string;
4101
4355
  };
4356
+ /**
4357
+ * Ordered automation flow ids that caused this change; used to break multi-automation trigger loops.
4358
+ */
4359
+ _automation_chain?: string[];
4360
+ }
4361
+ /**
4362
+ * Billing and audit source context for the operation event.
4363
+ */
4364
+ export interface EntityOperationSourceContext {
4365
+ /**
4366
+ * Normalized source bucket for the operation.
4367
+ */
4368
+ source: "portal" | "epilot" | "erp" | "system" | "api" | "external" | "journey" | "automation" | "unknown";
4369
+ /**
4370
+ * Original free-form source label from the caller or changeset, when available.
4371
+ */
4372
+ source_label?: string;
4373
+ /**
4374
+ * Optional upstream system label, for example an ERP system name.
4375
+ */
4376
+ source_system?: string;
4377
+ /**
4378
+ * Optional upstream change reference.
4379
+ */
4380
+ source_reference?: string;
4381
+ actor_type?: "user" | "portal_user" | "api_client" | "automation" | "system";
4382
+ actor_id?: string;
4383
+ effective_at?: string; // date-time
4102
4384
  }
4103
4385
  /**
4104
4386
  * The user / organization owning this entity.
@@ -4252,6 +4534,27 @@ declare namespace Components {
4252
4534
  */
4253
4535
  show_sharing_button?: boolean;
4254
4536
  };
4537
+ /**
4538
+ * Widget-grid layout for the entity-details page (builder-authored); columns/cells drive the grid geometry.
4539
+ */
4540
+ grid_layout?: {
4541
+ /**
4542
+ * Identifier of the chosen grid-layout preset.
4543
+ */
4544
+ id?: string;
4545
+ /**
4546
+ * Number of columns in the widget grid.
4547
+ */
4548
+ columns?: number;
4549
+ /**
4550
+ * Per-cell column span, positionally paired with the widgets in order.
4551
+ */
4552
+ cells?: number[];
4553
+ };
4554
+ /**
4555
+ * Ordered list of widget ids controlling the entity-details widget-grid order. Each id is a capability widget's `component` (or `summary` for the synthesized summary card); widgets absent from the list keep their natural order at the end.
4556
+ */
4557
+ widget_order?: string[];
4255
4558
  };
4256
4559
  capabilities: /* Capabilities the Entity has. Turn features on/off for entities. */ EntityCapability[];
4257
4560
  /**
@@ -4363,6 +4666,20 @@ declare namespace Components {
4363
4666
  */
4364
4667
  SearchMappings;
4365
4668
  group_headlines?: GroupHeadline[];
4669
+ /**
4670
+ * Dimensions that conditional variants of this entity type are keyed by.
4671
+ *
4672
+ * Absent or `null` means entities of this type are not conditional. Attributes whose
4673
+ * values a variant may override are marked with `variant_overridable`.
4674
+ *
4675
+ */
4676
+ conditions?: /**
4677
+ * One dimension that conditional variants of an entity type are keyed by. `type`
4678
+ * discriminates the variants: only a `select` condition carries `values`, and only a
4679
+ * `location` condition carries `format`.
4680
+ *
4681
+ */
4682
+ ConditionDefinition[] | null;
4366
4683
  }
4367
4684
  export interface EntitySchemaGroup {
4368
4685
  /**
@@ -4648,6 +4965,27 @@ declare namespace Components {
4648
4965
  */
4649
4966
  show_sharing_button?: boolean;
4650
4967
  };
4968
+ /**
4969
+ * Widget-grid layout for the entity-details page (builder-authored); columns/cells drive the grid geometry.
4970
+ */
4971
+ grid_layout?: {
4972
+ /**
4973
+ * Identifier of the chosen grid-layout preset.
4974
+ */
4975
+ id?: string;
4976
+ /**
4977
+ * Number of columns in the widget grid.
4978
+ */
4979
+ columns?: number;
4980
+ /**
4981
+ * Per-cell column span, positionally paired with the widgets in order.
4982
+ */
4983
+ cells?: number[];
4984
+ };
4985
+ /**
4986
+ * Ordered list of widget ids controlling the entity-details widget-grid order. Each id is a capability widget's `component` (or `summary` for the synthesized summary card); widgets absent from the list keep their natural order at the end.
4987
+ */
4988
+ widget_order?: string[];
4651
4989
  };
4652
4990
  capabilities: /* Capabilities the Entity has. Turn features on/off for entities. */ EntityCapability[];
4653
4991
  /**
@@ -4759,6 +5097,20 @@ declare namespace Components {
4759
5097
  */
4760
5098
  SearchMappings;
4761
5099
  group_headlines?: GroupHeadline[];
5100
+ /**
5101
+ * Dimensions that conditional variants of this entity type are keyed by.
5102
+ *
5103
+ * Absent or `null` means entities of this type are not conditional. Attributes whose
5104
+ * values a variant may override are marked with `variant_overridable`.
5105
+ *
5106
+ */
5107
+ conditions?: /**
5108
+ * One dimension that conditional variants of an entity type are keyed by. `type`
5109
+ * discriminates the variants: only a `select` condition carries `values`, and only a
5110
+ * `location` condition carries `format`.
5111
+ *
5112
+ */
5113
+ ConditionDefinition[] | null;
4762
5114
  }
4763
5115
  /**
4764
5116
  * Whether to include deleted entities in the search results
@@ -4789,6 +5141,13 @@ declare namespace Components {
4789
5141
  * When true, enables entity hydration to resolve nested $relation & $relation_ref references in-place.
4790
5142
  */
4791
5143
  hydrate?: boolean;
5144
+ /**
5145
+ * When true, anonymizes PII in the response: identifiers are replaced with deterministic pseudonyms,
5146
+ * addresses are generalized and well-known free-text fields are redacted.
5147
+ * Anonymization is forced (regardless of this parameter) when the access token was created with `anonymize: true`.
5148
+ *
5149
+ */
5150
+ anonymize?: boolean;
4792
5151
  fields?: /**
4793
5152
  * List of entity fields to include or exclude in the response
4794
5153
  *
@@ -4889,6 +5248,13 @@ declare namespace Components {
4889
5248
  * When true, enables entity hydration to resolve nested $relation & $relation_ref references in-place.
4890
5249
  */
4891
5250
  hydrate?: boolean;
5251
+ /**
5252
+ * When true, anonymizes PII in the response: identifiers are replaced with deterministic pseudonyms,
5253
+ * addresses are generalized and well-known free-text fields are redacted.
5254
+ * Anonymization is forced (regardless of this parameter) when the access token was created with `anonymize: true`.
5255
+ *
5256
+ */
5257
+ anonymize?: boolean;
4892
5258
  fields?: /**
4893
5259
  * List of entity fields to include or exclude in the response
4894
5260
  *
@@ -5289,6 +5655,13 @@ declare namespace Components {
5289
5655
  required?: boolean;
5290
5656
  readonly?: boolean;
5291
5657
  deprecated?: boolean;
5658
+ /**
5659
+ * Allow conditional variants of the entity to override this attribute's value.
5660
+ * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay
5661
+ * fixed on the base entity.
5662
+ *
5663
+ */
5664
+ variant_overridable?: boolean;
5292
5665
  default_value?: any;
5293
5666
  /**
5294
5667
  * Which group the attribute should appear in. Accepts group ID or group name
@@ -5322,6 +5695,16 @@ declare namespace Components {
5322
5695
  *
5323
5696
  */
5324
5697
  render_condition?: string;
5698
+ /**
5699
+ * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`).
5700
+ *
5701
+ * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data)
5702
+ * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers)
5703
+ *
5704
+ * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields.
5705
+ *
5706
+ */
5707
+ data_classification?: "public" | "pii";
5325
5708
  _purpose?: /**
5326
5709
  * example:
5327
5710
  * taxonomy-slug:classification-slug
@@ -5415,10 +5798,8 @@ declare namespace Components {
5415
5798
  repeatable?: boolean;
5416
5799
  has_primary?: boolean;
5417
5800
  /**
5418
- * Controls how updates to this attribute are handled.
5419
- * - `direct` (default): update is applied immediately. No changeset created.
5420
- * - `external`: update creates a changeset, auto-cleared on matching external update (e.g. ERP inbound sync via ?direct=true).
5421
- * - `approval`: update creates a changeset, requires explicit human approval.
5801
+ * Controls how updates to this attribute are handled. See the `EditMode`
5802
+ * schema for the per-mode semantics. Defaults to `direct`.
5422
5803
  *
5423
5804
  */
5424
5805
  edit_mode?: "direct" | "external" | "approval";
@@ -6125,8 +6506,12 @@ declare namespace Components {
6125
6506
  _manifest?: string /* uuid */[] | null;
6126
6507
  /**
6127
6508
  * Pending attribute changesets for attributes configured with external or approval edit mode.
6128
- * Read-only via normal entity PATCH/PUT operations — cannot be set directly.
6129
- * Use the changeset management endpoints to apply or dismiss changesets.
6509
+ *
6510
+ * The value shape is `Changeset` (`proposed_value`, `created_at`, `edit_mode`, ...)
6511
+ * and is what `:apply` / `:dismiss` operate on.
6512
+ *
6513
+ * Read-only via normal entity PATCH/PUT operations — those handlers strip `_changesets`
6514
+ * from request bodies. Use the changeset management endpoints to mutate this field.
6130
6515
  *
6131
6516
  */
6132
6517
  _changesets?: {
@@ -6164,6 +6549,13 @@ declare namespace Components {
6164
6549
  required?: boolean;
6165
6550
  readonly?: boolean;
6166
6551
  deprecated?: boolean;
6552
+ /**
6553
+ * Allow conditional variants of the entity to override this attribute's value.
6554
+ * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay
6555
+ * fixed on the base entity.
6556
+ *
6557
+ */
6558
+ variant_overridable?: boolean;
6167
6559
  default_value?: any;
6168
6560
  /**
6169
6561
  * Which group the attribute should appear in. Accepts group ID or group name
@@ -6197,6 +6589,16 @@ declare namespace Components {
6197
6589
  *
6198
6590
  */
6199
6591
  render_condition?: string;
6592
+ /**
6593
+ * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`).
6594
+ *
6595
+ * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data)
6596
+ * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers)
6597
+ *
6598
+ * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields.
6599
+ *
6600
+ */
6601
+ data_classification?: "public" | "pii";
6200
6602
  _purpose?: /**
6201
6603
  * example:
6202
6604
  * taxonomy-slug:classification-slug
@@ -6290,10 +6692,8 @@ declare namespace Components {
6290
6692
  repeatable?: boolean;
6291
6693
  has_primary?: boolean;
6292
6694
  /**
6293
- * Controls how updates to this attribute are handled.
6294
- * - `direct` (default): update is applied immediately. No changeset created.
6295
- * - `external`: update creates a changeset, auto-cleared on matching external update (e.g. ERP inbound sync via ?direct=true).
6296
- * - `approval`: update creates a changeset, requires explicit human approval.
6695
+ * Controls how updates to this attribute are handled. See the `EditMode`
6696
+ * schema for the per-mode semantics. Defaults to `direct`.
6297
6697
  *
6298
6698
  */
6299
6699
  edit_mode?: "direct" | "external" | "approval";
@@ -6358,6 +6758,13 @@ declare namespace Components {
6358
6758
  required?: boolean;
6359
6759
  readonly?: boolean;
6360
6760
  deprecated?: boolean;
6761
+ /**
6762
+ * Allow conditional variants of the entity to override this attribute's value.
6763
+ * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay
6764
+ * fixed on the base entity.
6765
+ *
6766
+ */
6767
+ variant_overridable?: boolean;
6361
6768
  default_value?: any;
6362
6769
  /**
6363
6770
  * Which group the attribute should appear in. Accepts group ID or group name
@@ -6391,6 +6798,16 @@ declare namespace Components {
6391
6798
  *
6392
6799
  */
6393
6800
  render_condition?: string;
6801
+ /**
6802
+ * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`).
6803
+ *
6804
+ * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data)
6805
+ * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers)
6806
+ *
6807
+ * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields.
6808
+ *
6809
+ */
6810
+ data_classification?: "public" | "pii";
6394
6811
  _purpose?: /**
6395
6812
  * example:
6396
6813
  * taxonomy-slug:classification-slug
@@ -6484,10 +6901,8 @@ declare namespace Components {
6484
6901
  repeatable?: boolean;
6485
6902
  has_primary?: boolean;
6486
6903
  /**
6487
- * Controls how updates to this attribute are handled.
6488
- * - `direct` (default): update is applied immediately. No changeset created.
6489
- * - `external`: update creates a changeset, auto-cleared on matching external update (e.g. ERP inbound sync via ?direct=true).
6490
- * - `approval`: update creates a changeset, requires explicit human approval.
6904
+ * Controls how updates to this attribute are handled. See the `EditMode`
6905
+ * schema for the per-mode semantics. Defaults to `direct`.
6491
6906
  *
6492
6907
  */
6493
6908
  edit_mode?: "direct" | "external" | "approval";
@@ -6552,6 +6967,13 @@ declare namespace Components {
6552
6967
  required?: boolean;
6553
6968
  readonly?: boolean;
6554
6969
  deprecated?: boolean;
6970
+ /**
6971
+ * Allow conditional variants of the entity to override this attribute's value.
6972
+ * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay
6973
+ * fixed on the base entity.
6974
+ *
6975
+ */
6976
+ variant_overridable?: boolean;
6555
6977
  default_value?: any;
6556
6978
  /**
6557
6979
  * Which group the attribute should appear in. Accepts group ID or group name
@@ -6585,6 +7007,16 @@ declare namespace Components {
6585
7007
  *
6586
7008
  */
6587
7009
  render_condition?: string;
7010
+ /**
7011
+ * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`).
7012
+ *
7013
+ * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data)
7014
+ * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers)
7015
+ *
7016
+ * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields.
7017
+ *
7018
+ */
7019
+ data_classification?: "public" | "pii";
6588
7020
  _purpose?: /**
6589
7021
  * example:
6590
7022
  * taxonomy-slug:classification-slug
@@ -6678,10 +7110,8 @@ declare namespace Components {
6678
7110
  repeatable?: boolean;
6679
7111
  has_primary?: boolean;
6680
7112
  /**
6681
- * Controls how updates to this attribute are handled.
6682
- * - `direct` (default): update is applied immediately. No changeset created.
6683
- * - `external`: update creates a changeset, auto-cleared on matching external update (e.g. ERP inbound sync via ?direct=true).
6684
- * - `approval`: update creates a changeset, requires explicit human approval.
7113
+ * Controls how updates to this attribute are handled. See the `EditMode`
7114
+ * schema for the per-mode semantics. Defaults to `direct`.
6685
7115
  *
6686
7116
  */
6687
7117
  edit_mode?: "direct" | "external" | "approval";
@@ -6754,6 +7184,13 @@ declare namespace Components {
6754
7184
  required?: boolean;
6755
7185
  readonly?: boolean;
6756
7186
  deprecated?: boolean;
7187
+ /**
7188
+ * Allow conditional variants of the entity to override this attribute's value.
7189
+ * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay
7190
+ * fixed on the base entity.
7191
+ *
7192
+ */
7193
+ variant_overridable?: boolean;
6757
7194
  default_value?: any;
6758
7195
  /**
6759
7196
  * Which group the attribute should appear in. Accepts group ID or group name
@@ -6787,6 +7224,16 @@ declare namespace Components {
6787
7224
  *
6788
7225
  */
6789
7226
  render_condition?: string;
7227
+ /**
7228
+ * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`).
7229
+ *
7230
+ * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data)
7231
+ * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers)
7232
+ *
7233
+ * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields.
7234
+ *
7235
+ */
7236
+ data_classification?: "public" | "pii";
6790
7237
  _purpose?: /**
6791
7238
  * example:
6792
7239
  * taxonomy-slug:classification-slug
@@ -6880,10 +7327,8 @@ declare namespace Components {
6880
7327
  repeatable?: boolean;
6881
7328
  has_primary?: boolean;
6882
7329
  /**
6883
- * Controls how updates to this attribute are handled.
6884
- * - `direct` (default): update is applied immediately. No changeset created.
6885
- * - `external`: update creates a changeset, auto-cleared on matching external update (e.g. ERP inbound sync via ?direct=true).
6886
- * - `approval`: update creates a changeset, requires explicit human approval.
7330
+ * Controls how updates to this attribute are handled. See the `EditMode`
7331
+ * schema for the per-mode semantics. Defaults to `direct`.
6887
7332
  *
6888
7333
  */
6889
7334
  edit_mode?: "direct" | "external" | "approval";
@@ -6928,6 +7373,42 @@ declare namespace Components {
6928
7373
  hits?: number;
6929
7374
  results?: /* A saved entity view */ SavedViewItem[];
6930
7375
  }
7376
+ /**
7377
+ * A condition whose value identifies a place.
7378
+ */
7379
+ export interface LocationConditionDefinition {
7380
+ /**
7381
+ * Stable identity of the condition, generated by the client when the condition is
7382
+ * created. It is what makes a rename distinguishable from a remove + add, so it must
7383
+ * be round-tripped unchanged for the lifetime of the condition.
7384
+ *
7385
+ * example:
7386
+ * d5839b94-ba20-4225-a78e-76951d352bd6
7387
+ */
7388
+ id: string; // uuid
7389
+ /**
7390
+ * The key variant values are stored under. Unique within the schema and immutable
7391
+ * once the condition has been saved.
7392
+ *
7393
+ * example:
7394
+ * delivery_area
7395
+ */
7396
+ name: string; // ^[a-z0-9_]+$
7397
+ /**
7398
+ * Display label. Always editable.
7399
+ * example:
7400
+ * Delivery Area
7401
+ */
7402
+ label: string;
7403
+ /**
7404
+ * Immutable once the condition has been saved.
7405
+ */
7406
+ type: "location";
7407
+ /**
7408
+ * The shape of the location value. Immutable once the condition has been saved.
7409
+ */
7410
+ format?: "zipcode" | "zipcode_town";
7411
+ }
6931
7412
  /**
6932
7413
  * Strategy for auto-clearing a changeset on an `edit_mode: external` attribute
6933
7414
  * when a direct write (`?direct=true`) arrives — typically an ERP inbound sync.
@@ -6967,6 +7448,13 @@ declare namespace Components {
6967
7448
  required?: boolean;
6968
7449
  readonly?: boolean;
6969
7450
  deprecated?: boolean;
7451
+ /**
7452
+ * Allow conditional variants of the entity to override this attribute's value.
7453
+ * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay
7454
+ * fixed on the base entity.
7455
+ *
7456
+ */
7457
+ variant_overridable?: boolean;
6970
7458
  default_value?: any;
6971
7459
  /**
6972
7460
  * Which group the attribute should appear in. Accepts group ID or group name
@@ -7000,6 +7488,16 @@ declare namespace Components {
7000
7488
  *
7001
7489
  */
7002
7490
  render_condition?: string;
7491
+ /**
7492
+ * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`).
7493
+ *
7494
+ * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data)
7495
+ * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers)
7496
+ *
7497
+ * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields.
7498
+ *
7499
+ */
7500
+ data_classification?: "public" | "pii";
7003
7501
  _purpose?: /**
7004
7502
  * example:
7005
7503
  * taxonomy-slug:classification-slug
@@ -7093,10 +7591,8 @@ declare namespace Components {
7093
7591
  repeatable?: boolean;
7094
7592
  has_primary?: boolean;
7095
7593
  /**
7096
- * Controls how updates to this attribute are handled.
7097
- * - `direct` (default): update is applied immediately. No changeset created.
7098
- * - `external`: update creates a changeset, auto-cleared on matching external update (e.g. ERP inbound sync via ?direct=true).
7099
- * - `approval`: update creates a changeset, requires explicit human approval.
7594
+ * Controls how updates to this attribute are handled. See the `EditMode`
7595
+ * schema for the per-mode semantics. Defaults to `direct`.
7100
7596
  *
7101
7597
  */
7102
7598
  edit_mode?: "direct" | "external" | "approval";
@@ -7136,6 +7632,90 @@ declare namespace Components {
7136
7632
  send_status?: string;
7137
7633
  email_type?: string;
7138
7634
  }
7635
+ /**
7636
+ * A meter readings changeset entry — service-managed by metering-api.
7637
+ * Stored on `Meter._meter_readings_changeset` array attribute. Each entry mirrors a
7638
+ * ClickHouse meter reading row plus a changeset metadata overlay.
7639
+ *
7640
+ * Note: `org_id` is NOT stored on the entry. The entries live on the Meter entity,
7641
+ * which is already org-scoped (`_org`). Round-tripping it would only invite drift;
7642
+ * downstream consumers receive the org from the meter / handler context.
7643
+ *
7644
+ */
7645
+ export interface MeterReadingChangesetEntry {
7646
+ value: number;
7647
+ direction?: "feed-in" | "feed-out";
7648
+ timestamp?: string; // date-time
7649
+ meter_id: string; // uuid
7650
+ counter_id: string; // uuid
7651
+ source?: string;
7652
+ reason?: string;
7653
+ read_by?: string;
7654
+ status?: "valid" | "in-validation" | "implausible";
7655
+ external_id?: string;
7656
+ remark?: string;
7657
+ metadata?: {
7658
+ [name: string]: string;
7659
+ };
7660
+ /**
7661
+ * Unique changeset identifier (UUID v4).
7662
+ */
7663
+ changeset_id: string;
7664
+ edit_mode: "external" | "approval";
7665
+ match_strategy?: "exact" | "fuzzy";
7666
+ /**
7667
+ * Slack on `reading.timestamp` when metering-api auto-clear matches an
7668
+ * incoming reading against this pending changeset.
7669
+ *
7670
+ * Variants:
7671
+ * - `'exact'`: strict millisecond equality.
7672
+ * - `{ type: 'same-day', timezone? }`: strip the time component and
7673
+ * compare year-month-day. Optional `timezone` is an IANA name
7674
+ * (e.g. `'Europe/Berlin'`); the day is bucketed in that zone.
7675
+ * Defaults to UTC when omitted.
7676
+ * - `{ type: 'within-seconds', seconds }`: symmetric ±N-second window.
7677
+ *
7678
+ */
7679
+ timestamp_tolerance?: /**
7680
+ * Slack on `reading.timestamp` when metering-api auto-clear matches an
7681
+ * incoming reading against this pending changeset.
7682
+ *
7683
+ * Variants:
7684
+ * - `'exact'`: strict millisecond equality.
7685
+ * - `{ type: 'same-day', timezone? }`: strip the time component and
7686
+ * compare year-month-day. Optional `timezone` is an IANA name
7687
+ * (e.g. `'Europe/Berlin'`); the day is bucketed in that zone.
7688
+ * Defaults to UTC when omitted.
7689
+ * - `{ type: 'within-seconds', seconds }`: symmetric ±N-second window.
7690
+ *
7691
+ */
7692
+ ("exact") | {
7693
+ type: "same-day";
7694
+ /**
7695
+ * IANA timezone identifier (e.g. `'Europe/Berlin'`, `'UTC'`).
7696
+ * When omitted, the day is bucketed in UTC.
7697
+ *
7698
+ */
7699
+ timezone?: string;
7700
+ } | {
7701
+ type: "within-seconds";
7702
+ /**
7703
+ * Tolerance in seconds. e.g. 60 = ±1 minute, 3600 = ±1 hour.
7704
+ */
7705
+ seconds: number;
7706
+ };
7707
+ fuzzy_config?: {
7708
+ percentage_threshold?: number;
7709
+ absolute_threshold?: number;
7710
+ };
7711
+ created_at: string; // date-time
7712
+ created_by?: /* Identifies the actor that created the changeset. */ ChangesetCreator;
7713
+ previous?: {
7714
+ value?: number;
7715
+ direction?: "feed-in" | "feed-out";
7716
+ timestamp?: string; // date-time
7717
+ };
7718
+ }
7139
7719
  /**
7140
7720
  * Multi Choice Selection
7141
7721
  */
@@ -7164,6 +7744,13 @@ declare namespace Components {
7164
7744
  required?: boolean;
7165
7745
  readonly?: boolean;
7166
7746
  deprecated?: boolean;
7747
+ /**
7748
+ * Allow conditional variants of the entity to override this attribute's value.
7749
+ * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay
7750
+ * fixed on the base entity.
7751
+ *
7752
+ */
7753
+ variant_overridable?: boolean;
7167
7754
  default_value?: any;
7168
7755
  /**
7169
7756
  * Which group the attribute should appear in. Accepts group ID or group name
@@ -7197,6 +7784,16 @@ declare namespace Components {
7197
7784
  *
7198
7785
  */
7199
7786
  render_condition?: string;
7787
+ /**
7788
+ * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`).
7789
+ *
7790
+ * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data)
7791
+ * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers)
7792
+ *
7793
+ * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields.
7794
+ *
7795
+ */
7796
+ data_classification?: "public" | "pii";
7200
7797
  _purpose?: /**
7201
7798
  * example:
7202
7799
  * taxonomy-slug:classification-slug
@@ -7290,10 +7887,8 @@ declare namespace Components {
7290
7887
  repeatable?: boolean;
7291
7888
  has_primary?: boolean;
7292
7889
  /**
7293
- * Controls how updates to this attribute are handled.
7294
- * - `direct` (default): update is applied immediately. No changeset created.
7295
- * - `external`: update creates a changeset, auto-cleared on matching external update (e.g. ERP inbound sync via ?direct=true).
7296
- * - `approval`: update creates a changeset, requires explicit human approval.
7890
+ * Controls how updates to this attribute are handled. See the `EditMode`
7891
+ * schema for the per-mode semantics. Defaults to `direct`.
7297
7892
  *
7298
7893
  */
7299
7894
  edit_mode?: "direct" | "external" | "approval";
@@ -7429,8 +8024,12 @@ declare namespace Components {
7429
8024
  _manifest?: string /* uuid */[] | null;
7430
8025
  /**
7431
8026
  * Pending attribute changesets for attributes configured with external or approval edit mode.
7432
- * Read-only via normal entity PATCH/PUT operations — cannot be set directly.
7433
- * Use the changeset management endpoints to apply or dismiss changesets.
8027
+ *
8028
+ * The value shape is `Changeset` (`proposed_value`, `created_at`, `edit_mode`, ...)
8029
+ * and is what `:apply` / `:dismiss` operate on.
8030
+ *
8031
+ * Read-only via normal entity PATCH/PUT operations — those handlers strip `_changesets`
8032
+ * from request bodies. Use the changeset management endpoints to mutate this field.
7434
8033
  *
7435
8034
  */
7436
8035
  _changesets?: {
@@ -7465,6 +8064,13 @@ declare namespace Components {
7465
8064
  required?: boolean;
7466
8065
  readonly?: boolean;
7467
8066
  deprecated?: boolean;
8067
+ /**
8068
+ * Allow conditional variants of the entity to override this attribute's value.
8069
+ * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay
8070
+ * fixed on the base entity.
8071
+ *
8072
+ */
8073
+ variant_overridable?: boolean;
7468
8074
  default_value?: any;
7469
8075
  /**
7470
8076
  * Which group the attribute should appear in. Accepts group ID or group name
@@ -7498,6 +8104,16 @@ declare namespace Components {
7498
8104
  *
7499
8105
  */
7500
8106
  render_condition?: string;
8107
+ /**
8108
+ * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`).
8109
+ *
8110
+ * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data)
8111
+ * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers)
8112
+ *
8113
+ * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields.
8114
+ *
8115
+ */
8116
+ data_classification?: "public" | "pii";
7501
8117
  _purpose?: /**
7502
8118
  * example:
7503
8119
  * taxonomy-slug:classification-slug
@@ -7591,10 +8207,8 @@ declare namespace Components {
7591
8207
  repeatable?: boolean;
7592
8208
  has_primary?: boolean;
7593
8209
  /**
7594
- * Controls how updates to this attribute are handled.
7595
- * - `direct` (default): update is applied immediately. No changeset created.
7596
- * - `external`: update creates a changeset, auto-cleared on matching external update (e.g. ERP inbound sync via ?direct=true).
7597
- * - `approval`: update creates a changeset, requires explicit human approval.
8210
+ * Controls how updates to this attribute are handled. See the `EditMode`
8211
+ * schema for the per-mode semantics. Defaults to `direct`.
7598
8212
  *
7599
8213
  */
7600
8214
  edit_mode?: "direct" | "external" | "approval";
@@ -7668,6 +8282,13 @@ declare namespace Components {
7668
8282
  required?: boolean;
7669
8283
  readonly?: boolean;
7670
8284
  deprecated?: boolean;
8285
+ /**
8286
+ * Allow conditional variants of the entity to override this attribute's value.
8287
+ * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay
8288
+ * fixed on the base entity.
8289
+ *
8290
+ */
8291
+ variant_overridable?: boolean;
7671
8292
  default_value?: any;
7672
8293
  /**
7673
8294
  * Which group the attribute should appear in. Accepts group ID or group name
@@ -7701,6 +8322,16 @@ declare namespace Components {
7701
8322
  *
7702
8323
  */
7703
8324
  render_condition?: string;
8325
+ /**
8326
+ * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`).
8327
+ *
8328
+ * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data)
8329
+ * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers)
8330
+ *
8331
+ * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields.
8332
+ *
8333
+ */
8334
+ data_classification?: "public" | "pii";
7704
8335
  _purpose?: /**
7705
8336
  * example:
7706
8337
  * taxonomy-slug:classification-slug
@@ -7794,10 +8425,8 @@ declare namespace Components {
7794
8425
  repeatable?: boolean;
7795
8426
  has_primary?: boolean;
7796
8427
  /**
7797
- * Controls how updates to this attribute are handled.
7798
- * - `direct` (default): update is applied immediately. No changeset created.
7799
- * - `external`: update creates a changeset, auto-cleared on matching external update (e.g. ERP inbound sync via ?direct=true).
7800
- * - `approval`: update creates a changeset, requires explicit human approval.
8428
+ * Controls how updates to this attribute are handled. See the `EditMode`
8429
+ * schema for the per-mode semantics. Defaults to `direct`.
7801
8430
  *
7802
8431
  */
7803
8432
  edit_mode?: "direct" | "external" | "approval";
@@ -7862,6 +8491,13 @@ declare namespace Components {
7862
8491
  required?: boolean;
7863
8492
  readonly?: boolean;
7864
8493
  deprecated?: boolean;
8494
+ /**
8495
+ * Allow conditional variants of the entity to override this attribute's value.
8496
+ * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay
8497
+ * fixed on the base entity.
8498
+ *
8499
+ */
8500
+ variant_overridable?: boolean;
7865
8501
  default_value?: any;
7866
8502
  /**
7867
8503
  * Which group the attribute should appear in. Accepts group ID or group name
@@ -7895,6 +8531,16 @@ declare namespace Components {
7895
8531
  *
7896
8532
  */
7897
8533
  render_condition?: string;
8534
+ /**
8535
+ * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`).
8536
+ *
8537
+ * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data)
8538
+ * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers)
8539
+ *
8540
+ * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields.
8541
+ *
8542
+ */
8543
+ data_classification?: "public" | "pii";
7898
8544
  _purpose?: /**
7899
8545
  * example:
7900
8546
  * taxonomy-slug:classification-slug
@@ -7988,10 +8634,8 @@ declare namespace Components {
7988
8634
  repeatable?: boolean;
7989
8635
  has_primary?: boolean;
7990
8636
  /**
7991
- * Controls how updates to this attribute are handled.
7992
- * - `direct` (default): update is applied immediately. No changeset created.
7993
- * - `external`: update creates a changeset, auto-cleared on matching external update (e.g. ERP inbound sync via ?direct=true).
7994
- * - `approval`: update creates a changeset, requires explicit human approval.
8637
+ * Controls how updates to this attribute are handled. See the `EditMode`
8638
+ * schema for the per-mode semantics. Defaults to `direct`.
7995
8639
  *
7996
8640
  */
7997
8641
  edit_mode?: "direct" | "external" | "approval";
@@ -8056,6 +8700,13 @@ declare namespace Components {
8056
8700
  required?: boolean;
8057
8701
  readonly?: boolean;
8058
8702
  deprecated?: boolean;
8703
+ /**
8704
+ * Allow conditional variants of the entity to override this attribute's value.
8705
+ * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay
8706
+ * fixed on the base entity.
8707
+ *
8708
+ */
8709
+ variant_overridable?: boolean;
8059
8710
  default_value?: any;
8060
8711
  /**
8061
8712
  * Which group the attribute should appear in. Accepts group ID or group name
@@ -8089,6 +8740,16 @@ declare namespace Components {
8089
8740
  *
8090
8741
  */
8091
8742
  render_condition?: string;
8743
+ /**
8744
+ * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`).
8745
+ *
8746
+ * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data)
8747
+ * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers)
8748
+ *
8749
+ * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields.
8750
+ *
8751
+ */
8752
+ data_classification?: "public" | "pii";
8092
8753
  _purpose?: /**
8093
8754
  * example:
8094
8755
  * taxonomy-slug:classification-slug
@@ -8182,10 +8843,8 @@ declare namespace Components {
8182
8843
  repeatable?: boolean;
8183
8844
  has_primary?: boolean;
8184
8845
  /**
8185
- * Controls how updates to this attribute are handled.
8186
- * - `direct` (default): update is applied immediately. No changeset created.
8187
- * - `external`: update creates a changeset, auto-cleared on matching external update (e.g. ERP inbound sync via ?direct=true).
8188
- * - `approval`: update creates a changeset, requires explicit human approval.
8846
+ * Controls how updates to this attribute are handled. See the `EditMode`
8847
+ * schema for the per-mode semantics. Defaults to `direct`.
8189
8848
  *
8190
8849
  */
8191
8850
  edit_mode?: "direct" | "external" | "approval";
@@ -8250,6 +8909,13 @@ declare namespace Components {
8250
8909
  required?: boolean;
8251
8910
  readonly?: boolean;
8252
8911
  deprecated?: boolean;
8912
+ /**
8913
+ * Allow conditional variants of the entity to override this attribute's value.
8914
+ * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay
8915
+ * fixed on the base entity.
8916
+ *
8917
+ */
8918
+ variant_overridable?: boolean;
8253
8919
  default_value?: any;
8254
8920
  /**
8255
8921
  * Which group the attribute should appear in. Accepts group ID or group name
@@ -8283,6 +8949,16 @@ declare namespace Components {
8283
8949
  *
8284
8950
  */
8285
8951
  render_condition?: string;
8952
+ /**
8953
+ * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`).
8954
+ *
8955
+ * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data)
8956
+ * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers)
8957
+ *
8958
+ * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields.
8959
+ *
8960
+ */
8961
+ data_classification?: "public" | "pii";
8286
8962
  _purpose?: /**
8287
8963
  * example:
8288
8964
  * taxonomy-slug:classification-slug
@@ -8376,10 +9052,8 @@ declare namespace Components {
8376
9052
  repeatable?: boolean;
8377
9053
  has_primary?: boolean;
8378
9054
  /**
8379
- * Controls how updates to this attribute are handled.
8380
- * - `direct` (default): update is applied immediately. No changeset created.
8381
- * - `external`: update creates a changeset, auto-cleared on matching external update (e.g. ERP inbound sync via ?direct=true).
8382
- * - `approval`: update creates a changeset, requires explicit human approval.
9055
+ * Controls how updates to this attribute are handled. See the `EditMode`
9056
+ * schema for the per-mode semantics. Defaults to `direct`.
8383
9057
  *
8384
9058
  */
8385
9059
  edit_mode?: "direct" | "external" | "approval";
@@ -8444,6 +9118,13 @@ declare namespace Components {
8444
9118
  required?: boolean;
8445
9119
  readonly?: boolean;
8446
9120
  deprecated?: boolean;
9121
+ /**
9122
+ * Allow conditional variants of the entity to override this attribute's value.
9123
+ * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay
9124
+ * fixed on the base entity.
9125
+ *
9126
+ */
9127
+ variant_overridable?: boolean;
8447
9128
  default_value?: any;
8448
9129
  /**
8449
9130
  * Which group the attribute should appear in. Accepts group ID or group name
@@ -8477,6 +9158,16 @@ declare namespace Components {
8477
9158
  *
8478
9159
  */
8479
9160
  render_condition?: string;
9161
+ /**
9162
+ * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`).
9163
+ *
9164
+ * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data)
9165
+ * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers)
9166
+ *
9167
+ * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields.
9168
+ *
9169
+ */
9170
+ data_classification?: "public" | "pii";
8480
9171
  _purpose?: /**
8481
9172
  * example:
8482
9173
  * taxonomy-slug:classification-slug
@@ -8570,10 +9261,8 @@ declare namespace Components {
8570
9261
  repeatable?: boolean;
8571
9262
  has_primary?: boolean;
8572
9263
  /**
8573
- * Controls how updates to this attribute are handled.
8574
- * - `direct` (default): update is applied immediately. No changeset created.
8575
- * - `external`: update creates a changeset, auto-cleared on matching external update (e.g. ERP inbound sync via ?direct=true).
8576
- * - `approval`: update creates a changeset, requires explicit human approval.
9264
+ * Controls how updates to this attribute are handled. See the `EditMode`
9265
+ * schema for the per-mode semantics. Defaults to `direct`.
8577
9266
  *
8578
9267
  */
8579
9268
  edit_mode?: "direct" | "external" | "approval";
@@ -8638,6 +9327,13 @@ declare namespace Components {
8638
9327
  required?: boolean;
8639
9328
  readonly?: boolean;
8640
9329
  deprecated?: boolean;
9330
+ /**
9331
+ * Allow conditional variants of the entity to override this attribute's value.
9332
+ * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay
9333
+ * fixed on the base entity.
9334
+ *
9335
+ */
9336
+ variant_overridable?: boolean;
8641
9337
  default_value?: any;
8642
9338
  /**
8643
9339
  * Which group the attribute should appear in. Accepts group ID or group name
@@ -8671,6 +9367,16 @@ declare namespace Components {
8671
9367
  *
8672
9368
  */
8673
9369
  render_condition?: string;
9370
+ /**
9371
+ * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`).
9372
+ *
9373
+ * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data)
9374
+ * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers)
9375
+ *
9376
+ * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields.
9377
+ *
9378
+ */
9379
+ data_classification?: "public" | "pii";
8674
9380
  _purpose?: /**
8675
9381
  * example:
8676
9382
  * taxonomy-slug:classification-slug
@@ -8764,10 +9470,8 @@ declare namespace Components {
8764
9470
  repeatable?: boolean;
8765
9471
  has_primary?: boolean;
8766
9472
  /**
8767
- * Controls how updates to this attribute are handled.
8768
- * - `direct` (default): update is applied immediately. No changeset created.
8769
- * - `external`: update creates a changeset, auto-cleared on matching external update (e.g. ERP inbound sync via ?direct=true).
8770
- * - `approval`: update creates a changeset, requires explicit human approval.
9473
+ * Controls how updates to this attribute are handled. See the `EditMode`
9474
+ * schema for the per-mode semantics. Defaults to `direct`.
8771
9475
  *
8772
9476
  */
8773
9477
  edit_mode?: "direct" | "external" | "approval";
@@ -8832,6 +9536,13 @@ declare namespace Components {
8832
9536
  required?: boolean;
8833
9537
  readonly?: boolean;
8834
9538
  deprecated?: boolean;
9539
+ /**
9540
+ * Allow conditional variants of the entity to override this attribute's value.
9541
+ * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay
9542
+ * fixed on the base entity.
9543
+ *
9544
+ */
9545
+ variant_overridable?: boolean;
8835
9546
  default_value?: any;
8836
9547
  /**
8837
9548
  * Which group the attribute should appear in. Accepts group ID or group name
@@ -8865,6 +9576,16 @@ declare namespace Components {
8865
9576
  *
8866
9577
  */
8867
9578
  render_condition?: string;
9579
+ /**
9580
+ * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`).
9581
+ *
9582
+ * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data)
9583
+ * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers)
9584
+ *
9585
+ * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields.
9586
+ *
9587
+ */
9588
+ data_classification?: "public" | "pii";
8868
9589
  _purpose?: /**
8869
9590
  * example:
8870
9591
  * taxonomy-slug:classification-slug
@@ -8958,10 +9679,8 @@ declare namespace Components {
8958
9679
  repeatable?: boolean;
8959
9680
  has_primary?: boolean;
8960
9681
  /**
8961
- * Controls how updates to this attribute are handled.
8962
- * - `direct` (default): update is applied immediately. No changeset created.
8963
- * - `external`: update creates a changeset, auto-cleared on matching external update (e.g. ERP inbound sync via ?direct=true).
8964
- * - `approval`: update creates a changeset, requires explicit human approval.
9682
+ * Controls how updates to this attribute are handled. See the `EditMode`
9683
+ * schema for the per-mode semantics. Defaults to `direct`.
8965
9684
  *
8966
9685
  */
8967
9686
  edit_mode?: "direct" | "external" | "approval";
@@ -9026,6 +9745,13 @@ declare namespace Components {
9026
9745
  required?: boolean;
9027
9746
  readonly?: boolean;
9028
9747
  deprecated?: boolean;
9748
+ /**
9749
+ * Allow conditional variants of the entity to override this attribute's value.
9750
+ * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay
9751
+ * fixed on the base entity.
9752
+ *
9753
+ */
9754
+ variant_overridable?: boolean;
9029
9755
  default_value?: any;
9030
9756
  /**
9031
9757
  * Which group the attribute should appear in. Accepts group ID or group name
@@ -9059,6 +9785,16 @@ declare namespace Components {
9059
9785
  *
9060
9786
  */
9061
9787
  render_condition?: string;
9788
+ /**
9789
+ * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`).
9790
+ *
9791
+ * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data)
9792
+ * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers)
9793
+ *
9794
+ * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields.
9795
+ *
9796
+ */
9797
+ data_classification?: "public" | "pii";
9062
9798
  _purpose?: /**
9063
9799
  * example:
9064
9800
  * taxonomy-slug:classification-slug
@@ -9152,10 +9888,8 @@ declare namespace Components {
9152
9888
  repeatable?: boolean;
9153
9889
  has_primary?: boolean;
9154
9890
  /**
9155
- * Controls how updates to this attribute are handled.
9156
- * - `direct` (default): update is applied immediately. No changeset created.
9157
- * - `external`: update creates a changeset, auto-cleared on matching external update (e.g. ERP inbound sync via ?direct=true).
9158
- * - `approval`: update creates a changeset, requires explicit human approval.
9891
+ * Controls how updates to this attribute are handled. See the `EditMode`
9892
+ * schema for the per-mode semantics. Defaults to `direct`.
9159
9893
  *
9160
9894
  */
9161
9895
  edit_mode?: "direct" | "external" | "approval";
@@ -9220,6 +9954,13 @@ declare namespace Components {
9220
9954
  required?: boolean;
9221
9955
  readonly?: boolean;
9222
9956
  deprecated?: boolean;
9957
+ /**
9958
+ * Allow conditional variants of the entity to override this attribute's value.
9959
+ * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay
9960
+ * fixed on the base entity.
9961
+ *
9962
+ */
9963
+ variant_overridable?: boolean;
9223
9964
  default_value?: any;
9224
9965
  /**
9225
9966
  * Which group the attribute should appear in. Accepts group ID or group name
@@ -9253,6 +9994,16 @@ declare namespace Components {
9253
9994
  *
9254
9995
  */
9255
9996
  render_condition?: string;
9997
+ /**
9998
+ * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`).
9999
+ *
10000
+ * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data)
10001
+ * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers)
10002
+ *
10003
+ * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields.
10004
+ *
10005
+ */
10006
+ data_classification?: "public" | "pii";
9256
10007
  _purpose?: /**
9257
10008
  * example:
9258
10009
  * taxonomy-slug:classification-slug
@@ -9346,10 +10097,8 @@ declare namespace Components {
9346
10097
  repeatable?: boolean;
9347
10098
  has_primary?: boolean;
9348
10099
  /**
9349
- * Controls how updates to this attribute are handled.
9350
- * - `direct` (default): update is applied immediately. No changeset created.
9351
- * - `external`: update creates a changeset, auto-cleared on matching external update (e.g. ERP inbound sync via ?direct=true).
9352
- * - `approval`: update creates a changeset, requires explicit human approval.
10100
+ * Controls how updates to this attribute are handled. See the `EditMode`
10101
+ * schema for the per-mode semantics. Defaults to `direct`.
9353
10102
  *
9354
10103
  */
9355
10104
  edit_mode?: "direct" | "external" | "approval";
@@ -9429,6 +10178,13 @@ declare namespace Components {
9429
10178
  required?: boolean;
9430
10179
  readonly?: boolean;
9431
10180
  deprecated?: boolean;
10181
+ /**
10182
+ * Allow conditional variants of the entity to override this attribute's value.
10183
+ * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay
10184
+ * fixed on the base entity.
10185
+ *
10186
+ */
10187
+ variant_overridable?: boolean;
9432
10188
  default_value?: any;
9433
10189
  /**
9434
10190
  * Which group the attribute should appear in. Accepts group ID or group name
@@ -9462,6 +10218,16 @@ declare namespace Components {
9462
10218
  *
9463
10219
  */
9464
10220
  render_condition?: string;
10221
+ /**
10222
+ * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`).
10223
+ *
10224
+ * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data)
10225
+ * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers)
10226
+ *
10227
+ * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields.
10228
+ *
10229
+ */
10230
+ data_classification?: "public" | "pii";
9465
10231
  _purpose?: /**
9466
10232
  * example:
9467
10233
  * taxonomy-slug:classification-slug
@@ -9555,10 +10321,8 @@ declare namespace Components {
9555
10321
  repeatable?: boolean;
9556
10322
  has_primary?: boolean;
9557
10323
  /**
9558
- * Controls how updates to this attribute are handled.
9559
- * - `direct` (default): update is applied immediately. No changeset created.
9560
- * - `external`: update creates a changeset, auto-cleared on matching external update (e.g. ERP inbound sync via ?direct=true).
9561
- * - `approval`: update creates a changeset, requires explicit human approval.
10324
+ * Controls how updates to this attribute are handled. See the `EditMode`
10325
+ * schema for the per-mode semantics. Defaults to `direct`.
9562
10326
  *
9563
10327
  */
9564
10328
  edit_mode?: "direct" | "external" | "approval" | "list-view";
@@ -9789,8 +10553,12 @@ declare namespace Components {
9789
10553
  _manifest?: string /* uuid */[] | null;
9790
10554
  /**
9791
10555
  * Pending attribute changesets for attributes configured with external or approval edit mode.
9792
- * Read-only via normal entity PATCH/PUT operations — cannot be set directly.
9793
- * Use the changeset management endpoints to apply or dismiss changesets.
10556
+ *
10557
+ * The value shape is `Changeset` (`proposed_value`, `created_at`, `edit_mode`, ...)
10558
+ * and is what `:apply` / `:dismiss` operate on.
10559
+ *
10560
+ * Read-only via normal entity PATCH/PUT operations — those handlers strip `_changesets`
10561
+ * from request bodies. Use the changeset management endpoints to mutate this field.
9794
10562
  *
9795
10563
  */
9796
10564
  _changesets?: {
@@ -9845,6 +10613,13 @@ declare namespace Components {
9845
10613
  required?: boolean;
9846
10614
  readonly?: boolean;
9847
10615
  deprecated?: boolean;
10616
+ /**
10617
+ * Allow conditional variants of the entity to override this attribute's value.
10618
+ * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay
10619
+ * fixed on the base entity.
10620
+ *
10621
+ */
10622
+ variant_overridable?: boolean;
9848
10623
  default_value?: any;
9849
10624
  /**
9850
10625
  * Which group the attribute should appear in. Accepts group ID or group name
@@ -9878,6 +10653,16 @@ declare namespace Components {
9878
10653
  *
9879
10654
  */
9880
10655
  render_condition?: string;
10656
+ /**
10657
+ * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`).
10658
+ *
10659
+ * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data)
10660
+ * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers)
10661
+ *
10662
+ * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields.
10663
+ *
10664
+ */
10665
+ data_classification?: "public" | "pii";
9881
10666
  _purpose?: /**
9882
10667
  * example:
9883
10668
  * taxonomy-slug:classification-slug
@@ -9971,10 +10756,8 @@ declare namespace Components {
9971
10756
  repeatable?: boolean;
9972
10757
  has_primary?: boolean;
9973
10758
  /**
9974
- * Controls how updates to this attribute are handled.
9975
- * - `direct` (default): update is applied immediately. No changeset created.
9976
- * - `external`: update creates a changeset, auto-cleared on matching external update (e.g. ERP inbound sync via ?direct=true).
9977
- * - `approval`: update creates a changeset, requires explicit human approval.
10759
+ * Controls how updates to this attribute are handled. See the `EditMode`
10760
+ * schema for the per-mode semantics. Defaults to `direct`.
9978
10761
  *
9979
10762
  */
9980
10763
  edit_mode?: "direct" | "external" | "approval";
@@ -10051,6 +10834,12 @@ declare namespace Components {
10051
10834
  * 10598
10052
10835
  */
10053
10836
  user_id?: string;
10837
+ /**
10838
+ * The organization ID of the user who created the view. Used for partner access control.
10839
+ * example:
10840
+ * 739224
10841
+ */
10842
+ org_id?: string;
10054
10843
  } | {
10055
10844
  [name: string]: any;
10056
10845
  source?: "SYSTEM" | "BLUEPRINT";
@@ -10128,6 +10917,12 @@ declare namespace Components {
10128
10917
  * 10598
10129
10918
  */
10130
10919
  user_id?: string;
10920
+ /**
10921
+ * The organization ID of the user who created the view. Used for partner access control.
10922
+ * example:
10923
+ * 739224
10924
+ */
10925
+ org_id?: string;
10131
10926
  } | {
10132
10927
  [name: string]: any;
10133
10928
  source?: "SYSTEM" | "BLUEPRINT";
@@ -10198,6 +10993,12 @@ declare namespace Components {
10198
10993
  * 10598
10199
10994
  */
10200
10995
  user_id?: string;
10996
+ /**
10997
+ * The organization ID of the user who created the view. Used for partner access control.
10998
+ * example:
10999
+ * 739224
11000
+ */
11001
+ org_id?: string;
10201
11002
  } | {
10202
11003
  [name: string]: any;
10203
11004
  source?: "SYSTEM" | "BLUEPRINT";
@@ -10227,6 +11028,38 @@ declare namespace Components {
10227
11028
  */
10228
11029
  shared_with?: string[];
10229
11030
  }
11031
+ /**
11032
+ * A condition whose value is a plain scalar, with no further configuration.
11033
+ */
11034
+ export interface ScalarConditionDefinition {
11035
+ /**
11036
+ * Stable identity of the condition, generated by the client when the condition is
11037
+ * created. It is what makes a rename distinguishable from a remove + add, so it must
11038
+ * be round-tripped unchanged for the lifetime of the condition.
11039
+ *
11040
+ * example:
11041
+ * d5839b94-ba20-4225-a78e-76951d352bd6
11042
+ */
11043
+ id: string; // uuid
11044
+ /**
11045
+ * The key variant values are stored under. Unique within the schema and immutable
11046
+ * once the condition has been saved.
11047
+ *
11048
+ * example:
11049
+ * delivery_area
11050
+ */
11051
+ name: string; // ^[a-z0-9_]+$
11052
+ /**
11053
+ * Display label. Always editable.
11054
+ * example:
11055
+ * Delivery Area
11056
+ */
11057
+ label: string;
11058
+ /**
11059
+ * Immutable once the condition has been saved.
11060
+ */
11061
+ type: "string" | "number" | "date" | "daterange" | "boolean";
11062
+ }
10230
11063
  /**
10231
11064
  * Generated uuid for schema
10232
11065
  */
@@ -10443,6 +11276,13 @@ declare namespace Components {
10443
11276
  required?: boolean;
10444
11277
  readonly?: boolean;
10445
11278
  deprecated?: boolean;
11279
+ /**
11280
+ * Allow conditional variants of the entity to override this attribute's value.
11281
+ * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay
11282
+ * fixed on the base entity.
11283
+ *
11284
+ */
11285
+ variant_overridable?: boolean;
10446
11286
  default_value?: any;
10447
11287
  /**
10448
11288
  * Which group the attribute should appear in. Accepts group ID or group name
@@ -10476,6 +11316,16 @@ declare namespace Components {
10476
11316
  *
10477
11317
  */
10478
11318
  render_condition?: string;
11319
+ /**
11320
+ * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`).
11321
+ *
11322
+ * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data)
11323
+ * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers)
11324
+ *
11325
+ * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields.
11326
+ *
11327
+ */
11328
+ data_classification?: "public" | "pii";
10479
11329
  _purpose?: /**
10480
11330
  * example:
10481
11331
  * taxonomy-slug:classification-slug
@@ -10569,10 +11419,8 @@ declare namespace Components {
10569
11419
  repeatable?: boolean;
10570
11420
  has_primary?: boolean;
10571
11421
  /**
10572
- * Controls how updates to this attribute are handled.
10573
- * - `direct` (default): update is applied immediately. No changeset created.
10574
- * - `external`: update creates a changeset, auto-cleared on matching external update (e.g. ERP inbound sync via ?direct=true).
10575
- * - `approval`: update creates a changeset, requires explicit human approval.
11422
+ * Controls how updates to this attribute are handled. See the `EditMode`
11423
+ * schema for the per-mode semantics. Defaults to `direct`.
10576
11424
  *
10577
11425
  */
10578
11426
  edit_mode?: "direct" | "external" | "approval";
@@ -10617,6 +11465,47 @@ declare namespace Components {
10617
11465
  */
10618
11466
  allow_any?: boolean;
10619
11467
  }
11468
+ /**
11469
+ * A condition whose value is one of a fixed set of options.
11470
+ */
11471
+ export interface SelectConditionDefinition {
11472
+ /**
11473
+ * Stable identity of the condition, generated by the client when the condition is
11474
+ * created. It is what makes a rename distinguishable from a remove + add, so it must
11475
+ * be round-tripped unchanged for the lifetime of the condition.
11476
+ *
11477
+ * example:
11478
+ * d5839b94-ba20-4225-a78e-76951d352bd6
11479
+ */
11480
+ id: string; // uuid
11481
+ /**
11482
+ * The key variant values are stored under. Unique within the schema and immutable
11483
+ * once the condition has been saved.
11484
+ *
11485
+ * example:
11486
+ * delivery_area
11487
+ */
11488
+ name: string; // ^[a-z0-9_]+$
11489
+ /**
11490
+ * Display label. Always editable.
11491
+ * example:
11492
+ * Delivery Area
11493
+ */
11494
+ label: string;
11495
+ /**
11496
+ * Immutable once the condition has been saved.
11497
+ */
11498
+ type: "select";
11499
+ /**
11500
+ * Selectable options. May be empty while the condition is being configured.
11501
+ * example:
11502
+ * [
11503
+ * "12_months",
11504
+ * "24_months"
11505
+ * ]
11506
+ */
11507
+ values?: string[];
11508
+ }
10620
11509
  /**
10621
11510
  * Sequence of unique identifiers
10622
11511
  */
@@ -10645,6 +11534,13 @@ declare namespace Components {
10645
11534
  required?: boolean;
10646
11535
  readonly?: boolean;
10647
11536
  deprecated?: boolean;
11537
+ /**
11538
+ * Allow conditional variants of the entity to override this attribute's value.
11539
+ * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay
11540
+ * fixed on the base entity.
11541
+ *
11542
+ */
11543
+ variant_overridable?: boolean;
10648
11544
  default_value?: any;
10649
11545
  /**
10650
11546
  * Which group the attribute should appear in. Accepts group ID or group name
@@ -10678,6 +11574,16 @@ declare namespace Components {
10678
11574
  *
10679
11575
  */
10680
11576
  render_condition?: string;
11577
+ /**
11578
+ * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`).
11579
+ *
11580
+ * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data)
11581
+ * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers)
11582
+ *
11583
+ * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields.
11584
+ *
11585
+ */
11586
+ data_classification?: "public" | "pii";
10681
11587
  _purpose?: /**
10682
11588
  * example:
10683
11589
  * taxonomy-slug:classification-slug
@@ -10771,10 +11677,8 @@ declare namespace Components {
10771
11677
  repeatable?: boolean;
10772
11678
  has_primary?: boolean;
10773
11679
  /**
10774
- * Controls how updates to this attribute are handled.
10775
- * - `direct` (default): update is applied immediately. No changeset created.
10776
- * - `external`: update creates a changeset, auto-cleared on matching external update (e.g. ERP inbound sync via ?direct=true).
10777
- * - `approval`: update creates a changeset, requires explicit human approval.
11680
+ * Controls how updates to this attribute are handled. See the `EditMode`
11681
+ * schema for the per-mode semantics. Defaults to `direct`.
10778
11682
  *
10779
11683
  */
10780
11684
  edit_mode?: "direct" | "external" | "approval";
@@ -10856,6 +11760,13 @@ declare namespace Components {
10856
11760
  required?: boolean;
10857
11761
  readonly?: boolean;
10858
11762
  deprecated?: boolean;
11763
+ /**
11764
+ * Allow conditional variants of the entity to override this attribute's value.
11765
+ * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay
11766
+ * fixed on the base entity.
11767
+ *
11768
+ */
11769
+ variant_overridable?: boolean;
10859
11770
  default_value?: any;
10860
11771
  /**
10861
11772
  * Which group the attribute should appear in. Accepts group ID or group name
@@ -10889,6 +11800,16 @@ declare namespace Components {
10889
11800
  *
10890
11801
  */
10891
11802
  render_condition?: string;
11803
+ /**
11804
+ * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`).
11805
+ *
11806
+ * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data)
11807
+ * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers)
11808
+ *
11809
+ * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields.
11810
+ *
11811
+ */
11812
+ data_classification?: "public" | "pii";
10892
11813
  _purpose?: /**
10893
11814
  * example:
10894
11815
  * taxonomy-slug:classification-slug
@@ -10982,10 +11903,8 @@ declare namespace Components {
10982
11903
  repeatable?: boolean;
10983
11904
  has_primary?: boolean;
10984
11905
  /**
10985
- * Controls how updates to this attribute are handled.
10986
- * - `direct` (default): update is applied immediately. No changeset created.
10987
- * - `external`: update creates a changeset, auto-cleared on matching external update (e.g. ERP inbound sync via ?direct=true).
10988
- * - `approval`: update creates a changeset, requires explicit human approval.
11906
+ * Controls how updates to this attribute are handled. See the `EditMode`
11907
+ * schema for the per-mode semantics. Defaults to `direct`.
10989
11908
  *
10990
11909
  */
10991
11910
  edit_mode?: "direct" | "external" | "approval";
@@ -11146,6 +12065,13 @@ declare namespace Components {
11146
12065
  required?: boolean;
11147
12066
  readonly?: boolean;
11148
12067
  deprecated?: boolean;
12068
+ /**
12069
+ * Allow conditional variants of the entity to override this attribute's value.
12070
+ * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay
12071
+ * fixed on the base entity.
12072
+ *
12073
+ */
12074
+ variant_overridable?: boolean;
11149
12075
  default_value?: any;
11150
12076
  /**
11151
12077
  * Which group the attribute should appear in. Accepts group ID or group name
@@ -11179,6 +12105,16 @@ declare namespace Components {
11179
12105
  *
11180
12106
  */
11181
12107
  render_condition?: string;
12108
+ /**
12109
+ * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`).
12110
+ *
12111
+ * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data)
12112
+ * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers)
12113
+ *
12114
+ * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields.
12115
+ *
12116
+ */
12117
+ data_classification?: "public" | "pii";
11182
12118
  _purpose?: /**
11183
12119
  * example:
11184
12120
  * taxonomy-slug:classification-slug
@@ -11272,10 +12208,8 @@ declare namespace Components {
11272
12208
  repeatable?: boolean;
11273
12209
  has_primary?: boolean;
11274
12210
  /**
11275
- * Controls how updates to this attribute are handled.
11276
- * - `direct` (default): update is applied immediately. No changeset created.
11277
- * - `external`: update creates a changeset, auto-cleared on matching external update (e.g. ERP inbound sync via ?direct=true).
11278
- * - `approval`: update creates a changeset, requires explicit human approval.
12211
+ * Controls how updates to this attribute are handled. See the `EditMode`
12212
+ * schema for the per-mode semantics. Defaults to `direct`.
11279
12213
  *
11280
12214
  */
11281
12215
  edit_mode?: "direct" | "external" | "approval";
@@ -11396,6 +12330,13 @@ declare namespace Components {
11396
12330
  required?: boolean;
11397
12331
  readonly?: boolean;
11398
12332
  deprecated?: boolean;
12333
+ /**
12334
+ * Allow conditional variants of the entity to override this attribute's value.
12335
+ * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay
12336
+ * fixed on the base entity.
12337
+ *
12338
+ */
12339
+ variant_overridable?: boolean;
11399
12340
  default_value?: any;
11400
12341
  /**
11401
12342
  * Which group the attribute should appear in. Accepts group ID or group name
@@ -11429,6 +12370,16 @@ declare namespace Components {
11429
12370
  *
11430
12371
  */
11431
12372
  render_condition?: string;
12373
+ /**
12374
+ * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`).
12375
+ *
12376
+ * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data)
12377
+ * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers)
12378
+ *
12379
+ * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields.
12380
+ *
12381
+ */
12382
+ data_classification?: "public" | "pii";
11432
12383
  _purpose?: /**
11433
12384
  * example:
11434
12385
  * taxonomy-slug:classification-slug
@@ -11522,10 +12473,8 @@ declare namespace Components {
11522
12473
  repeatable?: boolean;
11523
12474
  has_primary?: boolean;
11524
12475
  /**
11525
- * Controls how updates to this attribute are handled.
11526
- * - `direct` (default): update is applied immediately. No changeset created.
11527
- * - `external`: update creates a changeset, auto-cleared on matching external update (e.g. ERP inbound sync via ?direct=true).
11528
- * - `approval`: update creates a changeset, requires explicit human approval.
12476
+ * Controls how updates to this attribute are handled. See the `EditMode`
12477
+ * schema for the per-mode semantics. Defaults to `direct`.
11529
12478
  *
11530
12479
  */
11531
12480
  edit_mode?: "direct" | "external" | "approval";
@@ -11747,7 +12696,7 @@ declare namespace Components {
11747
12696
  */
11748
12697
  _manifest?: string /* uuid */[] | null;
11749
12698
  }
11750
- export type TaxonomyLocationId = "account" | "contact" | "contract" | "email_template" | "file" | "journey" | "meter_counter" | "meter" | "opportunity" | "order" | "partner" | "price" | "product" | "submission" | "tax" | "message" | "portal_user" | "request" | "comment";
12699
+ export type TaxonomyLocationId = "account" | "contact" | "contract" | "email_template" | "file" | "journey" | "meter_counter" | "meter" | "opportunity" | "order" | "partner" | "price" | "product" | "submission" | "tax" | "message" | "portal_user" | "request" | "comment" | "user";
11751
12700
  /**
11752
12701
  * Whether to include archived labels in the search results
11753
12702
  * - `true`: include archived labels
@@ -11792,6 +12741,13 @@ declare namespace Components {
11792
12741
  required?: boolean;
11793
12742
  readonly?: boolean;
11794
12743
  deprecated?: boolean;
12744
+ /**
12745
+ * Allow conditional variants of the entity to override this attribute's value.
12746
+ * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay
12747
+ * fixed on the base entity.
12748
+ *
12749
+ */
12750
+ variant_overridable?: boolean;
11795
12751
  default_value?: any;
11796
12752
  /**
11797
12753
  * Which group the attribute should appear in. Accepts group ID or group name
@@ -11825,6 +12781,16 @@ declare namespace Components {
11825
12781
  *
11826
12782
  */
11827
12783
  render_condition?: string;
12784
+ /**
12785
+ * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`).
12786
+ *
12787
+ * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data)
12788
+ * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers)
12789
+ *
12790
+ * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields.
12791
+ *
12792
+ */
12793
+ data_classification?: "public" | "pii";
11828
12794
  _purpose?: /**
11829
12795
  * example:
11830
12796
  * taxonomy-slug:classification-slug
@@ -11918,10 +12884,8 @@ declare namespace Components {
11918
12884
  repeatable?: boolean;
11919
12885
  has_primary?: boolean;
11920
12886
  /**
11921
- * Controls how updates to this attribute are handled.
11922
- * - `direct` (default): update is applied immediately. No changeset created.
11923
- * - `external`: update creates a changeset, auto-cleared on matching external update (e.g. ERP inbound sync via ?direct=true).
11924
- * - `approval`: update creates a changeset, requires explicit human approval.
12887
+ * Controls how updates to this attribute are handled. See the `EditMode`
12888
+ * schema for the per-mode semantics. Defaults to `direct`.
11925
12889
  *
11926
12890
  */
11927
12891
  edit_mode?: "direct" | "external" | "approval";
@@ -11999,6 +12963,13 @@ declare namespace Components {
11999
12963
  required?: boolean;
12000
12964
  readonly?: boolean;
12001
12965
  deprecated?: boolean;
12966
+ /**
12967
+ * Allow conditional variants of the entity to override this attribute's value.
12968
+ * Only meaningful on schemas that declare `conditions`. Unflagged attributes stay
12969
+ * fixed on the base entity.
12970
+ *
12971
+ */
12972
+ variant_overridable?: boolean;
12002
12973
  default_value?: any;
12003
12974
  /**
12004
12975
  * Which group the attribute should appear in. Accepts group ID or group name
@@ -12032,6 +13003,16 @@ declare namespace Components {
12032
13003
  *
12033
13004
  */
12034
13005
  render_condition?: string;
13006
+ /**
13007
+ * Data classification of the attribute, used by anonymized responses (`?anonymize=true` or tokens minted with `anonymize: true`).
13008
+ *
13009
+ * - `pii`: the attribute value is always anonymized in anonymized responses (use to opt in free-text fields containing personal data)
13010
+ * - `public`: the attribute value is never anonymized (use to opt out fields matched by built-in defaults, e.g. non-personal identifiers)
13011
+ *
13012
+ * When unset, built-in defaults apply based on the attribute type (email, phone, address, payment) and a curated list of well-known PII fields.
13013
+ *
13014
+ */
13015
+ data_classification?: "public" | "pii";
12035
13016
  _purpose?: /**
12036
13017
  * example:
12037
13018
  * taxonomy-slug:classification-slug
@@ -12125,10 +13106,8 @@ declare namespace Components {
12125
13106
  repeatable?: boolean;
12126
13107
  has_primary?: boolean;
12127
13108
  /**
12128
- * Controls how updates to this attribute are handled.
12129
- * - `direct` (default): update is applied immediately. No changeset created.
12130
- * - `external`: update creates a changeset, auto-cleared on matching external update (e.g. ERP inbound sync via ?direct=true).
12131
- * - `approval`: update creates a changeset, requires explicit human approval.
13109
+ * Controls how updates to this attribute are handled. See the `EditMode`
13110
+ * schema for the per-mode semantics. Defaults to `direct`.
12132
13111
  *
12133
13112
  */
12134
13113
  edit_mode?: "direct" | "external" | "approval";
@@ -12169,6 +13148,45 @@ declare namespace Components {
12169
13148
  }
12170
13149
  }
12171
13150
  declare namespace Paths {
13151
+ namespace AbortEntityImport {
13152
+ namespace Parameters {
13153
+ export type JobId = /**
13154
+ * The unique identifier of the import job.
13155
+ * example:
13156
+ * abc123
13157
+ */
13158
+ Components.Schemas.ExportJobId;
13159
+ export type Schema = string;
13160
+ }
13161
+ export interface QueryParameters {
13162
+ job_id: Parameters.JobId;
13163
+ schema: Parameters.Schema;
13164
+ }
13165
+ namespace Responses {
13166
+ export interface $202 {
13167
+ /**
13168
+ * The job status at the time of the request.
13169
+ */
13170
+ status?: string;
13171
+ jobPollId?: string;
13172
+ }
13173
+ export interface $400 {
13174
+ }
13175
+ export interface $403 {
13176
+ }
13177
+ export interface $404 {
13178
+ }
13179
+ export type $429 = /**
13180
+ * A generic error returned by the API
13181
+ * example:
13182
+ * {
13183
+ * "status": 429,
13184
+ * "error": "Too many requests. Try again later."
13185
+ * }
13186
+ */
13187
+ Components.Responses.TooManyRequestsError;
13188
+ }
13189
+ }
12172
13190
  namespace AddRelations {
12173
13191
  namespace Parameters {
12174
13192
  export type ActivityId = /**
@@ -12323,6 +13341,7 @@ declare namespace Paths {
12323
13341
  }
12324
13342
  namespace Autocomplete {
12325
13343
  namespace Parameters {
13344
+ export type Anonymize = boolean;
12326
13345
  /**
12327
13346
  * example:
12328
13347
  * _tags
@@ -12338,6 +13357,7 @@ declare namespace Paths {
12338
13357
  Components.Schemas.EntitySlug /* ^[a-zA-Z0-9_-]+$ */;
12339
13358
  }
12340
13359
  export interface QueryParameters {
13360
+ anonymize?: Parameters.Anonymize;
12341
13361
  input?: Parameters.Input;
12342
13362
  attribute: /**
12343
13363
  * example:
@@ -12853,6 +13873,15 @@ declare namespace Paths {
12853
13873
  namespace Responses {
12854
13874
  export interface $200 {
12855
13875
  }
13876
+ export type $404 = /**
13877
+ * A generic error returned by the API
13878
+ * example:
13879
+ * {
13880
+ * "status": 404,
13881
+ * "error": "Not Found"
13882
+ * }
13883
+ */
13884
+ Components.Responses.NotFoundError;
12856
13885
  export type $429 = /**
12857
13886
  * A generic error returned by the API
12858
13887
  * example:
@@ -13194,6 +14223,7 @@ declare namespace Paths {
13194
14223
  }
13195
14224
  namespace GetActivity {
13196
14225
  namespace Parameters {
14226
+ export type Anonymize = boolean;
13197
14227
  export type Id = /**
13198
14228
  * See https://github.com/ulid/spec
13199
14229
  * example:
@@ -13207,6 +14237,7 @@ declare namespace Paths {
13207
14237
  id: Parameters.Id;
13208
14238
  }
13209
14239
  export interface QueryParameters {
14240
+ anonymize?: Parameters.Anonymize;
13210
14241
  operations_size?: Parameters.OperationsSize;
13211
14242
  operations_from?: Parameters.OperationsFrom;
13212
14243
  }
@@ -13225,6 +14256,7 @@ declare namespace Paths {
13225
14256
  }
13226
14257
  namespace GetEntity {
13227
14258
  namespace Parameters {
14259
+ export type Anonymize = boolean;
13228
14260
  export type Hydrate = boolean;
13229
14261
  export type Id = Components.Schemas.EntityId /* uuid */;
13230
14262
  export type Slug = /**
@@ -13240,6 +14272,7 @@ declare namespace Paths {
13240
14272
  }
13241
14273
  export interface QueryParameters {
13242
14274
  hydrate?: Parameters.Hydrate;
14275
+ anonymize?: Parameters.Anonymize;
13243
14276
  }
13244
14277
  namespace Responses {
13245
14278
  export interface $200 {
@@ -13352,6 +14385,7 @@ declare namespace Paths {
13352
14385
  namespace GetEntityActivityFeed {
13353
14386
  namespace Parameters {
13354
14387
  export type After = string; // date-time
14388
+ export type Anonymize = boolean;
13355
14389
  export type Before = string; // date-time
13356
14390
  export type EndDate = string; // date-time
13357
14391
  /**
@@ -13389,6 +14423,7 @@ declare namespace Paths {
13389
14423
  id: Parameters.Id;
13390
14424
  }
13391
14425
  export interface QueryParameters {
14426
+ anonymize?: Parameters.Anonymize;
13392
14427
  after?: Parameters.After /* date-time */;
13393
14428
  before?: Parameters.Before /* date-time */;
13394
14429
  start_date?: Parameters.StartDate /* date-time */;
@@ -13437,6 +14472,7 @@ declare namespace Paths {
13437
14472
  }
13438
14473
  namespace GetEntityV2 {
13439
14474
  namespace Parameters {
14475
+ export type Anonymize = boolean;
13440
14476
  export type ApplyChangesets = boolean;
13441
14477
  export type Fields = /**
13442
14478
  * List of entity fields to include or exclude in the response
@@ -13471,6 +14507,7 @@ declare namespace Paths {
13471
14507
  }
13472
14508
  export interface QueryParameters {
13473
14509
  hydrate?: Parameters.Hydrate;
14510
+ anonymize?: Parameters.Anonymize;
13474
14511
  fields?: Parameters.Fields;
13475
14512
  apply_changesets?: Parameters.ApplyChangesets;
13476
14513
  }
@@ -13891,6 +14928,7 @@ declare namespace Paths {
13891
14928
  }
13892
14929
  namespace GetRelations {
13893
14930
  namespace Parameters {
14931
+ export type Anonymize = boolean;
13894
14932
  export type ExcludeSchemas = /**
13895
14933
  * URL-friendly identifier for the entity schema
13896
14934
  * example:
@@ -13921,6 +14959,7 @@ declare namespace Paths {
13921
14959
  }
13922
14960
  export interface QueryParameters {
13923
14961
  hydrate?: Parameters.Hydrate;
14962
+ anonymize?: Parameters.Anonymize;
13924
14963
  include_reverse?: Parameters.IncludeReverse;
13925
14964
  from?: Parameters.From;
13926
14965
  size?: Parameters.Size;
@@ -13942,6 +14981,7 @@ declare namespace Paths {
13942
14981
  }
13943
14982
  namespace GetRelationsV2 {
13944
14983
  namespace Parameters {
14984
+ export type Anonymize = boolean;
13945
14985
  export type Fields = /**
13946
14986
  * List of entity fields to include or exclude in the response
13947
14987
  *
@@ -13979,6 +15019,7 @@ declare namespace Paths {
13979
15019
  }
13980
15020
  export interface QueryParameters {
13981
15021
  hydrate?: Parameters.Hydrate;
15022
+ anonymize?: Parameters.Anonymize;
13982
15023
  query?: Parameters.Query;
13983
15024
  include_reverse?: Parameters.IncludeReverse;
13984
15025
  from?: Parameters.From;
@@ -14000,6 +15041,7 @@ declare namespace Paths {
14000
15041
  }
14001
15042
  namespace GetRelationsV3 {
14002
15043
  namespace Parameters {
15044
+ export type Anonymize = boolean;
14003
15045
  export type ExcludeSchemas = /**
14004
15046
  * URL-friendly identifier for the entity schema
14005
15047
  * example:
@@ -14059,6 +15101,7 @@ declare namespace Paths {
14059
15101
  }
14060
15102
  export interface QueryParameters {
14061
15103
  hydrate?: Parameters.Hydrate;
15104
+ anonymize?: Parameters.Anonymize;
14062
15105
  include_reverse?: Parameters.IncludeReverse;
14063
15106
  from?: Parameters.From;
14064
15107
  size?: Parameters.Size;
@@ -14377,7 +15420,7 @@ declare namespace Paths {
14377
15420
  /**
14378
15421
  * ISO 8601 timestamp to filter jobs created after this time (e.g., 2023-01-01T00:00:00Z).
14379
15422
  * example:
14380
- * 2023-01-01T00:00:00Z
15423
+ * 2023-01-01T00:00:00.000Z
14381
15424
  */
14382
15425
  export type CreatedAfter = string; // date-time
14383
15426
  /**
@@ -14403,7 +15446,7 @@ declare namespace Paths {
14403
15446
  created_after?: /**
14404
15447
  * ISO 8601 timestamp to filter jobs created after this time (e.g., 2023-01-01T00:00:00Z).
14405
15448
  * example:
14406
- * 2023-01-01T00:00:00Z
15449
+ * 2023-01-01T00:00:00.000Z
14407
15450
  */
14408
15451
  Parameters.CreatedAfter /* date-time */;
14409
15452
  sort_pending_first?: /* When true, sorts PENDING status jobs to the top of the results. */ Parameters.SortPendingFirst;
@@ -14492,6 +15535,7 @@ declare namespace Paths {
14492
15535
  }
14493
15536
  namespace ListChangesets {
14494
15537
  namespace Parameters {
15538
+ export type Anonymize = boolean;
14495
15539
  export type Id = Components.Schemas.EntityId /* uuid */;
14496
15540
  export type Slug = /**
14497
15541
  * URL-friendly identifier for the entity schema
@@ -14504,6 +15548,9 @@ declare namespace Paths {
14504
15548
  slug: Parameters.Slug;
14505
15549
  id: Parameters.Id;
14506
15550
  }
15551
+ export interface QueryParameters {
15552
+ anonymize?: Parameters.Anonymize;
15553
+ }
14507
15554
  namespace Responses {
14508
15555
  export type $200 = /* Map of attribute name to pending changeset. At most one changeset per attribute. */ Components.Schemas.ChangesetMap;
14509
15556
  export type $404 = /**
@@ -14560,6 +15607,7 @@ declare namespace Paths {
14560
15607
  */
14561
15608
  Components.Schemas.FieldsParam;
14562
15609
  export type From = number;
15610
+ export type Q = string;
14563
15611
  export type Size = number;
14564
15612
  export type Slug = /**
14565
15613
  * URL-friendly identifier for the entity schema
@@ -14574,6 +15622,7 @@ declare namespace Paths {
14574
15622
  sort?: Parameters.Sort;
14575
15623
  from?: Parameters.From;
14576
15624
  size?: Parameters.Size;
15625
+ q?: Parameters.Q;
14577
15626
  fields?: Parameters.Fields;
14578
15627
  }
14579
15628
  namespace Responses {
@@ -16456,7 +17505,7 @@ export interface OperationMethods {
16456
17505
  * Returns all pending changesets for an entity.
16457
17506
  */
16458
17507
  'listChangesets'(
16459
- parameters?: Parameters<Paths.ListChangesets.PathParameters> | null,
17508
+ parameters?: Parameters<Paths.ListChangesets.QueryParameters & Paths.ListChangesets.PathParameters> | null,
16460
17509
  data?: any,
16461
17510
  config?: AxiosRequestConfig
16462
17511
  ): OperationResponse<Paths.ListChangesets.Responses.$200>
@@ -16594,6 +17643,25 @@ export interface OperationMethods {
16594
17643
  data?: Paths.ImportEntities.RequestBody,
16595
17644
  config?: AxiosRequestConfig
16596
17645
  ): OperationResponse<Paths.ImportEntities.Responses.$201>
17646
+ /**
17647
+ * abortEntityImport - Abort a running entity import
17648
+ *
17649
+ * Asks a running import to stop. Rows already imported are **kept** - this is a stop, not a
17650
+ * rollback - and the job still produces its result reports for everything that landed before
17651
+ * the stop, then reaches the terminal status `CANCELLED`.
17652
+ *
17653
+ * The stop is cooperative: the worker notices the request at its next batch boundary, so the
17654
+ * job typically reaches `CANCELLED` within seconds. Poll `POST /v1/entity:import` with the
17655
+ * `job_id` as usual to observe it.
17656
+ *
17657
+ * Idempotent - aborting an already-aborted or already-finished job is not an error.
17658
+ *
17659
+ */
17660
+ 'abortEntityImport'(
17661
+ parameters?: Parameters<Paths.AbortEntityImport.QueryParameters> | null,
17662
+ data?: any,
17663
+ config?: AxiosRequestConfig
17664
+ ): OperationResponse<Paths.AbortEntityImport.Responses.$202>
16597
17665
  /**
16598
17666
  * listSavedViews - listSavedViews
16599
17667
  *
@@ -17690,7 +18758,7 @@ export interface PathsDictionary {
17690
18758
  * Returns all pending changesets for an entity.
17691
18759
  */
17692
18760
  'get'(
17693
- parameters?: Parameters<Paths.ListChangesets.PathParameters> | null,
18761
+ parameters?: Parameters<Paths.ListChangesets.QueryParameters & Paths.ListChangesets.PathParameters> | null,
17694
18762
  data?: any,
17695
18763
  config?: AxiosRequestConfig
17696
18764
  ): OperationResponse<Paths.ListChangesets.Responses.$200>
@@ -17845,6 +18913,27 @@ export interface PathsDictionary {
17845
18913
  config?: AxiosRequestConfig
17846
18914
  ): OperationResponse<Paths.ImportEntities.Responses.$201>
17847
18915
  }
18916
+ ['/v1/entity:abortImport']: {
18917
+ /**
18918
+ * abortEntityImport - Abort a running entity import
18919
+ *
18920
+ * Asks a running import to stop. Rows already imported are **kept** - this is a stop, not a
18921
+ * rollback - and the job still produces its result reports for everything that landed before
18922
+ * the stop, then reaches the terminal status `CANCELLED`.
18923
+ *
18924
+ * The stop is cooperative: the worker notices the request at its next batch boundary, so the
18925
+ * job typically reaches `CANCELLED` within seconds. Poll `POST /v1/entity:import` with the
18926
+ * `job_id` as usual to observe it.
18927
+ *
18928
+ * Idempotent - aborting an already-aborted or already-finished job is not an error.
18929
+ *
18930
+ */
18931
+ 'post'(
18932
+ parameters?: Parameters<Paths.AbortEntityImport.QueryParameters> | null,
18933
+ data?: any,
18934
+ config?: AxiosRequestConfig
18935
+ ): OperationResponse<Paths.AbortEntityImport.Responses.$202>
18936
+ }
17848
18937
  ['/v1/entity/views']: {
17849
18938
  /**
17850
18939
  * listSavedViews - listSavedViews
@@ -18352,6 +19441,7 @@ export type AttributeWithCompositeID = Components.Schemas.AttributeWithComposite
18352
19441
  export type AutomationAttribute = Components.Schemas.AutomationAttribute;
18353
19442
  export type BaseActivityItem = Components.Schemas.BaseActivityItem;
18354
19443
  export type BaseAttribute = Components.Schemas.BaseAttribute;
19444
+ export type BaseConditionDefinition = Components.Schemas.BaseConditionDefinition;
18355
19445
  export type BaseEntity = Components.Schemas.BaseEntity;
18356
19446
  export type BlueprintEntityId = Components.Schemas.BlueprintEntityId;
18357
19447
  export type BooleanAttribute = Components.Schemas.BooleanAttribute;
@@ -18363,12 +19453,14 @@ export type ClassificationIdOrPattern = Components.Schemas.ClassificationIdOrPat
18363
19453
  export type ClassificationSlug = Components.Schemas.ClassificationSlug;
18364
19454
  export type ClassificationsUpdate = Components.Schemas.ClassificationsUpdate;
18365
19455
  export type ComputedAttribute = Components.Schemas.ComputedAttribute;
19456
+ export type ConditionDefinition = Components.Schemas.ConditionDefinition;
18366
19457
  export type ConsentAttribute = Components.Schemas.ConsentAttribute;
18367
19458
  export type CountryAttribute = Components.Schemas.CountryAttribute;
18368
19459
  export type CurrencyAttribute = Components.Schemas.CurrencyAttribute;
18369
19460
  export type DateAttribute = Components.Schemas.DateAttribute;
18370
19461
  export type DefaultAddressFields = Components.Schemas.DefaultAddressFields;
18371
19462
  export type ESClusterAssignment = Components.Schemas.ESClusterAssignment;
19463
+ export type EditMode = Components.Schemas.EditMode;
18372
19464
  export type EditModeConfig = Components.Schemas.EditModeConfig;
18373
19465
  export type EmailAttribute = Components.Schemas.EmailAttribute;
18374
19466
  export type Entity = Components.Schemas.Entity;
@@ -18384,6 +19476,7 @@ export type EntityImportParams = Components.Schemas.EntityImportParams;
18384
19476
  export type EntityItem = Components.Schemas.EntityItem;
18385
19477
  export type EntityListParams = Components.Schemas.EntityListParams;
18386
19478
  export type EntityOperation = Components.Schemas.EntityOperation;
19479
+ export type EntityOperationSourceContext = Components.Schemas.EntityOperationSourceContext;
18387
19480
  export type EntityOwner = Components.Schemas.EntityOwner;
18388
19481
  export type EntitySchema = Components.Schemas.EntitySchema;
18389
19482
  export type EntitySchemaGroup = Components.Schemas.EntitySchemaGroup;
@@ -18432,8 +19525,10 @@ export type IsTemplate = Components.Schemas.IsTemplate;
18432
19525
  export type Language = Components.Schemas.Language;
18433
19526
  export type LinkAttribute = Components.Schemas.LinkAttribute;
18434
19527
  export type ListSavedViewsResults = Components.Schemas.ListSavedViewsResults;
19528
+ export type LocationConditionDefinition = Components.Schemas.LocationConditionDefinition;
18435
19529
  export type MatchStrategy = Components.Schemas.MatchStrategy;
18436
19530
  export type MessageEmailAddressAttribute = Components.Schemas.MessageEmailAddressAttribute;
19531
+ export type MeterReadingChangesetEntry = Components.Schemas.MeterReadingChangesetEntry;
18437
19532
  export type MultiSelectAttribute = Components.Schemas.MultiSelectAttribute;
18438
19533
  export type NullableEntity = Components.Schemas.NullableEntity;
18439
19534
  export type NumberAttribute = Components.Schemas.NumberAttribute;
@@ -18455,11 +19550,13 @@ export type SavedView = Components.Schemas.SavedView;
18455
19550
  export type SavedViewId = Components.Schemas.SavedViewId;
18456
19551
  export type SavedViewItem = Components.Schemas.SavedViewItem;
18457
19552
  export type SavedViewPartial = Components.Schemas.SavedViewPartial;
19553
+ export type ScalarConditionDefinition = Components.Schemas.ScalarConditionDefinition;
18458
19554
  export type SchemaId = Components.Schemas.SchemaId;
18459
19555
  export type SearchFilter = Components.Schemas.SearchFilter;
18460
19556
  export type SearchFilterValue = Components.Schemas.SearchFilterValue;
18461
19557
  export type SearchMappings = Components.Schemas.SearchMappings;
18462
19558
  export type SelectAttribute = Components.Schemas.SelectAttribute;
19559
+ export type SelectConditionDefinition = Components.Schemas.SelectConditionDefinition;
18463
19560
  export type SequenceAttribute = Components.Schemas.SequenceAttribute;
18464
19561
  export type SettingFlag = Components.Schemas.SettingFlag;
18465
19562
  export type StatusAttribute = Components.Schemas.StatusAttribute;