@epilot/entity-client 7.1.3 → 7.2.0-rc2

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,7 +20,9 @@ declare namespace Components {
20
20
  * 01F130Q52Q6MWSNS8N2AVXV4JN
21
21
  */
22
22
  Schemas.ActivityId /* ulid ^01[0-9a-zA-Z]{24}$ */ | ("" | null);
23
+ export type ApplyChangesetsQueryParam = boolean;
23
24
  export type AsyncOperationQueryParam = boolean;
25
+ export type DirectQueryParam = boolean;
24
26
  export type DryRunQueryParam = boolean;
25
27
  export type EntityIdPathParam = Schemas.EntityId /* uuid */;
26
28
  export type EntityRelationsModeQueryParam = "direct" | "reverse" | "both";
@@ -89,6 +91,8 @@ declare namespace Components {
89
91
  DryRunQueryParam?: Parameters.DryRunQueryParam;
90
92
  FillActivityQueryParam?: Parameters.FillActivityQueryParam;
91
93
  ValidateEntityQueryParam?: Parameters.ValidateEntityQueryParam;
94
+ DirectQueryParam?: Parameters.DirectQueryParam;
95
+ ApplyChangesetsQueryParam?: Parameters.ApplyChangesetsQueryParam;
92
96
  }
93
97
  namespace Responses {
94
98
  /**
@@ -174,6 +178,10 @@ declare namespace Components {
174
178
  * - RelationsSoftDeleted
175
179
  * - RelationsRestored
176
180
  * - RelationsDeleted
181
+ * - ChangesetCreated
182
+ * - ChangesetAutoCleared
183
+ * - ChangesetApplied
184
+ * - ChangesetDismissed
177
185
  *
178
186
  */
179
187
  ActivityType;
@@ -287,6 +295,10 @@ declare namespace Components {
287
295
  * - RelationsSoftDeleted
288
296
  * - RelationsRestored
289
297
  * - RelationsDeleted
298
+ * - ChangesetCreated
299
+ * - ChangesetAutoCleared
300
+ * - ChangesetApplied
301
+ * - ChangesetDismissed
290
302
  *
291
303
  */
292
304
  ActivityType;
@@ -343,6 +355,10 @@ declare namespace Components {
343
355
  * - RelationsSoftDeleted
344
356
  * - RelationsRestored
345
357
  * - RelationsDeleted
358
+ * - ChangesetCreated
359
+ * - ChangesetAutoCleared
360
+ * - ChangesetApplied
361
+ * - ChangesetDismissed
346
362
  *
347
363
  */
348
364
  export type ActivityType = string;
@@ -499,6 +515,28 @@ declare namespace Components {
499
515
  */
500
516
  repeatable?: boolean;
501
517
  has_primary?: boolean;
518
+ /**
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.
523
+ *
524
+ */
525
+ edit_mode?: "direct" | "external" | "approval";
526
+ /**
527
+ * Configuration for non-direct edit modes. Required when edit_mode is external or approval with fuzzy match strategy.
528
+ */
529
+ edit_mode_config?: {
530
+ match_strategy?: /**
531
+ * Strategy for auto-clearing the changeset when an external update is received.
532
+ * - `exact`: The inbound value must exactly match the proposed value (deep equality).
533
+ * - `fuzzy`: The inbound value is compared using the configured fuzzy algorithm.
534
+ * - `any`: Any update to the attribute clears the changeset, regardless of value.
535
+ *
536
+ */
537
+ MatchStrategy;
538
+ fuzzy_config?: /* Configuration for fuzzy match strategies on changeset auto-clearing. */ FuzzyConfig;
539
+ };
502
540
  type: "address";
503
541
  default_address_fields?: /**
504
542
  * Default fields visible on addresses
@@ -680,6 +718,28 @@ declare namespace Components {
680
718
  */
681
719
  repeatable?: boolean;
682
720
  has_primary?: boolean;
721
+ /**
722
+ * Controls how updates to this attribute are handled.
723
+ * - `direct` (default): update is applied immediately. No changeset created.
724
+ * - `external`: update creates a changeset, auto-cleared on matching external update (e.g. ERP inbound sync via ?direct=true).
725
+ * - `approval`: update creates a changeset, requires explicit human approval.
726
+ *
727
+ */
728
+ edit_mode?: "direct" | "external" | "approval";
729
+ /**
730
+ * Configuration for non-direct edit modes. Required when edit_mode is external or approval with fuzzy match strategy.
731
+ */
732
+ edit_mode_config?: {
733
+ match_strategy?: /**
734
+ * Strategy for auto-clearing the changeset when an external update is received.
735
+ * - `exact`: The inbound value must exactly match the proposed value (deep equality).
736
+ * - `fuzzy`: The inbound value is compared using the configured fuzzy algorithm.
737
+ * - `any`: Any update to the attribute clears the changeset, regardless of value.
738
+ *
739
+ */
740
+ MatchStrategy;
741
+ fuzzy_config?: /* Configuration for fuzzy match strategies on changeset auto-clearing. */ FuzzyConfig;
742
+ };
683
743
  type: "relation_address";
684
744
  default_address_fields?: /**
685
745
  * Default fields visible on addresses
@@ -878,6 +938,28 @@ declare namespace Components {
878
938
  */
879
939
  repeatable?: boolean;
880
940
  has_primary?: boolean;
941
+ /**
942
+ * Controls how updates to this attribute are handled.
943
+ * - `direct` (default): update is applied immediately. No changeset created.
944
+ * - `external`: update creates a changeset, auto-cleared on matching external update (e.g. ERP inbound sync via ?direct=true).
945
+ * - `approval`: update creates a changeset, requires explicit human approval.
946
+ *
947
+ */
948
+ edit_mode?: "direct" | "external" | "approval";
949
+ /**
950
+ * Configuration for non-direct edit modes. Required when edit_mode is external or approval with fuzzy match strategy.
951
+ */
952
+ edit_mode_config?: {
953
+ match_strategy?: /**
954
+ * Strategy for auto-clearing the changeset when an external update is received.
955
+ * - `exact`: The inbound value must exactly match the proposed value (deep equality).
956
+ * - `fuzzy`: The inbound value is compared using the configured fuzzy algorithm.
957
+ * - `any`: Any update to the attribute clears the changeset, regardless of value.
958
+ *
959
+ */
960
+ MatchStrategy;
961
+ fuzzy_config?: /* Configuration for fuzzy match strategies on changeset auto-clearing. */ FuzzyConfig;
962
+ };
881
963
  type: "automation";
882
964
  }
883
965
  export interface BaseActivityItem {
@@ -902,6 +984,10 @@ declare namespace Components {
902
984
  * - RelationsSoftDeleted
903
985
  * - RelationsRestored
904
986
  * - RelationsDeleted
987
+ * - ChangesetCreated
988
+ * - ChangesetAutoCleared
989
+ * - ChangesetApplied
990
+ * - ChangesetDismissed
905
991
  *
906
992
  */
907
993
  ActivityType;
@@ -1087,6 +1173,28 @@ declare namespace Components {
1087
1173
  */
1088
1174
  repeatable?: boolean;
1089
1175
  has_primary?: boolean;
1176
+ /**
1177
+ * Controls how updates to this attribute are handled.
1178
+ * - `direct` (default): update is applied immediately. No changeset created.
1179
+ * - `external`: update creates a changeset, auto-cleared on matching external update (e.g. ERP inbound sync via ?direct=true).
1180
+ * - `approval`: update creates a changeset, requires explicit human approval.
1181
+ *
1182
+ */
1183
+ edit_mode?: "direct" | "external" | "approval";
1184
+ /**
1185
+ * Configuration for non-direct edit modes. Required when edit_mode is external or approval with fuzzy match strategy.
1186
+ */
1187
+ edit_mode_config?: {
1188
+ match_strategy?: /**
1189
+ * Strategy for auto-clearing the changeset when an external update is received.
1190
+ * - `exact`: The inbound value must exactly match the proposed value (deep equality).
1191
+ * - `fuzzy`: The inbound value is compared using the configured fuzzy algorithm.
1192
+ * - `any`: Any update to the attribute clears the changeset, regardless of value.
1193
+ *
1194
+ */
1195
+ MatchStrategy;
1196
+ fuzzy_config?: /* Configuration for fuzzy match strategies on changeset auto-clearing. */ FuzzyConfig;
1197
+ };
1090
1198
  }
1091
1199
  /**
1092
1200
  * example:
@@ -1169,6 +1277,15 @@ declare namespace Components {
1169
1277
  * Manifest ID used to create/update the entity
1170
1278
  */
1171
1279
  _manifest?: string /* uuid */[] | null;
1280
+ /**
1281
+ * Pending attribute changesets for attributes configured with external or approval edit mode.
1282
+ * Read-only via normal entity PATCH/PUT operations — cannot be set directly.
1283
+ * Use the changeset management endpoints to apply or dismiss changesets.
1284
+ *
1285
+ */
1286
+ _changesets?: {
1287
+ [name: string]: /* A pending proposed change for a single entity attribute, awaiting external confirmation or human approval. */ Changeset;
1288
+ } | null;
1172
1289
  }
1173
1290
  /**
1174
1291
  * Reference to blueprint
@@ -1327,9 +1444,99 @@ declare namespace Components {
1327
1444
  */
1328
1445
  repeatable?: boolean;
1329
1446
  has_primary?: boolean;
1447
+ /**
1448
+ * Controls how updates to this attribute are handled.
1449
+ * - `direct` (default): update is applied immediately. No changeset created.
1450
+ * - `external`: update creates a changeset, auto-cleared on matching external update (e.g. ERP inbound sync via ?direct=true).
1451
+ * - `approval`: update creates a changeset, requires explicit human approval.
1452
+ *
1453
+ */
1454
+ edit_mode?: "direct" | "external" | "approval";
1455
+ /**
1456
+ * Configuration for non-direct edit modes. Required when edit_mode is external or approval with fuzzy match strategy.
1457
+ */
1458
+ edit_mode_config?: {
1459
+ match_strategy?: /**
1460
+ * Strategy for auto-clearing the changeset when an external update is received.
1461
+ * - `exact`: The inbound value must exactly match the proposed value (deep equality).
1462
+ * - `fuzzy`: The inbound value is compared using the configured fuzzy algorithm.
1463
+ * - `any`: Any update to the attribute clears the changeset, regardless of value.
1464
+ *
1465
+ */
1466
+ MatchStrategy;
1467
+ fuzzy_config?: /* Configuration for fuzzy match strategies on changeset auto-clearing. */ FuzzyConfig;
1468
+ };
1330
1469
  type: "boolean";
1331
1470
  display_type?: "switch" | "checkbox";
1332
1471
  }
1472
+ /**
1473
+ * A pending proposed change for a single entity attribute, awaiting external confirmation or human approval.
1474
+ */
1475
+ export interface Changeset {
1476
+ /**
1477
+ * The proposed new value for the attribute. Type matches the attribute type.
1478
+ */
1479
+ proposed_value: any;
1480
+ /**
1481
+ * The attribute value at the time the changeset was created. Stored for reference.
1482
+ */
1483
+ previous_value?: any;
1484
+ /**
1485
+ * Timestamp when the changeset was created
1486
+ */
1487
+ created_at: string; // date-time
1488
+ created_by?: /* Identifies the actor that created the changeset. */ ChangesetCreator;
1489
+ /**
1490
+ * The edit mode that triggered this changeset
1491
+ */
1492
+ edit_mode: "external" | "approval";
1493
+ match_strategy?: /**
1494
+ * Strategy for auto-clearing the changeset when an external update is received.
1495
+ * - `exact`: The inbound value must exactly match the proposed value (deep equality).
1496
+ * - `fuzzy`: The inbound value is compared using the configured fuzzy algorithm.
1497
+ * - `any`: Any update to the attribute clears the changeset, regardless of value.
1498
+ *
1499
+ */
1500
+ MatchStrategy;
1501
+ /**
1502
+ * Optional label indicating where the change originated (e.g. end_customer_portal, installer_portal, journey, automation)
1503
+ */
1504
+ source?: string;
1505
+ /**
1506
+ * Proposed and previous values for related fields in a multi-field attribute group (e.g. currency _decimal/_currency suffixes). Keyed by full field name.
1507
+ */
1508
+ related_values?: {
1509
+ [name: string]: {
1510
+ /**
1511
+ * The proposed new value for the related field.
1512
+ */
1513
+ proposed_value?: any;
1514
+ /**
1515
+ * The value of the related field when the changeset was created.
1516
+ */
1517
+ previous_value?: any;
1518
+ };
1519
+ };
1520
+ }
1521
+ /**
1522
+ * Identifies the actor that created the changeset.
1523
+ */
1524
+ export interface ChangesetCreator {
1525
+ /**
1526
+ * Type of actor that created the changeset
1527
+ */
1528
+ type?: "user" | "portal_user" | "api_client" | "automation";
1529
+ /**
1530
+ * ID of the actor (user ID, portal user ID, API client ID, etc.)
1531
+ */
1532
+ id?: string;
1533
+ }
1534
+ /**
1535
+ * Map of attribute name to pending changeset. At most one changeset per attribute.
1536
+ */
1537
+ export interface ChangesetMap {
1538
+ [name: string]: /* A pending proposed change for a single entity attribute, awaiting external confirmation or human approval. */ Changeset;
1539
+ }
1333
1540
  /**
1334
1541
  * example:
1335
1542
  * taxonomy-slug:classification-slug
@@ -1525,6 +1732,28 @@ declare namespace Components {
1525
1732
  */
1526
1733
  repeatable?: boolean;
1527
1734
  has_primary?: boolean;
1735
+ /**
1736
+ * Controls how updates to this attribute are handled.
1737
+ * - `direct` (default): update is applied immediately. No changeset created.
1738
+ * - `external`: update creates a changeset, auto-cleared on matching external update (e.g. ERP inbound sync via ?direct=true).
1739
+ * - `approval`: update creates a changeset, requires explicit human approval.
1740
+ *
1741
+ */
1742
+ edit_mode?: "direct" | "external" | "approval";
1743
+ /**
1744
+ * Configuration for non-direct edit modes. Required when edit_mode is external or approval with fuzzy match strategy.
1745
+ */
1746
+ edit_mode_config?: {
1747
+ match_strategy?: /**
1748
+ * Strategy for auto-clearing the changeset when an external update is received.
1749
+ * - `exact`: The inbound value must exactly match the proposed value (deep equality).
1750
+ * - `fuzzy`: The inbound value is compared using the configured fuzzy algorithm.
1751
+ * - `any`: Any update to the attribute clears the changeset, regardless of value.
1752
+ *
1753
+ */
1754
+ MatchStrategy;
1755
+ fuzzy_config?: /* Configuration for fuzzy match strategies on changeset auto-clearing. */ FuzzyConfig;
1756
+ };
1528
1757
  type: "computed";
1529
1758
  computed?: boolean;
1530
1759
  /**
@@ -1689,6 +1918,28 @@ declare namespace Components {
1689
1918
  */
1690
1919
  repeatable?: boolean;
1691
1920
  has_primary?: boolean;
1921
+ /**
1922
+ * Controls how updates to this attribute are handled.
1923
+ * - `direct` (default): update is applied immediately. No changeset created.
1924
+ * - `external`: update creates a changeset, auto-cleared on matching external update (e.g. ERP inbound sync via ?direct=true).
1925
+ * - `approval`: update creates a changeset, requires explicit human approval.
1926
+ *
1927
+ */
1928
+ edit_mode?: "direct" | "external" | "approval";
1929
+ /**
1930
+ * Configuration for non-direct edit modes. Required when edit_mode is external or approval with fuzzy match strategy.
1931
+ */
1932
+ edit_mode_config?: {
1933
+ match_strategy?: /**
1934
+ * Strategy for auto-clearing the changeset when an external update is received.
1935
+ * - `exact`: The inbound value must exactly match the proposed value (deep equality).
1936
+ * - `fuzzy`: The inbound value is compared using the configured fuzzy algorithm.
1937
+ * - `any`: Any update to the attribute clears the changeset, regardless of value.
1938
+ *
1939
+ */
1940
+ MatchStrategy;
1941
+ fuzzy_config?: /* Configuration for fuzzy match strategies on changeset auto-clearing. */ FuzzyConfig;
1942
+ };
1692
1943
  type: "consent";
1693
1944
  topic: string;
1694
1945
  identifiers?: string[];
@@ -1846,6 +2097,28 @@ declare namespace Components {
1846
2097
  */
1847
2098
  repeatable?: boolean;
1848
2099
  has_primary?: boolean;
2100
+ /**
2101
+ * Controls how updates to this attribute are handled.
2102
+ * - `direct` (default): update is applied immediately. No changeset created.
2103
+ * - `external`: update creates a changeset, auto-cleared on matching external update (e.g. ERP inbound sync via ?direct=true).
2104
+ * - `approval`: update creates a changeset, requires explicit human approval.
2105
+ *
2106
+ */
2107
+ edit_mode?: "direct" | "external" | "approval";
2108
+ /**
2109
+ * Configuration for non-direct edit modes. Required when edit_mode is external or approval with fuzzy match strategy.
2110
+ */
2111
+ edit_mode_config?: {
2112
+ match_strategy?: /**
2113
+ * Strategy for auto-clearing the changeset when an external update is received.
2114
+ * - `exact`: The inbound value must exactly match the proposed value (deep equality).
2115
+ * - `fuzzy`: The inbound value is compared using the configured fuzzy algorithm.
2116
+ * - `any`: Any update to the attribute clears the changeset, regardless of value.
2117
+ *
2118
+ */
2119
+ MatchStrategy;
2120
+ fuzzy_config?: /* Configuration for fuzzy match strategies on changeset auto-clearing. */ FuzzyConfig;
2121
+ };
1849
2122
  type: "country";
1850
2123
  }
1851
2124
  /**
@@ -2001,6 +2274,28 @@ declare namespace Components {
2001
2274
  */
2002
2275
  repeatable?: boolean;
2003
2276
  has_primary?: boolean;
2277
+ /**
2278
+ * Controls how updates to this attribute are handled.
2279
+ * - `direct` (default): update is applied immediately. No changeset created.
2280
+ * - `external`: update creates a changeset, auto-cleared on matching external update (e.g. ERP inbound sync via ?direct=true).
2281
+ * - `approval`: update creates a changeset, requires explicit human approval.
2282
+ *
2283
+ */
2284
+ edit_mode?: "direct" | "external" | "approval";
2285
+ /**
2286
+ * Configuration for non-direct edit modes. Required when edit_mode is external or approval with fuzzy match strategy.
2287
+ */
2288
+ edit_mode_config?: {
2289
+ match_strategy?: /**
2290
+ * Strategy for auto-clearing the changeset when an external update is received.
2291
+ * - `exact`: The inbound value must exactly match the proposed value (deep equality).
2292
+ * - `fuzzy`: The inbound value is compared using the configured fuzzy algorithm.
2293
+ * - `any`: Any update to the attribute clears the changeset, regardless of value.
2294
+ *
2295
+ */
2296
+ MatchStrategy;
2297
+ fuzzy_config?: /* Configuration for fuzzy match strategies on changeset auto-clearing. */ FuzzyConfig;
2298
+ };
2004
2299
  type: "currency";
2005
2300
  currency_selector_only?: boolean;
2006
2301
  /**
@@ -2166,6 +2461,28 @@ declare namespace Components {
2166
2461
  */
2167
2462
  repeatable?: boolean;
2168
2463
  has_primary?: boolean;
2464
+ /**
2465
+ * Controls how updates to this attribute are handled.
2466
+ * - `direct` (default): update is applied immediately. No changeset created.
2467
+ * - `external`: update creates a changeset, auto-cleared on matching external update (e.g. ERP inbound sync via ?direct=true).
2468
+ * - `approval`: update creates a changeset, requires explicit human approval.
2469
+ *
2470
+ */
2471
+ edit_mode?: "direct" | "external" | "approval";
2472
+ /**
2473
+ * Configuration for non-direct edit modes. Required when edit_mode is external or approval with fuzzy match strategy.
2474
+ */
2475
+ edit_mode_config?: {
2476
+ match_strategy?: /**
2477
+ * Strategy for auto-clearing the changeset when an external update is received.
2478
+ * - `exact`: The inbound value must exactly match the proposed value (deep equality).
2479
+ * - `fuzzy`: The inbound value is compared using the configured fuzzy algorithm.
2480
+ * - `any`: Any update to the attribute clears the changeset, regardless of value.
2481
+ *
2482
+ */
2483
+ MatchStrategy;
2484
+ fuzzy_config?: /* Configuration for fuzzy match strategies on changeset auto-clearing. */ FuzzyConfig;
2485
+ };
2169
2486
  type: "date" | "datetime";
2170
2487
  }
2171
2488
  /**
@@ -2204,6 +2521,20 @@ declare namespace Components {
2204
2521
  */
2205
2522
  cluster?: string;
2206
2523
  }
2524
+ /**
2525
+ * Configuration for non-direct edit modes on an entity attribute.
2526
+ */
2527
+ export interface EditModeConfig {
2528
+ match_strategy?: /**
2529
+ * Strategy for auto-clearing the changeset when an external update is received.
2530
+ * - `exact`: The inbound value must exactly match the proposed value (deep equality).
2531
+ * - `fuzzy`: The inbound value is compared using the configured fuzzy algorithm.
2532
+ * - `any`: Any update to the attribute clears the changeset, regardless of value.
2533
+ *
2534
+ */
2535
+ MatchStrategy;
2536
+ fuzzy_config?: /* Configuration for fuzzy match strategies on changeset auto-clearing. */ FuzzyConfig;
2537
+ }
2207
2538
  /**
2208
2539
  * Email address
2209
2540
  */
@@ -2357,6 +2688,28 @@ declare namespace Components {
2357
2688
  */
2358
2689
  repeatable?: boolean;
2359
2690
  has_primary?: boolean;
2691
+ /**
2692
+ * Controls how updates to this attribute are handled.
2693
+ * - `direct` (default): update is applied immediately. No changeset created.
2694
+ * - `external`: update creates a changeset, auto-cleared on matching external update (e.g. ERP inbound sync via ?direct=true).
2695
+ * - `approval`: update creates a changeset, requires explicit human approval.
2696
+ *
2697
+ */
2698
+ edit_mode?: "direct" | "external" | "approval";
2699
+ /**
2700
+ * Configuration for non-direct edit modes. Required when edit_mode is external or approval with fuzzy match strategy.
2701
+ */
2702
+ edit_mode_config?: {
2703
+ match_strategy?: /**
2704
+ * Strategy for auto-clearing the changeset when an external update is received.
2705
+ * - `exact`: The inbound value must exactly match the proposed value (deep equality).
2706
+ * - `fuzzy`: The inbound value is compared using the configured fuzzy algorithm.
2707
+ * - `any`: Any update to the attribute clears the changeset, regardless of value.
2708
+ *
2709
+ */
2710
+ MatchStrategy;
2711
+ fuzzy_config?: /* Configuration for fuzzy match strategies on changeset auto-clearing. */ FuzzyConfig;
2712
+ };
2360
2713
  type: "email";
2361
2714
  }
2362
2715
  /**
@@ -2440,6 +2793,15 @@ declare namespace Components {
2440
2793
  * Manifest ID used to create/update the entity
2441
2794
  */
2442
2795
  _manifest?: string /* uuid */[] | null;
2796
+ /**
2797
+ * Pending attribute changesets for attributes configured with external or approval edit mode.
2798
+ * Read-only via normal entity PATCH/PUT operations — cannot be set directly.
2799
+ * Use the changeset management endpoints to apply or dismiss changesets.
2800
+ *
2801
+ */
2802
+ _changesets?: {
2803
+ [name: string]: /* A pending proposed change for a single entity attribute, awaiting external confirmation or human approval. */ Changeset;
2804
+ } | null;
2443
2805
  }
2444
2806
  /**
2445
2807
  * Access control list (ACL) for an entity. Defines sharing access to external orgs or users.
@@ -2935,6 +3297,15 @@ declare namespace Components {
2935
3297
  * Manifest ID used to create/update the entity
2936
3298
  */
2937
3299
  _manifest?: string /* uuid */[] | null;
3300
+ /**
3301
+ * Pending attribute changesets for attributes configured with external or approval edit mode.
3302
+ * Read-only via normal entity PATCH/PUT operations — cannot be set directly.
3303
+ * Use the changeset management endpoints to apply or dismiss changesets.
3304
+ *
3305
+ */
3306
+ _changesets?: {
3307
+ [name: string]: /* A pending proposed change for a single entity attribute, awaiting external confirmation or human approval. */ Changeset;
3308
+ } | null;
2938
3309
  }
2939
3310
  export interface EntityListParams {
2940
3311
  /**
@@ -3111,6 +3482,10 @@ declare namespace Components {
3111
3482
  * - RelationsSoftDeleted
3112
3483
  * - RelationsRestored
3113
3484
  * - RelationsDeleted
3485
+ * - ChangesetCreated
3486
+ * - ChangesetAutoCleared
3487
+ * - ChangesetApplied
3488
+ * - ChangesetDismissed
3114
3489
  *
3115
3490
  */
3116
3491
  ActivityType;
@@ -3213,6 +3588,15 @@ declare namespace Components {
3213
3588
  * Manifest ID used to create/update the entity
3214
3589
  */
3215
3590
  _manifest?: string /* uuid */[] | null;
3591
+ /**
3592
+ * Pending attribute changesets for attributes configured with external or approval edit mode.
3593
+ * Read-only via normal entity PATCH/PUT operations — cannot be set directly.
3594
+ * Use the changeset management endpoints to apply or dismiss changesets.
3595
+ *
3596
+ */
3597
+ _changesets?: {
3598
+ [name: string]: /* A pending proposed change for a single entity attribute, awaiting external confirmation or human approval. */ Changeset;
3599
+ } | null;
3216
3600
  };
3217
3601
  diff?: {
3218
3602
  /**
@@ -3297,6 +3681,15 @@ declare namespace Components {
3297
3681
  * Manifest ID used to create/update the entity
3298
3682
  */
3299
3683
  _manifest?: string /* uuid */[] | null;
3684
+ /**
3685
+ * Pending attribute changesets for attributes configured with external or approval edit mode.
3686
+ * Read-only via normal entity PATCH/PUT operations — cannot be set directly.
3687
+ * Use the changeset management endpoints to apply or dismiss changesets.
3688
+ *
3689
+ */
3690
+ _changesets?: {
3691
+ [name: string]: /* A pending proposed change for a single entity attribute, awaiting external confirmation or human approval. */ Changeset;
3692
+ } | null;
3300
3693
  };
3301
3694
  /**
3302
3695
  * Attributes updated in the entity. Note: These values contain the previous values before the update!
@@ -3380,6 +3773,15 @@ declare namespace Components {
3380
3773
  * Manifest ID used to create/update the entity
3381
3774
  */
3382
3775
  _manifest?: string /* uuid */[] | null;
3776
+ /**
3777
+ * Pending attribute changesets for attributes configured with external or approval edit mode.
3778
+ * Read-only via normal entity PATCH/PUT operations — cannot be set directly.
3779
+ * Use the changeset management endpoints to apply or dismiss changesets.
3780
+ *
3781
+ */
3782
+ _changesets?: {
3783
+ [name: string]: /* A pending proposed change for a single entity attribute, awaiting external confirmation or human approval. */ Changeset;
3784
+ } | null;
3383
3785
  };
3384
3786
  /**
3385
3787
  * Attributes removed from the entity as part of the operation
@@ -3463,6 +3865,15 @@ declare namespace Components {
3463
3865
  * Manifest ID used to create/update the entity
3464
3866
  */
3465
3867
  _manifest?: string /* uuid */[] | null;
3868
+ /**
3869
+ * Pending attribute changesets for attributes configured with external or approval edit mode.
3870
+ * Read-only via normal entity PATCH/PUT operations — cannot be set directly.
3871
+ * Use the changeset management endpoints to apply or dismiss changesets.
3872
+ *
3873
+ */
3874
+ _changesets?: {
3875
+ [name: string]: /* A pending proposed change for a single entity attribute, awaiting external confirmation or human approval. */ Changeset;
3876
+ } | null;
3466
3877
  };
3467
3878
  };
3468
3879
  /**
@@ -4796,6 +5207,28 @@ declare namespace Components {
4796
5207
  */
4797
5208
  repeatable?: boolean;
4798
5209
  has_primary?: boolean;
5210
+ /**
5211
+ * Controls how updates to this attribute are handled.
5212
+ * - `direct` (default): update is applied immediately. No changeset created.
5213
+ * - `external`: update creates a changeset, auto-cleared on matching external update (e.g. ERP inbound sync via ?direct=true).
5214
+ * - `approval`: update creates a changeset, requires explicit human approval.
5215
+ *
5216
+ */
5217
+ edit_mode?: "direct" | "external" | "approval";
5218
+ /**
5219
+ * Configuration for non-direct edit modes. Required when edit_mode is external or approval with fuzzy match strategy.
5220
+ */
5221
+ edit_mode_config?: {
5222
+ match_strategy?: /**
5223
+ * Strategy for auto-clearing the changeset when an external update is received.
5224
+ * - `exact`: The inbound value must exactly match the proposed value (deep equality).
5225
+ * - `fuzzy`: The inbound value is compared using the configured fuzzy algorithm.
5226
+ * - `any`: Any update to the attribute clears the changeset, regardless of value.
5227
+ *
5228
+ */
5229
+ MatchStrategy;
5230
+ fuzzy_config?: /* Configuration for fuzzy match strategies on changeset auto-clearing. */ FuzzyConfig;
5231
+ };
4799
5232
  type: "image" | "file";
4800
5233
  multiple?: boolean;
4801
5234
  /**
@@ -4820,6 +5253,39 @@ declare namespace Components {
4820
5253
  */
4821
5254
  file_size_bytes?: number;
4822
5255
  }
5256
+ /**
5257
+ * Configuration for fuzzy match strategies on changeset auto-clearing.
5258
+ */
5259
+ export interface FuzzyConfig {
5260
+ /**
5261
+ * Which fuzzy algorithm to apply.
5262
+ */
5263
+ type: "suffix" | "digits_only" | "normalize_phone" | "ignore_fields" | "contains_entry" | "regex";
5264
+ /**
5265
+ * For type=suffix: number of characters to compare from end of string.
5266
+ */
5267
+ suffix_length?: number;
5268
+ /**
5269
+ * For type=ignore_fields: field names to exclude when comparing array entries.
5270
+ */
5271
+ fields_to_ignore?: string[];
5272
+ /**
5273
+ * For type=regex: flags to apply to the regex (e.g. 'i' for case-insensitive).
5274
+ */
5275
+ regex_flags?: string;
5276
+ /**
5277
+ * For type=normalize_phone: country dialing code digits to strip (e.g. '49' for Germany). No '+' prefix.
5278
+ */
5279
+ country_code?: string;
5280
+ /**
5281
+ * For type=normalize_phone and type=contains_entry: attribute key(s) within array entries to compare on.
5282
+ */
5283
+ match_on?: string;
5284
+ /**
5285
+ * For type=regex: regular expression pattern to test the incoming value against.
5286
+ */
5287
+ pattern?: string;
5288
+ }
4823
5289
  export interface GenerateEntityTableAIFiltersRequest {
4824
5290
  /**
4825
5291
  * The prompt to generate the filters
@@ -4987,6 +5453,10 @@ declare namespace Components {
4987
5453
  * If true, return full entity objects in entityNodes instead of just entity IDs in nodes
4988
5454
  */
4989
5455
  hydrate?: boolean;
5456
+ /**
5457
+ * When true and hydrate is also true, entity objects in entityNodes have pending changeset proposed values applied in-place. The _changesets field is still included in the response.
5458
+ */
5459
+ apply_changesets?: boolean;
4990
5460
  }
4991
5461
  export interface GraphQueryResponse {
4992
5462
  /**
@@ -5403,6 +5873,15 @@ declare namespace Components {
5403
5873
  * Manifest ID used to create/update the entity
5404
5874
  */
5405
5875
  _manifest?: string /* uuid */[] | null;
5876
+ /**
5877
+ * Pending attribute changesets for attributes configured with external or approval edit mode.
5878
+ * Read-only via normal entity PATCH/PUT operations — cannot be set directly.
5879
+ * Use the changeset management endpoints to apply or dismiss changesets.
5880
+ *
5881
+ */
5882
+ _changesets?: {
5883
+ [name: string]: /* A pending proposed change for a single entity attribute, awaiting external confirmation or human approval. */ Changeset;
5884
+ } | null;
5406
5885
  _relations: {
5407
5886
  entity_id: EntityId /* uuid */;
5408
5887
  }[];
@@ -5560,6 +6039,28 @@ declare namespace Components {
5560
6039
  */
5561
6040
  repeatable?: boolean;
5562
6041
  has_primary?: boolean;
6042
+ /**
6043
+ * Controls how updates to this attribute are handled.
6044
+ * - `direct` (default): update is applied immediately. No changeset created.
6045
+ * - `external`: update creates a changeset, auto-cleared on matching external update (e.g. ERP inbound sync via ?direct=true).
6046
+ * - `approval`: update creates a changeset, requires explicit human approval.
6047
+ *
6048
+ */
6049
+ edit_mode?: "direct" | "external" | "approval";
6050
+ /**
6051
+ * Configuration for non-direct edit modes. Required when edit_mode is external or approval with fuzzy match strategy.
6052
+ */
6053
+ edit_mode_config?: {
6054
+ match_strategy?: /**
6055
+ * Strategy for auto-clearing the changeset when an external update is received.
6056
+ * - `exact`: The inbound value must exactly match the proposed value (deep equality).
6057
+ * - `fuzzy`: The inbound value is compared using the configured fuzzy algorithm.
6058
+ * - `any`: Any update to the attribute clears the changeset, regardless of value.
6059
+ *
6060
+ */
6061
+ MatchStrategy;
6062
+ fuzzy_config?: /* Configuration for fuzzy match strategies on changeset auto-clearing. */ FuzzyConfig;
6063
+ };
5563
6064
  type: "internal";
5564
6065
  }
5565
6066
  /**
@@ -5715,6 +6216,28 @@ declare namespace Components {
5715
6216
  */
5716
6217
  repeatable?: boolean;
5717
6218
  has_primary?: boolean;
6219
+ /**
6220
+ * Controls how updates to this attribute are handled.
6221
+ * - `direct` (default): update is applied immediately. No changeset created.
6222
+ * - `external`: update creates a changeset, auto-cleared on matching external update (e.g. ERP inbound sync via ?direct=true).
6223
+ * - `approval`: update creates a changeset, requires explicit human approval.
6224
+ *
6225
+ */
6226
+ edit_mode?: "direct" | "external" | "approval";
6227
+ /**
6228
+ * Configuration for non-direct edit modes. Required when edit_mode is external or approval with fuzzy match strategy.
6229
+ */
6230
+ edit_mode_config?: {
6231
+ match_strategy?: /**
6232
+ * Strategy for auto-clearing the changeset when an external update is received.
6233
+ * - `exact`: The inbound value must exactly match the proposed value (deep equality).
6234
+ * - `fuzzy`: The inbound value is compared using the configured fuzzy algorithm.
6235
+ * - `any`: Any update to the attribute clears the changeset, regardless of value.
6236
+ *
6237
+ */
6238
+ MatchStrategy;
6239
+ fuzzy_config?: /* Configuration for fuzzy match strategies on changeset auto-clearing. */ FuzzyConfig;
6240
+ };
5718
6241
  type: "internal_user";
5719
6242
  }
5720
6243
  /**
@@ -5870,6 +6393,28 @@ declare namespace Components {
5870
6393
  */
5871
6394
  repeatable?: boolean;
5872
6395
  has_primary?: boolean;
6396
+ /**
6397
+ * Controls how updates to this attribute are handled.
6398
+ * - `direct` (default): update is applied immediately. No changeset created.
6399
+ * - `external`: update creates a changeset, auto-cleared on matching external update (e.g. ERP inbound sync via ?direct=true).
6400
+ * - `approval`: update creates a changeset, requires explicit human approval.
6401
+ *
6402
+ */
6403
+ edit_mode?: "direct" | "external" | "approval";
6404
+ /**
6405
+ * Configuration for non-direct edit modes. Required when edit_mode is external or approval with fuzzy match strategy.
6406
+ */
6407
+ edit_mode_config?: {
6408
+ match_strategy?: /**
6409
+ * Strategy for auto-clearing the changeset when an external update is received.
6410
+ * - `exact`: The inbound value must exactly match the proposed value (deep equality).
6411
+ * - `fuzzy`: The inbound value is compared using the configured fuzzy algorithm.
6412
+ * - `any`: Any update to the attribute clears the changeset, regardless of value.
6413
+ *
6414
+ */
6415
+ MatchStrategy;
6416
+ fuzzy_config?: /* Configuration for fuzzy match strategies on changeset auto-clearing. */ FuzzyConfig;
6417
+ };
5873
6418
  type: "invitation_email";
5874
6419
  }
5875
6420
  /**
@@ -6033,6 +6578,28 @@ declare namespace Components {
6033
6578
  */
6034
6579
  repeatable?: boolean;
6035
6580
  has_primary?: boolean;
6581
+ /**
6582
+ * Controls how updates to this attribute are handled.
6583
+ * - `direct` (default): update is applied immediately. No changeset created.
6584
+ * - `external`: update creates a changeset, auto-cleared on matching external update (e.g. ERP inbound sync via ?direct=true).
6585
+ * - `approval`: update creates a changeset, requires explicit human approval.
6586
+ *
6587
+ */
6588
+ edit_mode?: "direct" | "external" | "approval";
6589
+ /**
6590
+ * Configuration for non-direct edit modes. Required when edit_mode is external or approval with fuzzy match strategy.
6591
+ */
6592
+ edit_mode_config?: {
6593
+ match_strategy?: /**
6594
+ * Strategy for auto-clearing the changeset when an external update is received.
6595
+ * - `exact`: The inbound value must exactly match the proposed value (deep equality).
6596
+ * - `fuzzy`: The inbound value is compared using the configured fuzzy algorithm.
6597
+ * - `any`: Any update to the attribute clears the changeset, regardless of value.
6598
+ *
6599
+ */
6600
+ MatchStrategy;
6601
+ fuzzy_config?: /* Configuration for fuzzy match strategies on changeset auto-clearing. */ FuzzyConfig;
6602
+ };
6036
6603
  type: "link";
6037
6604
  }
6038
6605
  export interface ListSavedViewsResults {
@@ -6043,6 +6610,14 @@ declare namespace Components {
6043
6610
  hits?: number;
6044
6611
  results?: /* A saved entity view */ SavedViewItem[];
6045
6612
  }
6613
+ /**
6614
+ * Strategy for auto-clearing the changeset when an external update is received.
6615
+ * - `exact`: The inbound value must exactly match the proposed value (deep equality).
6616
+ * - `fuzzy`: The inbound value is compared using the configured fuzzy algorithm.
6617
+ * - `any`: Any update to the attribute clears the changeset, regardless of value.
6618
+ *
6619
+ */
6620
+ export type MatchStrategy = "exact" | "fuzzy" | "any";
6046
6621
  /**
6047
6622
  * Message emil address
6048
6623
  */
@@ -6196,6 +6771,28 @@ declare namespace Components {
6196
6771
  */
6197
6772
  repeatable?: boolean;
6198
6773
  has_primary?: boolean;
6774
+ /**
6775
+ * Controls how updates to this attribute are handled.
6776
+ * - `direct` (default): update is applied immediately. No changeset created.
6777
+ * - `external`: update creates a changeset, auto-cleared on matching external update (e.g. ERP inbound sync via ?direct=true).
6778
+ * - `approval`: update creates a changeset, requires explicit human approval.
6779
+ *
6780
+ */
6781
+ edit_mode?: "direct" | "external" | "approval";
6782
+ /**
6783
+ * Configuration for non-direct edit modes. Required when edit_mode is external or approval with fuzzy match strategy.
6784
+ */
6785
+ edit_mode_config?: {
6786
+ match_strategy?: /**
6787
+ * Strategy for auto-clearing the changeset when an external update is received.
6788
+ * - `exact`: The inbound value must exactly match the proposed value (deep equality).
6789
+ * - `fuzzy`: The inbound value is compared using the configured fuzzy algorithm.
6790
+ * - `any`: Any update to the attribute clears the changeset, regardless of value.
6791
+ *
6792
+ */
6793
+ MatchStrategy;
6794
+ fuzzy_config?: /* Configuration for fuzzy match strategies on changeset auto-clearing. */ FuzzyConfig;
6795
+ };
6199
6796
  type: "message_email_address";
6200
6797
  address?: string;
6201
6798
  send_status?: string;
@@ -6354,6 +6951,28 @@ declare namespace Components {
6354
6951
  */
6355
6952
  repeatable?: boolean;
6356
6953
  has_primary?: boolean;
6954
+ /**
6955
+ * Controls how updates to this attribute are handled.
6956
+ * - `direct` (default): update is applied immediately. No changeset created.
6957
+ * - `external`: update creates a changeset, auto-cleared on matching external update (e.g. ERP inbound sync via ?direct=true).
6958
+ * - `approval`: update creates a changeset, requires explicit human approval.
6959
+ *
6960
+ */
6961
+ edit_mode?: "direct" | "external" | "approval";
6962
+ /**
6963
+ * Configuration for non-direct edit modes. Required when edit_mode is external or approval with fuzzy match strategy.
6964
+ */
6965
+ edit_mode_config?: {
6966
+ match_strategy?: /**
6967
+ * Strategy for auto-clearing the changeset when an external update is received.
6968
+ * - `exact`: The inbound value must exactly match the proposed value (deep equality).
6969
+ * - `fuzzy`: The inbound value is compared using the configured fuzzy algorithm.
6970
+ * - `any`: Any update to the attribute clears the changeset, regardless of value.
6971
+ *
6972
+ */
6973
+ MatchStrategy;
6974
+ fuzzy_config?: /* Configuration for fuzzy match strategies on changeset auto-clearing. */ FuzzyConfig;
6975
+ };
6357
6976
  type: "multiselect" | "checkbox";
6358
6977
  /**
6359
6978
  * controls if the matching of values against the options is case sensitive or not
@@ -6453,6 +7072,15 @@ declare namespace Components {
6453
7072
  * Manifest ID used to create/update the entity
6454
7073
  */
6455
7074
  _manifest?: string /* uuid */[] | null;
7075
+ /**
7076
+ * Pending attribute changesets for attributes configured with external or approval edit mode.
7077
+ * Read-only via normal entity PATCH/PUT operations — cannot be set directly.
7078
+ * Use the changeset management endpoints to apply or dismiss changesets.
7079
+ *
7080
+ */
7081
+ _changesets?: {
7082
+ [name: string]: /* A pending proposed change for a single entity attribute, awaiting external confirmation or human approval. */ Changeset;
7083
+ } | null;
6456
7084
  } | null;
6457
7085
  /**
6458
7086
  * Numeric input
@@ -6607,6 +7235,28 @@ declare namespace Components {
6607
7235
  */
6608
7236
  repeatable?: boolean;
6609
7237
  has_primary?: boolean;
7238
+ /**
7239
+ * Controls how updates to this attribute are handled.
7240
+ * - `direct` (default): update is applied immediately. No changeset created.
7241
+ * - `external`: update creates a changeset, auto-cleared on matching external update (e.g. ERP inbound sync via ?direct=true).
7242
+ * - `approval`: update creates a changeset, requires explicit human approval.
7243
+ *
7244
+ */
7245
+ edit_mode?: "direct" | "external" | "approval";
7246
+ /**
7247
+ * Configuration for non-direct edit modes. Required when edit_mode is external or approval with fuzzy match strategy.
7248
+ */
7249
+ edit_mode_config?: {
7250
+ match_strategy?: /**
7251
+ * Strategy for auto-clearing the changeset when an external update is received.
7252
+ * - `exact`: The inbound value must exactly match the proposed value (deep equality).
7253
+ * - `fuzzy`: The inbound value is compared using the configured fuzzy algorithm.
7254
+ * - `any`: Any update to the attribute clears the changeset, regardless of value.
7255
+ *
7256
+ */
7257
+ MatchStrategy;
7258
+ fuzzy_config?: /* Configuration for fuzzy match strategies on changeset auto-clearing. */ FuzzyConfig;
7259
+ };
6610
7260
  type: "number";
6611
7261
  /**
6612
7262
  * Optional data type override. When set to 'number', the value is stored as a number instead of a string. Defaults to 'string'.
@@ -6771,6 +7421,28 @@ declare namespace Components {
6771
7421
  */
6772
7422
  repeatable?: boolean;
6773
7423
  has_primary?: boolean;
7424
+ /**
7425
+ * Controls how updates to this attribute are handled.
7426
+ * - `direct` (default): update is applied immediately. No changeset created.
7427
+ * - `external`: update creates a changeset, auto-cleared on matching external update (e.g. ERP inbound sync via ?direct=true).
7428
+ * - `approval`: update creates a changeset, requires explicit human approval.
7429
+ *
7430
+ */
7431
+ edit_mode?: "direct" | "external" | "approval";
7432
+ /**
7433
+ * Configuration for non-direct edit modes. Required when edit_mode is external or approval with fuzzy match strategy.
7434
+ */
7435
+ edit_mode_config?: {
7436
+ match_strategy?: /**
7437
+ * Strategy for auto-clearing the changeset when an external update is received.
7438
+ * - `exact`: The inbound value must exactly match the proposed value (deep equality).
7439
+ * - `fuzzy`: The inbound value is compared using the configured fuzzy algorithm.
7440
+ * - `any`: Any update to the attribute clears the changeset, regardless of value.
7441
+ *
7442
+ */
7443
+ MatchStrategy;
7444
+ fuzzy_config?: /* Configuration for fuzzy match strategies on changeset auto-clearing. */ FuzzyConfig;
7445
+ };
6774
7446
  type: "ordered_list";
6775
7447
  }
6776
7448
  /**
@@ -6926,6 +7598,28 @@ declare namespace Components {
6926
7598
  */
6927
7599
  repeatable?: boolean;
6928
7600
  has_primary?: boolean;
7601
+ /**
7602
+ * Controls how updates to this attribute are handled.
7603
+ * - `direct` (default): update is applied immediately. No changeset created.
7604
+ * - `external`: update creates a changeset, auto-cleared on matching external update (e.g. ERP inbound sync via ?direct=true).
7605
+ * - `approval`: update creates a changeset, requires explicit human approval.
7606
+ *
7607
+ */
7608
+ edit_mode?: "direct" | "external" | "approval";
7609
+ /**
7610
+ * Configuration for non-direct edit modes. Required when edit_mode is external or approval with fuzzy match strategy.
7611
+ */
7612
+ edit_mode_config?: {
7613
+ match_strategy?: /**
7614
+ * Strategy for auto-clearing the changeset when an external update is received.
7615
+ * - `exact`: The inbound value must exactly match the proposed value (deep equality).
7616
+ * - `fuzzy`: The inbound value is compared using the configured fuzzy algorithm.
7617
+ * - `any`: Any update to the attribute clears the changeset, regardless of value.
7618
+ *
7619
+ */
7620
+ MatchStrategy;
7621
+ fuzzy_config?: /* Configuration for fuzzy match strategies on changeset auto-clearing. */ FuzzyConfig;
7622
+ };
6929
7623
  type: "partner_organisation";
6930
7624
  }
6931
7625
  /**
@@ -7081,6 +7775,28 @@ declare namespace Components {
7081
7775
  */
7082
7776
  repeatable?: boolean;
7083
7777
  has_primary?: boolean;
7778
+ /**
7779
+ * Controls how updates to this attribute are handled.
7780
+ * - `direct` (default): update is applied immediately. No changeset created.
7781
+ * - `external`: update creates a changeset, auto-cleared on matching external update (e.g. ERP inbound sync via ?direct=true).
7782
+ * - `approval`: update creates a changeset, requires explicit human approval.
7783
+ *
7784
+ */
7785
+ edit_mode?: "direct" | "external" | "approval";
7786
+ /**
7787
+ * Configuration for non-direct edit modes. Required when edit_mode is external or approval with fuzzy match strategy.
7788
+ */
7789
+ edit_mode_config?: {
7790
+ match_strategy?: /**
7791
+ * Strategy for auto-clearing the changeset when an external update is received.
7792
+ * - `exact`: The inbound value must exactly match the proposed value (deep equality).
7793
+ * - `fuzzy`: The inbound value is compared using the configured fuzzy algorithm.
7794
+ * - `any`: Any update to the attribute clears the changeset, regardless of value.
7795
+ *
7796
+ */
7797
+ MatchStrategy;
7798
+ fuzzy_config?: /* Configuration for fuzzy match strategies on changeset auto-clearing. */ FuzzyConfig;
7799
+ };
7084
7800
  type: "partner_status";
7085
7801
  }
7086
7802
  /**
@@ -7236,6 +7952,28 @@ declare namespace Components {
7236
7952
  */
7237
7953
  repeatable?: boolean;
7238
7954
  has_primary?: boolean;
7955
+ /**
7956
+ * Controls how updates to this attribute are handled.
7957
+ * - `direct` (default): update is applied immediately. No changeset created.
7958
+ * - `external`: update creates a changeset, auto-cleared on matching external update (e.g. ERP inbound sync via ?direct=true).
7959
+ * - `approval`: update creates a changeset, requires explicit human approval.
7960
+ *
7961
+ */
7962
+ edit_mode?: "direct" | "external" | "approval";
7963
+ /**
7964
+ * Configuration for non-direct edit modes. Required when edit_mode is external or approval with fuzzy match strategy.
7965
+ */
7966
+ edit_mode_config?: {
7967
+ match_strategy?: /**
7968
+ * Strategy for auto-clearing the changeset when an external update is received.
7969
+ * - `exact`: The inbound value must exactly match the proposed value (deep equality).
7970
+ * - `fuzzy`: The inbound value is compared using the configured fuzzy algorithm.
7971
+ * - `any`: Any update to the attribute clears the changeset, regardless of value.
7972
+ *
7973
+ */
7974
+ MatchStrategy;
7975
+ fuzzy_config?: /* Configuration for fuzzy match strategies on changeset auto-clearing. */ FuzzyConfig;
7976
+ };
7239
7977
  type: "payment";
7240
7978
  }
7241
7979
  /**
@@ -7391,6 +8129,28 @@ declare namespace Components {
7391
8129
  */
7392
8130
  repeatable?: boolean;
7393
8131
  has_primary?: boolean;
8132
+ /**
8133
+ * Controls how updates to this attribute are handled.
8134
+ * - `direct` (default): update is applied immediately. No changeset created.
8135
+ * - `external`: update creates a changeset, auto-cleared on matching external update (e.g. ERP inbound sync via ?direct=true).
8136
+ * - `approval`: update creates a changeset, requires explicit human approval.
8137
+ *
8138
+ */
8139
+ edit_mode?: "direct" | "external" | "approval";
8140
+ /**
8141
+ * Configuration for non-direct edit modes. Required when edit_mode is external or approval with fuzzy match strategy.
8142
+ */
8143
+ edit_mode_config?: {
8144
+ match_strategy?: /**
8145
+ * Strategy for auto-clearing the changeset when an external update is received.
8146
+ * - `exact`: The inbound value must exactly match the proposed value (deep equality).
8147
+ * - `fuzzy`: The inbound value is compared using the configured fuzzy algorithm.
8148
+ * - `any`: Any update to the attribute clears the changeset, regardless of value.
8149
+ *
8150
+ */
8151
+ MatchStrategy;
8152
+ fuzzy_config?: /* Configuration for fuzzy match strategies on changeset auto-clearing. */ FuzzyConfig;
8153
+ };
7394
8154
  type: "relation_payment_method";
7395
8155
  }
7396
8156
  /**
@@ -7546,6 +8306,28 @@ declare namespace Components {
7546
8306
  */
7547
8307
  repeatable?: boolean;
7548
8308
  has_primary?: boolean;
8309
+ /**
8310
+ * Controls how updates to this attribute are handled.
8311
+ * - `direct` (default): update is applied immediately. No changeset created.
8312
+ * - `external`: update creates a changeset, auto-cleared on matching external update (e.g. ERP inbound sync via ?direct=true).
8313
+ * - `approval`: update creates a changeset, requires explicit human approval.
8314
+ *
8315
+ */
8316
+ edit_mode?: "direct" | "external" | "approval";
8317
+ /**
8318
+ * Configuration for non-direct edit modes. Required when edit_mode is external or approval with fuzzy match strategy.
8319
+ */
8320
+ edit_mode_config?: {
8321
+ match_strategy?: /**
8322
+ * Strategy for auto-clearing the changeset when an external update is received.
8323
+ * - `exact`: The inbound value must exactly match the proposed value (deep equality).
8324
+ * - `fuzzy`: The inbound value is compared using the configured fuzzy algorithm.
8325
+ * - `any`: Any update to the attribute clears the changeset, regardless of value.
8326
+ *
8327
+ */
8328
+ MatchStrategy;
8329
+ fuzzy_config?: /* Configuration for fuzzy match strategies on changeset auto-clearing. */ FuzzyConfig;
8330
+ };
7549
8331
  type: "phone";
7550
8332
  }
7551
8333
  /**
@@ -7701,6 +8483,28 @@ declare namespace Components {
7701
8483
  */
7702
8484
  repeatable?: boolean;
7703
8485
  has_primary?: boolean;
8486
+ /**
8487
+ * Controls how updates to this attribute are handled.
8488
+ * - `direct` (default): update is applied immediately. No changeset created.
8489
+ * - `external`: update creates a changeset, auto-cleared on matching external update (e.g. ERP inbound sync via ?direct=true).
8490
+ * - `approval`: update creates a changeset, requires explicit human approval.
8491
+ *
8492
+ */
8493
+ edit_mode?: "direct" | "external" | "approval";
8494
+ /**
8495
+ * Configuration for non-direct edit modes. Required when edit_mode is external or approval with fuzzy match strategy.
8496
+ */
8497
+ edit_mode_config?: {
8498
+ match_strategy?: /**
8499
+ * Strategy for auto-clearing the changeset when an external update is received.
8500
+ * - `exact`: The inbound value must exactly match the proposed value (deep equality).
8501
+ * - `fuzzy`: The inbound value is compared using the configured fuzzy algorithm.
8502
+ * - `any`: Any update to the attribute clears the changeset, regardless of value.
8503
+ *
8504
+ */
8505
+ MatchStrategy;
8506
+ fuzzy_config?: /* Configuration for fuzzy match strategies on changeset auto-clearing. */ FuzzyConfig;
8507
+ };
7704
8508
  type: "portal_access";
7705
8509
  }
7706
8510
  /**
@@ -7856,6 +8660,28 @@ declare namespace Components {
7856
8660
  */
7857
8661
  repeatable?: boolean;
7858
8662
  has_primary?: boolean;
8663
+ /**
8664
+ * Controls how updates to this attribute are handled.
8665
+ * - `direct` (default): update is applied immediately. No changeset created.
8666
+ * - `external`: update creates a changeset, auto-cleared on matching external update (e.g. ERP inbound sync via ?direct=true).
8667
+ * - `approval`: update creates a changeset, requires explicit human approval.
8668
+ *
8669
+ */
8670
+ edit_mode?: "direct" | "external" | "approval";
8671
+ /**
8672
+ * Configuration for non-direct edit modes. Required when edit_mode is external or approval with fuzzy match strategy.
8673
+ */
8674
+ edit_mode_config?: {
8675
+ match_strategy?: /**
8676
+ * Strategy for auto-clearing the changeset when an external update is received.
8677
+ * - `exact`: The inbound value must exactly match the proposed value (deep equality).
8678
+ * - `fuzzy`: The inbound value is compared using the configured fuzzy algorithm.
8679
+ * - `any`: Any update to the attribute clears the changeset, regardless of value.
8680
+ *
8681
+ */
8682
+ MatchStrategy;
8683
+ fuzzy_config?: /* Configuration for fuzzy match strategies on changeset auto-clearing. */ FuzzyConfig;
8684
+ };
7859
8685
  type: "price_component";
7860
8686
  }
7861
8687
  /**
@@ -8011,6 +8837,28 @@ declare namespace Components {
8011
8837
  */
8012
8838
  repeatable?: boolean;
8013
8839
  has_primary?: boolean;
8840
+ /**
8841
+ * Controls how updates to this attribute are handled.
8842
+ * - `direct` (default): update is applied immediately. No changeset created.
8843
+ * - `external`: update creates a changeset, auto-cleared on matching external update (e.g. ERP inbound sync via ?direct=true).
8844
+ * - `approval`: update creates a changeset, requires explicit human approval.
8845
+ *
8846
+ */
8847
+ edit_mode?: "direct" | "external" | "approval";
8848
+ /**
8849
+ * Configuration for non-direct edit modes. Required when edit_mode is external or approval with fuzzy match strategy.
8850
+ */
8851
+ edit_mode_config?: {
8852
+ match_strategy?: /**
8853
+ * Strategy for auto-clearing the changeset when an external update is received.
8854
+ * - `exact`: The inbound value must exactly match the proposed value (deep equality).
8855
+ * - `fuzzy`: The inbound value is compared using the configured fuzzy algorithm.
8856
+ * - `any`: Any update to the attribute clears the changeset, regardless of value.
8857
+ *
8858
+ */
8859
+ MatchStrategy;
8860
+ fuzzy_config?: /* Configuration for fuzzy match strategies on changeset auto-clearing. */ FuzzyConfig;
8861
+ };
8014
8862
  type: "purpose";
8015
8863
  }
8016
8864
  /**
@@ -8181,6 +9029,28 @@ declare namespace Components {
8181
9029
  */
8182
9030
  repeatable?: boolean;
8183
9031
  has_primary?: boolean;
9032
+ /**
9033
+ * Controls how updates to this attribute are handled.
9034
+ * - `direct` (default): update is applied immediately. No changeset created.
9035
+ * - `external`: update creates a changeset, auto-cleared on matching external update (e.g. ERP inbound sync via ?direct=true).
9036
+ * - `approval`: update creates a changeset, requires explicit human approval.
9037
+ *
9038
+ */
9039
+ edit_mode?: "direct" | "external" | "approval" | "list-view";
9040
+ /**
9041
+ * Configuration for non-direct edit modes. Required when edit_mode is external or approval with fuzzy match strategy.
9042
+ */
9043
+ edit_mode_config?: {
9044
+ match_strategy?: /**
9045
+ * Strategy for auto-clearing the changeset when an external update is received.
9046
+ * - `exact`: The inbound value must exactly match the proposed value (deep equality).
9047
+ * - `fuzzy`: The inbound value is compared using the configured fuzzy algorithm.
9048
+ * - `any`: Any update to the attribute clears the changeset, regardless of value.
9049
+ *
9050
+ */
9051
+ MatchStrategy;
9052
+ fuzzy_config?: /* Configuration for fuzzy match strategies on changeset auto-clearing. */ FuzzyConfig;
9053
+ };
8184
9054
  type: "relation";
8185
9055
  relation_type?: "has_many" | "has_one";
8186
9056
  /**
@@ -8202,7 +9072,6 @@ declare namespace Components {
8202
9072
  * When enable_relation_picker is set to true the user will be able to pick existing relations as values. Otherwise, the user will need to create new relation to link.
8203
9073
  */
8204
9074
  enable_relation_picker?: boolean;
8205
- edit_mode?: "list-view";
8206
9075
  /**
8207
9076
  * Enables the preview, edition, and creation of relation items on a Master-Details view mode.
8208
9077
  */
@@ -8376,6 +9245,15 @@ declare namespace Components {
8376
9245
  * Manifest ID used to create/update the entity
8377
9246
  */
8378
9247
  _manifest?: string /* uuid */[] | null;
9248
+ /**
9249
+ * Pending attribute changesets for attributes configured with external or approval edit mode.
9250
+ * Read-only via normal entity PATCH/PUT operations — cannot be set directly.
9251
+ * Use the changeset management endpoints to apply or dismiss changesets.
9252
+ *
9253
+ */
9254
+ _changesets?: {
9255
+ [name: string]: /* A pending proposed change for a single entity attribute, awaiting external confirmation or human approval. */ Changeset;
9256
+ } | null;
8379
9257
  $relation?: RelationItem;
8380
9258
  }
8381
9259
  export interface RelationItem {
@@ -8550,6 +9428,28 @@ declare namespace Components {
8550
9428
  */
8551
9429
  repeatable?: boolean;
8552
9430
  has_primary?: boolean;
9431
+ /**
9432
+ * Controls how updates to this attribute are handled.
9433
+ * - `direct` (default): update is applied immediately. No changeset created.
9434
+ * - `external`: update creates a changeset, auto-cleared on matching external update (e.g. ERP inbound sync via ?direct=true).
9435
+ * - `approval`: update creates a changeset, requires explicit human approval.
9436
+ *
9437
+ */
9438
+ edit_mode?: "direct" | "external" | "approval";
9439
+ /**
9440
+ * Configuration for non-direct edit modes. Required when edit_mode is external or approval with fuzzy match strategy.
9441
+ */
9442
+ edit_mode_config?: {
9443
+ match_strategy?: /**
9444
+ * Strategy for auto-clearing the changeset when an external update is received.
9445
+ * - `exact`: The inbound value must exactly match the proposed value (deep equality).
9446
+ * - `fuzzy`: The inbound value is compared using the configured fuzzy algorithm.
9447
+ * - `any`: Any update to the attribute clears the changeset, regardless of value.
9448
+ *
9449
+ */
9450
+ MatchStrategy;
9451
+ fuzzy_config?: /* Configuration for fuzzy match strategies on changeset auto-clearing. */ FuzzyConfig;
9452
+ };
8553
9453
  }
8554
9454
  /**
8555
9455
  * A saved entity view
@@ -8946,10 +9846,14 @@ declare namespace Components {
8946
9846
  export interface SearchMappings {
8947
9847
  [name: string]: {
8948
9848
  index?: boolean;
8949
- type?: "keyword" | "text" | "boolean" | "integer" | "long" | "float" | "date" | "flattened" | "nested";
9849
+ type?: "keyword" | "text" | "boolean" | "integer" | "long" | "float" | "date" | "flattened" | "nested" | "object";
8950
9850
  fields?: {
8951
9851
  [name: string]: any;
8952
9852
  };
9853
+ /**
9854
+ * When false, prevents ES from inferring types for nested fields. Used for _changesets where values can be any type.
9855
+ */
9856
+ dynamic?: boolean;
8953
9857
  };
8954
9858
  }
8955
9859
  /**
@@ -9105,6 +10009,28 @@ declare namespace Components {
9105
10009
  */
9106
10010
  repeatable?: boolean;
9107
10011
  has_primary?: boolean;
10012
+ /**
10013
+ * Controls how updates to this attribute are handled.
10014
+ * - `direct` (default): update is applied immediately. No changeset created.
10015
+ * - `external`: update creates a changeset, auto-cleared on matching external update (e.g. ERP inbound sync via ?direct=true).
10016
+ * - `approval`: update creates a changeset, requires explicit human approval.
10017
+ *
10018
+ */
10019
+ edit_mode?: "direct" | "external" | "approval";
10020
+ /**
10021
+ * Configuration for non-direct edit modes. Required when edit_mode is external or approval with fuzzy match strategy.
10022
+ */
10023
+ edit_mode_config?: {
10024
+ match_strategy?: /**
10025
+ * Strategy for auto-clearing the changeset when an external update is received.
10026
+ * - `exact`: The inbound value must exactly match the proposed value (deep equality).
10027
+ * - `fuzzy`: The inbound value is compared using the configured fuzzy algorithm.
10028
+ * - `any`: Any update to the attribute clears the changeset, regardless of value.
10029
+ *
10030
+ */
10031
+ MatchStrategy;
10032
+ fuzzy_config?: /* Configuration for fuzzy match strategies on changeset auto-clearing. */ FuzzyConfig;
10033
+ };
9108
10034
  type: "select" | "radio";
9109
10035
  options?: ({
9110
10036
  value: string;
@@ -9268,6 +10194,28 @@ declare namespace Components {
9268
10194
  */
9269
10195
  repeatable?: boolean;
9270
10196
  has_primary?: boolean;
10197
+ /**
10198
+ * Controls how updates to this attribute are handled.
10199
+ * - `direct` (default): update is applied immediately. No changeset created.
10200
+ * - `external`: update creates a changeset, auto-cleared on matching external update (e.g. ERP inbound sync via ?direct=true).
10201
+ * - `approval`: update creates a changeset, requires explicit human approval.
10202
+ *
10203
+ */
10204
+ edit_mode?: "direct" | "external" | "approval";
10205
+ /**
10206
+ * Configuration for non-direct edit modes. Required when edit_mode is external or approval with fuzzy match strategy.
10207
+ */
10208
+ edit_mode_config?: {
10209
+ match_strategy?: /**
10210
+ * Strategy for auto-clearing the changeset when an external update is received.
10211
+ * - `exact`: The inbound value must exactly match the proposed value (deep equality).
10212
+ * - `fuzzy`: The inbound value is compared using the configured fuzzy algorithm.
10213
+ * - `any`: Any update to the attribute clears the changeset, regardless of value.
10214
+ *
10215
+ */
10216
+ MatchStrategy;
10217
+ fuzzy_config?: /* Configuration for fuzzy match strategies on changeset auto-clearing. */ FuzzyConfig;
10218
+ };
9271
10219
  type: "sequence";
9272
10220
  /**
9273
10221
  * Prefix added before the sequence number
@@ -9434,12 +10382,34 @@ declare namespace Components {
9434
10382
  * such as internal hashes or identifiers that might accidentally match search terms.
9435
10383
  *
9436
10384
  */
9437
- exclude_from_search?: boolean;
10385
+ exclude_from_search?: boolean;
10386
+ /**
10387
+ * The attribute is a repeatable
10388
+ */
10389
+ repeatable?: boolean;
10390
+ has_primary?: boolean;
10391
+ /**
10392
+ * Controls how updates to this attribute are handled.
10393
+ * - `direct` (default): update is applied immediately. No changeset created.
10394
+ * - `external`: update creates a changeset, auto-cleared on matching external update (e.g. ERP inbound sync via ?direct=true).
10395
+ * - `approval`: update creates a changeset, requires explicit human approval.
10396
+ *
10397
+ */
10398
+ edit_mode?: "direct" | "external" | "approval";
9438
10399
  /**
9439
- * The attribute is a repeatable
10400
+ * Configuration for non-direct edit modes. Required when edit_mode is external or approval with fuzzy match strategy.
9440
10401
  */
9441
- repeatable?: boolean;
9442
- has_primary?: boolean;
10402
+ edit_mode_config?: {
10403
+ match_strategy?: /**
10404
+ * Strategy for auto-clearing the changeset when an external update is received.
10405
+ * - `exact`: The inbound value must exactly match the proposed value (deep equality).
10406
+ * - `fuzzy`: The inbound value is compared using the configured fuzzy algorithm.
10407
+ * - `any`: Any update to the attribute clears the changeset, regardless of value.
10408
+ *
10409
+ */
10410
+ MatchStrategy;
10411
+ fuzzy_config?: /* Configuration for fuzzy match strategies on changeset auto-clearing. */ FuzzyConfig;
10412
+ };
9443
10413
  type: "status";
9444
10414
  options?: ((string | null) | {
9445
10415
  /**
@@ -9691,6 +10661,28 @@ declare namespace Components {
9691
10661
  */
9692
10662
  repeatable?: boolean;
9693
10663
  has_primary?: boolean;
10664
+ /**
10665
+ * Controls how updates to this attribute are handled.
10666
+ * - `direct` (default): update is applied immediately. No changeset created.
10667
+ * - `external`: update creates a changeset, auto-cleared on matching external update (e.g. ERP inbound sync via ?direct=true).
10668
+ * - `approval`: update creates a changeset, requires explicit human approval.
10669
+ *
10670
+ */
10671
+ edit_mode?: "direct" | "external" | "approval";
10672
+ /**
10673
+ * Configuration for non-direct edit modes. Required when edit_mode is external or approval with fuzzy match strategy.
10674
+ */
10675
+ edit_mode_config?: {
10676
+ match_strategy?: /**
10677
+ * Strategy for auto-clearing the changeset when an external update is received.
10678
+ * - `exact`: The inbound value must exactly match the proposed value (deep equality).
10679
+ * - `fuzzy`: The inbound value is compared using the configured fuzzy algorithm.
10680
+ * - `any`: Any update to the attribute clears the changeset, regardless of value.
10681
+ *
10682
+ */
10683
+ MatchStrategy;
10684
+ fuzzy_config?: /* Configuration for fuzzy match strategies on changeset auto-clearing. */ FuzzyConfig;
10685
+ };
9694
10686
  type: "table";
9695
10687
  /**
9696
10688
  * Column definitions for the table
@@ -9902,6 +10894,28 @@ declare namespace Components {
9902
10894
  */
9903
10895
  repeatable?: boolean;
9904
10896
  has_primary?: boolean;
10897
+ /**
10898
+ * Controls how updates to this attribute are handled.
10899
+ * - `direct` (default): update is applied immediately. No changeset created.
10900
+ * - `external`: update creates a changeset, auto-cleared on matching external update (e.g. ERP inbound sync via ?direct=true).
10901
+ * - `approval`: update creates a changeset, requires explicit human approval.
10902
+ *
10903
+ */
10904
+ edit_mode?: "direct" | "external" | "approval";
10905
+ /**
10906
+ * Configuration for non-direct edit modes. Required when edit_mode is external or approval with fuzzy match strategy.
10907
+ */
10908
+ edit_mode_config?: {
10909
+ match_strategy?: /**
10910
+ * Strategy for auto-clearing the changeset when an external update is received.
10911
+ * - `exact`: The inbound value must exactly match the proposed value (deep equality).
10912
+ * - `fuzzy`: The inbound value is compared using the configured fuzzy algorithm.
10913
+ * - `any`: Any update to the attribute clears the changeset, regardless of value.
10914
+ *
10915
+ */
10916
+ MatchStrategy;
10917
+ fuzzy_config?: /* Configuration for fuzzy match strategies on changeset auto-clearing. */ FuzzyConfig;
10918
+ };
9905
10919
  type: "tags";
9906
10920
  options?: string[];
9907
10921
  suggestions?: string[];
@@ -10259,6 +11273,28 @@ declare namespace Components {
10259
11273
  */
10260
11274
  repeatable?: boolean;
10261
11275
  has_primary?: boolean;
11276
+ /**
11277
+ * Controls how updates to this attribute are handled.
11278
+ * - `direct` (default): update is applied immediately. No changeset created.
11279
+ * - `external`: update creates a changeset, auto-cleared on matching external update (e.g. ERP inbound sync via ?direct=true).
11280
+ * - `approval`: update creates a changeset, requires explicit human approval.
11281
+ *
11282
+ */
11283
+ edit_mode?: "direct" | "external" | "approval";
11284
+ /**
11285
+ * Configuration for non-direct edit modes. Required when edit_mode is external or approval with fuzzy match strategy.
11286
+ */
11287
+ edit_mode_config?: {
11288
+ match_strategy?: /**
11289
+ * Strategy for auto-clearing the changeset when an external update is received.
11290
+ * - `exact`: The inbound value must exactly match the proposed value (deep equality).
11291
+ * - `fuzzy`: The inbound value is compared using the configured fuzzy algorithm.
11292
+ * - `any`: Any update to the attribute clears the changeset, regardless of value.
11293
+ *
11294
+ */
11295
+ MatchStrategy;
11296
+ fuzzy_config?: /* Configuration for fuzzy match strategies on changeset auto-clearing. */ FuzzyConfig;
11297
+ };
10262
11298
  type: "string";
10263
11299
  multiline?: boolean;
10264
11300
  rich_text?: boolean;
@@ -10427,6 +11463,28 @@ declare namespace Components {
10427
11463
  */
10428
11464
  repeatable?: boolean;
10429
11465
  has_primary?: boolean;
11466
+ /**
11467
+ * Controls how updates to this attribute are handled.
11468
+ * - `direct` (default): update is applied immediately. No changeset created.
11469
+ * - `external`: update creates a changeset, auto-cleared on matching external update (e.g. ERP inbound sync via ?direct=true).
11470
+ * - `approval`: update creates a changeset, requires explicit human approval.
11471
+ *
11472
+ */
11473
+ edit_mode?: "direct" | "external" | "approval";
11474
+ /**
11475
+ * Configuration for non-direct edit modes. Required when edit_mode is external or approval with fuzzy match strategy.
11476
+ */
11477
+ edit_mode_config?: {
11478
+ match_strategy?: /**
11479
+ * Strategy for auto-clearing the changeset when an external update is received.
11480
+ * - `exact`: The inbound value must exactly match the proposed value (deep equality).
11481
+ * - `fuzzy`: The inbound value is compared using the configured fuzzy algorithm.
11482
+ * - `any`: Any update to the attribute clears the changeset, regardless of value.
11483
+ *
11484
+ */
11485
+ MatchStrategy;
11486
+ fuzzy_config?: /* Configuration for fuzzy match strategies on changeset auto-clearing. */ FuzzyConfig;
11487
+ };
10430
11488
  type: "relation_user";
10431
11489
  multiple?: boolean;
10432
11490
  }
@@ -10472,6 +11530,81 @@ declare namespace Paths {
10472
11530
  Components.Responses.NotFoundError;
10473
11531
  }
10474
11532
  }
11533
+ namespace ApplyChangeset {
11534
+ namespace Parameters {
11535
+ export type Attribute = string;
11536
+ export type Id = Components.Schemas.EntityId /* uuid */;
11537
+ export type Slug = /**
11538
+ * URL-friendly identifier for the entity schema
11539
+ * example:
11540
+ * contact
11541
+ */
11542
+ Components.Schemas.EntitySlug /* ^[a-zA-Z0-9_-]+$ */;
11543
+ }
11544
+ export interface PathParameters {
11545
+ slug: Parameters.Slug;
11546
+ id: Parameters.Id;
11547
+ attribute: Parameters.Attribute;
11548
+ }
11549
+ namespace Responses {
11550
+ export type $200 = /**
11551
+ * example:
11552
+ * {
11553
+ * "_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
11554
+ * "_org": "123",
11555
+ * "_owners": [
11556
+ * {
11557
+ * "org_id": "123",
11558
+ * "user_id": "123"
11559
+ * },
11560
+ * {
11561
+ * "org_id": "123",
11562
+ * "user_id": "123"
11563
+ * }
11564
+ * ],
11565
+ * "_schema": "contact",
11566
+ * "_tags": [
11567
+ * "example",
11568
+ * "mock",
11569
+ * "example",
11570
+ * "mock"
11571
+ * ],
11572
+ * "_created_at": "2021-02-09T12:41:43.662Z",
11573
+ * "_updated_at": "2021-02-09T12:41:43.662Z",
11574
+ * "_acl": {
11575
+ * "view": [
11576
+ * "org:456",
11577
+ * "org:789",
11578
+ * "org:456",
11579
+ * "org:789"
11580
+ * ],
11581
+ * "edit": [
11582
+ * "org:456",
11583
+ * "org:456"
11584
+ * ],
11585
+ * "delete": [
11586
+ * "org:456",
11587
+ * "org:456"
11588
+ * ]
11589
+ * },
11590
+ * "_manifest": [
11591
+ * "123e4567-e89b-12d3-a456-426614174000",
11592
+ * "123e4567-e89b-12d3-a456-426614174000"
11593
+ * ]
11594
+ * }
11595
+ */
11596
+ Components.Schemas.EntityItem;
11597
+ export type $404 = /**
11598
+ * A generic error returned by the API
11599
+ * example:
11600
+ * {
11601
+ * "status": 404,
11602
+ * "error": "Not Found"
11603
+ * }
11604
+ */
11605
+ Components.Responses.NotFoundError;
11606
+ }
11607
+ }
10475
11608
  namespace AttachActivity {
10476
11609
  namespace Parameters {
10477
11610
  export type Entities = Components.Schemas.EntityId /* uuid */[];
@@ -11238,6 +12371,87 @@ declare namespace Paths {
11238
12371
  Components.Responses.TooManyRequestsError;
11239
12372
  }
11240
12373
  }
12374
+ namespace DismissChangeset {
12375
+ namespace Parameters {
12376
+ export type Attribute = string;
12377
+ export type Id = Components.Schemas.EntityId /* uuid */;
12378
+ export type Slug = /**
12379
+ * URL-friendly identifier for the entity schema
12380
+ * example:
12381
+ * contact
12382
+ */
12383
+ Components.Schemas.EntitySlug /* ^[a-zA-Z0-9_-]+$ */;
12384
+ }
12385
+ export interface PathParameters {
12386
+ slug: Parameters.Slug;
12387
+ id: Parameters.Id;
12388
+ attribute: Parameters.Attribute;
12389
+ }
12390
+ export interface RequestBody {
12391
+ /**
12392
+ * Optional reason for dismissing the changeset
12393
+ */
12394
+ reason?: string;
12395
+ }
12396
+ namespace Responses {
12397
+ export type $200 = /**
12398
+ * example:
12399
+ * {
12400
+ * "_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
12401
+ * "_org": "123",
12402
+ * "_owners": [
12403
+ * {
12404
+ * "org_id": "123",
12405
+ * "user_id": "123"
12406
+ * },
12407
+ * {
12408
+ * "org_id": "123",
12409
+ * "user_id": "123"
12410
+ * }
12411
+ * ],
12412
+ * "_schema": "contact",
12413
+ * "_tags": [
12414
+ * "example",
12415
+ * "mock",
12416
+ * "example",
12417
+ * "mock"
12418
+ * ],
12419
+ * "_created_at": "2021-02-09T12:41:43.662Z",
12420
+ * "_updated_at": "2021-02-09T12:41:43.662Z",
12421
+ * "_acl": {
12422
+ * "view": [
12423
+ * "org:456",
12424
+ * "org:789",
12425
+ * "org:456",
12426
+ * "org:789"
12427
+ * ],
12428
+ * "edit": [
12429
+ * "org:456",
12430
+ * "org:456"
12431
+ * ],
12432
+ * "delete": [
12433
+ * "org:456",
12434
+ * "org:456"
12435
+ * ]
12436
+ * },
12437
+ * "_manifest": [
12438
+ * "123e4567-e89b-12d3-a456-426614174000",
12439
+ * "123e4567-e89b-12d3-a456-426614174000"
12440
+ * ]
12441
+ * }
12442
+ */
12443
+ Components.Schemas.EntityItem;
12444
+ export type $404 = /**
12445
+ * A generic error returned by the API
12446
+ * example:
12447
+ * {
12448
+ * "status": 404,
12449
+ * "error": "Not Found"
12450
+ * }
12451
+ */
12452
+ Components.Responses.NotFoundError;
12453
+ }
12454
+ }
11241
12455
  namespace ExportEntities {
11242
12456
  namespace Parameters {
11243
12457
  export type IsTemplate = /* Pass 'true' to generate import template */ Components.Schemas.IsTemplate;
@@ -11545,6 +12759,7 @@ declare namespace Paths {
11545
12759
  }
11546
12760
  namespace GetEntityV2 {
11547
12761
  namespace Parameters {
12762
+ export type ApplyChangesets = boolean;
11548
12763
  export type Fields = /**
11549
12764
  * List of entity fields to include or exclude in the response
11550
12765
  *
@@ -11579,6 +12794,7 @@ declare namespace Paths {
11579
12794
  export interface QueryParameters {
11580
12795
  hydrate?: Parameters.Hydrate;
11581
12796
  fields?: Parameters.Fields;
12797
+ apply_changesets?: Parameters.ApplyChangesets;
11582
12798
  }
11583
12799
  namespace Responses {
11584
12800
  export type $200 = /**
@@ -12483,7 +13699,7 @@ declare namespace Paths {
12483
13699
  /**
12484
13700
  * ISO 8601 timestamp to filter jobs created after this time (e.g., 2023-01-01T00:00:00Z).
12485
13701
  * example:
12486
- * 2023-01-01T00:00:00.000Z
13702
+ * 2023-01-01T00:00:00Z
12487
13703
  */
12488
13704
  export type CreatedAfter = string; // date-time
12489
13705
  /**
@@ -12509,7 +13725,7 @@ declare namespace Paths {
12509
13725
  created_after?: /**
12510
13726
  * ISO 8601 timestamp to filter jobs created after this time (e.g., 2023-01-01T00:00:00Z).
12511
13727
  * example:
12512
- * 2023-01-01T00:00:00.000Z
13728
+ * 2023-01-01T00:00:00Z
12513
13729
  */
12514
13730
  Parameters.CreatedAfter /* date-time */;
12515
13731
  sort_pending_first?: /* When true, sorts PENDING status jobs to the top of the results. */ Parameters.SortPendingFirst;
@@ -12596,6 +13812,33 @@ declare namespace Paths {
12596
13812
  }
12597
13813
  }
12598
13814
  }
13815
+ namespace ListChangesets {
13816
+ namespace Parameters {
13817
+ export type Id = Components.Schemas.EntityId /* uuid */;
13818
+ export type Slug = /**
13819
+ * URL-friendly identifier for the entity schema
13820
+ * example:
13821
+ * contact
13822
+ */
13823
+ Components.Schemas.EntitySlug /* ^[a-zA-Z0-9_-]+$ */;
13824
+ }
13825
+ export interface PathParameters {
13826
+ slug: Parameters.Slug;
13827
+ id: Parameters.Id;
13828
+ }
13829
+ namespace Responses {
13830
+ export type $200 = /* Map of attribute name to pending changeset. At most one changeset per attribute. */ Components.Schemas.ChangesetMap;
13831
+ export type $404 = /**
13832
+ * A generic error returned by the API
13833
+ * example:
13834
+ * {
13835
+ * "status": 404,
13836
+ * "error": "Not Found"
13837
+ * }
13838
+ */
13839
+ Components.Responses.NotFoundError;
13840
+ }
13841
+ }
12599
13842
  namespace ListEntities {
12600
13843
  export type RequestBody = Components.Schemas.EntityListParams;
12601
13844
  namespace Responses {
@@ -12756,6 +13999,7 @@ declare namespace Paths {
12756
13999
  */
12757
14000
  Components.Schemas.ActivityId /* ulid ^01[0-9a-zA-Z]{24}$ */ | ("" | null);
12758
14001
  export type Async = boolean;
14002
+ export type Direct = boolean;
12759
14003
  export type DryRun = boolean;
12760
14004
  export type FillActivity = boolean;
12761
14005
  export type Id = Components.Schemas.EntityId /* uuid */;
@@ -12777,6 +14021,7 @@ declare namespace Paths {
12777
14021
  dry_run?: Parameters.DryRun;
12778
14022
  async?: Parameters.Async;
12779
14023
  validate?: Parameters.Validate;
14024
+ direct?: Parameters.Direct;
12780
14025
  }
12781
14026
  export type RequestBody = /**
12782
14027
  * example:
@@ -13404,6 +14649,7 @@ declare namespace Paths {
13404
14649
  */
13405
14650
  Components.Schemas.ActivityId /* ulid ^01[0-9a-zA-Z]{24}$ */ | ("" | null);
13406
14651
  export type Async = boolean;
14652
+ export type Direct = boolean;
13407
14653
  export type FillActivity = boolean;
13408
14654
  export type Id = Components.Schemas.EntityId /* uuid */;
13409
14655
  export type Slug = /**
@@ -13423,6 +14669,7 @@ declare namespace Paths {
13423
14669
  fill_activity?: Parameters.FillActivity;
13424
14670
  async?: Parameters.Async;
13425
14671
  validate?: Parameters.Validate;
14672
+ direct?: Parameters.Direct;
13426
14673
  }
13427
14674
  export type RequestBody = /**
13428
14675
  * example:
@@ -13931,6 +15178,7 @@ declare namespace Paths {
13931
15178
  }
13932
15179
  }
13933
15180
 
15181
+
13934
15182
  export interface OperationMethods {
13935
15183
  /**
13936
15184
  * listSchemas - listSchemas
@@ -14501,6 +15749,39 @@ export interface OperationMethods {
14501
15749
  data?: any,
14502
15750
  config?: AxiosRequestConfig
14503
15751
  ): OperationResponse<Paths.AttachActivity.Responses.$200>
15752
+ /**
15753
+ * applyChangeset - applyChangeset
15754
+ *
15755
+ * Applies the proposed value from a pending changeset to the entity attribute
15756
+ * and removes the changeset. Used for human approval of pending changes.
15757
+ *
15758
+ */
15759
+ 'applyChangeset'(
15760
+ parameters?: Parameters<Paths.ApplyChangeset.PathParameters> | null,
15761
+ data?: any,
15762
+ config?: AxiosRequestConfig
15763
+ ): OperationResponse<Paths.ApplyChangeset.Responses.$200>
15764
+ /**
15765
+ * dismissChangeset - dismissChangeset
15766
+ *
15767
+ * Removes a pending changeset without applying it. The attribute value remains unchanged.
15768
+ *
15769
+ */
15770
+ 'dismissChangeset'(
15771
+ parameters?: Parameters<Paths.DismissChangeset.PathParameters> | null,
15772
+ data?: Paths.DismissChangeset.RequestBody,
15773
+ config?: AxiosRequestConfig
15774
+ ): OperationResponse<Paths.DismissChangeset.Responses.$200>
15775
+ /**
15776
+ * listChangesets - listChangesets
15777
+ *
15778
+ * Returns all pending changesets for an entity.
15779
+ */
15780
+ 'listChangesets'(
15781
+ parameters?: Parameters<Paths.ListChangesets.PathParameters> | null,
15782
+ data?: any,
15783
+ config?: AxiosRequestConfig
15784
+ ): OperationResponse<Paths.ListChangesets.Responses.$200>
14504
15785
  /**
14505
15786
  * getEntityActivityFeed - getEntityActivityFeed
14506
15787
  *
@@ -15697,6 +16978,45 @@ export interface PathsDictionary {
15697
16978
  config?: AxiosRequestConfig
15698
16979
  ): OperationResponse<Paths.AttachActivity.Responses.$200>
15699
16980
  }
16981
+ ['/v1/entity/{slug}/{id}/changesets/{attribute}:apply']: {
16982
+ /**
16983
+ * applyChangeset - applyChangeset
16984
+ *
16985
+ * Applies the proposed value from a pending changeset to the entity attribute
16986
+ * and removes the changeset. Used for human approval of pending changes.
16987
+ *
16988
+ */
16989
+ 'post'(
16990
+ parameters?: Parameters<Paths.ApplyChangeset.PathParameters> | null,
16991
+ data?: any,
16992
+ config?: AxiosRequestConfig
16993
+ ): OperationResponse<Paths.ApplyChangeset.Responses.$200>
16994
+ }
16995
+ ['/v1/entity/{slug}/{id}/changesets/{attribute}:dismiss']: {
16996
+ /**
16997
+ * dismissChangeset - dismissChangeset
16998
+ *
16999
+ * Removes a pending changeset without applying it. The attribute value remains unchanged.
17000
+ *
17001
+ */
17002
+ 'post'(
17003
+ parameters?: Parameters<Paths.DismissChangeset.PathParameters> | null,
17004
+ data?: Paths.DismissChangeset.RequestBody,
17005
+ config?: AxiosRequestConfig
17006
+ ): OperationResponse<Paths.DismissChangeset.Responses.$200>
17007
+ }
17008
+ ['/v1/entity/{slug}/{id}/changesets']: {
17009
+ /**
17010
+ * listChangesets - listChangesets
17011
+ *
17012
+ * Returns all pending changesets for an entity.
17013
+ */
17014
+ 'get'(
17015
+ parameters?: Parameters<Paths.ListChangesets.PathParameters> | null,
17016
+ data?: any,
17017
+ config?: AxiosRequestConfig
17018
+ ): OperationResponse<Paths.ListChangesets.Responses.$200>
17019
+ }
15700
17020
  ['/v1/entity/{slug}/{id}/activity']: {
15701
17021
  /**
15702
17022
  * getEntityActivityFeed - getEntityActivityFeed
@@ -16341,6 +17661,7 @@ export interface PathsDictionary {
16341
17661
 
16342
17662
  export type Client = OpenAPIClient<OperationMethods, PathsDictionary>
16343
17663
 
17664
+
16344
17665
  export type Activity = Components.Schemas.Activity;
16345
17666
  export type ActivityCallerContext = Components.Schemas.ActivityCallerContext;
16346
17667
  export type ActivityId = Components.Schemas.ActivityId;
@@ -16356,6 +17677,9 @@ export type BaseAttribute = Components.Schemas.BaseAttribute;
16356
17677
  export type BaseEntity = Components.Schemas.BaseEntity;
16357
17678
  export type BlueprintEntityId = Components.Schemas.BlueprintEntityId;
16358
17679
  export type BooleanAttribute = Components.Schemas.BooleanAttribute;
17680
+ export type Changeset = Components.Schemas.Changeset;
17681
+ export type ChangesetCreator = Components.Schemas.ChangesetCreator;
17682
+ export type ChangesetMap = Components.Schemas.ChangesetMap;
16359
17683
  export type ClassificationId = Components.Schemas.ClassificationId;
16360
17684
  export type ClassificationIdOrPattern = Components.Schemas.ClassificationIdOrPattern;
16361
17685
  export type ClassificationSlug = Components.Schemas.ClassificationSlug;
@@ -16367,6 +17691,7 @@ export type CurrencyAttribute = Components.Schemas.CurrencyAttribute;
16367
17691
  export type DateAttribute = Components.Schemas.DateAttribute;
16368
17692
  export type DefaultAddressFields = Components.Schemas.DefaultAddressFields;
16369
17693
  export type ESClusterAssignment = Components.Schemas.ESClusterAssignment;
17694
+ export type EditModeConfig = Components.Schemas.EditModeConfig;
16370
17695
  export type EmailAttribute = Components.Schemas.EmailAttribute;
16371
17696
  export type Entity = Components.Schemas.Entity;
16372
17697
  export type EntityAcl = Components.Schemas.EntityAcl;
@@ -16406,6 +17731,7 @@ export type ErrorObject = Components.Schemas.ErrorObject;
16406
17731
  export type ExportJobId = Components.Schemas.ExportJobId;
16407
17732
  export type FieldsParam = Components.Schemas.FieldsParam;
16408
17733
  export type FileAttribute = Components.Schemas.FileAttribute;
17734
+ export type FuzzyConfig = Components.Schemas.FuzzyConfig;
16409
17735
  export type GenerateEntityTableAIFiltersRequest = Components.Schemas.GenerateEntityTableAIFiltersRequest;
16410
17736
  export type GenerateEntityTableAIFiltersResponse = Components.Schemas.GenerateEntityTableAIFiltersResponse;
16411
17737
  export type GetRelatedEntitiesCount = Components.Schemas.GetRelatedEntitiesCount;
@@ -16428,6 +17754,7 @@ export type IsTemplate = Components.Schemas.IsTemplate;
16428
17754
  export type Language = Components.Schemas.Language;
16429
17755
  export type LinkAttribute = Components.Schemas.LinkAttribute;
16430
17756
  export type ListSavedViewsResults = Components.Schemas.ListSavedViewsResults;
17757
+ export type MatchStrategy = Components.Schemas.MatchStrategy;
16431
17758
  export type MessageEmailAddressAttribute = Components.Schemas.MessageEmailAddressAttribute;
16432
17759
  export type MultiSelectAttribute = Components.Schemas.MultiSelectAttribute;
16433
17760
  export type NullableEntity = Components.Schemas.NullableEntity;