@epilot/sdk 2.8.2 → 2.8.4

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.
Files changed (164) hide show
  1. package/README.md +1 -0
  2. package/definitions/blueprint-manifest-runtime.json +1 -1
  3. package/definitions/blueprint-manifest.json +571 -1
  4. package/definitions/snapshot-runtime.json +1 -0
  5. package/definitions/snapshot.json +786 -0
  6. package/definitions/user-runtime.json +1 -1
  7. package/definitions/user.json +441 -0
  8. package/dist/README-NBWAQWQS.js +7 -0
  9. package/dist/README-XCIDDEAE.cjs +7 -0
  10. package/dist/{_index-DB2VV4PQ.cjs → _index-D5TTZP5F.cjs} +4 -1
  11. package/dist/{_index-5FB6F5YY.js → _index-UY46ZN47.js} +3 -0
  12. package/dist/apis/access-token.cjs +6 -6
  13. package/dist/apis/access-token.js +1 -1
  14. package/dist/apis/address-suggestions.cjs +6 -6
  15. package/dist/apis/address-suggestions.js +1 -1
  16. package/dist/apis/address.cjs +6 -6
  17. package/dist/apis/address.js +1 -1
  18. package/dist/apis/ai-agents.cjs +6 -6
  19. package/dist/apis/ai-agents.js +1 -1
  20. package/dist/apis/app.cjs +6 -6
  21. package/dist/apis/app.js +1 -1
  22. package/dist/apis/audit-logs.cjs +6 -6
  23. package/dist/apis/audit-logs.js +1 -1
  24. package/dist/apis/automation.cjs +6 -6
  25. package/dist/apis/automation.js +1 -1
  26. package/dist/apis/billing.cjs +6 -6
  27. package/dist/apis/billing.js +1 -1
  28. package/dist/apis/blueprint-manifest.cjs +8 -8
  29. package/dist/apis/blueprint-manifest.d.cts +2 -2
  30. package/dist/apis/blueprint-manifest.d.ts +2 -2
  31. package/dist/apis/blueprint-manifest.js +2 -2
  32. package/dist/apis/calendar.cjs +6 -6
  33. package/dist/apis/calendar.js +1 -1
  34. package/dist/apis/configuration-hub.cjs +6 -6
  35. package/dist/apis/configuration-hub.js +1 -1
  36. package/dist/apis/consent.cjs +6 -6
  37. package/dist/apis/consent.js +1 -1
  38. package/dist/apis/customer-portal.cjs +6 -6
  39. package/dist/apis/customer-portal.js +1 -1
  40. package/dist/apis/dashboard.cjs +6 -6
  41. package/dist/apis/dashboard.js +1 -1
  42. package/dist/apis/data-governance.cjs +6 -6
  43. package/dist/apis/data-governance.js +1 -1
  44. package/dist/apis/deduplication.cjs +6 -6
  45. package/dist/apis/deduplication.js +1 -1
  46. package/dist/apis/design.cjs +6 -6
  47. package/dist/apis/design.js +1 -1
  48. package/dist/apis/document.cjs +6 -6
  49. package/dist/apis/document.js +1 -1
  50. package/dist/apis/email-settings.cjs +6 -6
  51. package/dist/apis/email-settings.js +1 -1
  52. package/dist/apis/email-template.cjs +6 -6
  53. package/dist/apis/email-template.js +1 -1
  54. package/dist/apis/entity-mapping.cjs +6 -6
  55. package/dist/apis/entity-mapping.js +1 -1
  56. package/dist/apis/entity.cjs +6 -6
  57. package/dist/apis/entity.js +1 -1
  58. package/dist/apis/environments.cjs +6 -6
  59. package/dist/apis/environments.js +1 -1
  60. package/dist/apis/event-catalog.cjs +6 -6
  61. package/dist/apis/event-catalog.js +1 -1
  62. package/dist/apis/file.cjs +6 -6
  63. package/dist/apis/file.js +1 -1
  64. package/dist/apis/iban.cjs +6 -6
  65. package/dist/apis/iban.js +1 -1
  66. package/dist/apis/integration-toolkit.cjs +6 -6
  67. package/dist/apis/integration-toolkit.js +1 -1
  68. package/dist/apis/journey.cjs +6 -6
  69. package/dist/apis/journey.js +1 -1
  70. package/dist/apis/kanban.cjs +6 -6
  71. package/dist/apis/kanban.js +1 -1
  72. package/dist/apis/message.cjs +6 -6
  73. package/dist/apis/message.js +1 -1
  74. package/dist/apis/metering.cjs +6 -6
  75. package/dist/apis/metering.js +1 -1
  76. package/dist/apis/notes.cjs +6 -6
  77. package/dist/apis/notes.js +1 -1
  78. package/dist/apis/notification.cjs +6 -6
  79. package/dist/apis/notification.js +1 -1
  80. package/dist/apis/organization.cjs +6 -6
  81. package/dist/apis/organization.js +1 -1
  82. package/dist/apis/partner-directory.cjs +6 -6
  83. package/dist/apis/partner-directory.js +1 -1
  84. package/dist/apis/permissions.cjs +6 -6
  85. package/dist/apis/permissions.js +1 -1
  86. package/dist/apis/pricing-tier.cjs +6 -6
  87. package/dist/apis/pricing-tier.js +1 -1
  88. package/dist/apis/pricing.cjs +6 -6
  89. package/dist/apis/pricing.js +1 -1
  90. package/dist/apis/purpose.cjs +6 -6
  91. package/dist/apis/purpose.js +1 -1
  92. package/dist/apis/query.cjs +6 -6
  93. package/dist/apis/query.js +1 -1
  94. package/dist/apis/sandbox.cjs +6 -6
  95. package/dist/apis/sandbox.js +1 -1
  96. package/dist/apis/sharing.cjs +6 -6
  97. package/dist/apis/sharing.js +1 -1
  98. package/dist/apis/snapshot.cjs +38 -0
  99. package/dist/apis/snapshot.d.cts +18 -0
  100. package/dist/apis/snapshot.d.ts +18 -0
  101. package/dist/apis/snapshot.js +38 -0
  102. package/dist/apis/submission.cjs +6 -6
  103. package/dist/apis/submission.js +1 -1
  104. package/dist/apis/target.cjs +6 -6
  105. package/dist/apis/target.js +1 -1
  106. package/dist/apis/targeting.cjs +6 -6
  107. package/dist/apis/targeting.js +1 -1
  108. package/dist/apis/template-variables.cjs +6 -6
  109. package/dist/apis/template-variables.js +1 -1
  110. package/dist/apis/user.cjs +8 -8
  111. package/dist/apis/user.d.cts +2 -2
  112. package/dist/apis/user.d.ts +2 -2
  113. package/dist/apis/user.js +2 -2
  114. package/dist/apis/validation-rules.cjs +6 -6
  115. package/dist/apis/validation-rules.js +1 -1
  116. package/dist/apis/webhooks.cjs +6 -6
  117. package/dist/apis/webhooks.js +1 -1
  118. package/dist/apis/workflow-definition.cjs +6 -6
  119. package/dist/apis/workflow-definition.js +1 -1
  120. package/dist/apis/workflow.cjs +6 -6
  121. package/dist/apis/workflow.js +1 -1
  122. package/dist/blueprint-manifest-WHYSBU66.cjs +7 -0
  123. package/dist/blueprint-manifest-WZVBTKUL.js +7 -0
  124. package/dist/{blueprint-manifest-runtime-FRLU3ZSF.js → blueprint-manifest-runtime-2344IUIE.js} +1 -1
  125. package/dist/{blueprint-manifest-runtime-EIDOROIQ.cjs → blueprint-manifest-runtime-WU5MWPVT.cjs} +2 -2
  126. package/dist/{blueprint-manifest.d-B8yDxagC.d.cts → blueprint-manifest.d-2-TORV8o.d.cts} +926 -4
  127. package/dist/{blueprint-manifest.d-B8yDxagC.d.ts → blueprint-manifest.d-2-TORV8o.d.ts} +926 -4
  128. package/dist/chunk-DFYZ3LS2.cjs +14 -0
  129. package/dist/chunk-GUYARNLI.js +14 -0
  130. package/dist/{chunk-3IOUJMDV.cjs → chunk-M432U2EN.cjs} +8 -6
  131. package/dist/chunk-NFIYEMMM.js +14 -0
  132. package/dist/chunk-OWXEZ56F.cjs +14 -0
  133. package/dist/{chunk-NGHCQ2FA.cjs → chunk-T57MT6J5.cjs} +1 -1
  134. package/dist/{chunk-MVY54TDV.js → chunk-TP3MI5V5.js} +8 -6
  135. package/dist/{chunk-4YBWMDFP.js → chunk-UWGWRGGB.js} +1 -1
  136. package/dist/index.cjs +22 -14
  137. package/dist/index.d.cts +19 -17
  138. package/dist/index.d.ts +19 -17
  139. package/dist/index.js +13 -5
  140. package/dist/snapshot-CTKT2ILE.cjs +7 -0
  141. package/dist/snapshot-XYFMWDVA.js +7 -0
  142. package/dist/snapshot-runtime-EXWPPYJI.js +5 -0
  143. package/dist/snapshot-runtime-XUQIDON7.cjs +5 -0
  144. package/dist/snapshot.d-BX0xhQlH.d.cts +588 -0
  145. package/dist/snapshot.d-BX0xhQlH.d.ts +588 -0
  146. package/dist/user-3SLAEEVD.cjs +7 -0
  147. package/dist/user-PRUYBXQV.js +7 -0
  148. package/dist/{user-runtime-U4HYUWJU.js → user-runtime-6ICV2Y73.js} +1 -1
  149. package/dist/user-runtime-Y3227ETX.cjs +5 -0
  150. package/dist/{user.d-D18fe97W.d.ts → user.d-L-C7_K84.d.cts} +421 -1
  151. package/dist/{user.d-D18fe97W.d.cts → user.d-L-C7_K84.d.ts} +421 -1
  152. package/docs/blueprint-manifest.md +421 -95
  153. package/docs/snapshot.md +561 -0
  154. package/docs/user.md +321 -8
  155. package/package.json +10 -1
  156. package/dist/README-46VYEGGW.js +0 -7
  157. package/dist/README-IVBISSWB.cjs +0 -7
  158. package/dist/blueprint-manifest-6DEYW5MW.js +0 -7
  159. package/dist/blueprint-manifest-GCV7H74X.cjs +0 -7
  160. package/dist/chunk-3XKBB5AE.js +0 -14
  161. package/dist/chunk-Z5TVWG3I.cjs +0 -14
  162. package/dist/user-7ZN2XO7G.cjs +0 -7
  163. package/dist/user-ZK7BK6VY.js +0 -7
  164. package/dist/user-runtime-7O2HLFVQ.cjs +0 -5
@@ -60,6 +60,90 @@ declare namespace Components {
60
60
  * Outcome of this deployment
61
61
  */
62
62
  status?: "IN_PROGRESS" | "SUCCESS" | "PARTIAL_SUCCESS" | "FAILED";
63
+ /**
64
+ * Restore lifecycle metadata for this deployment.
65
+ */
66
+ restore_details?: {
67
+ /**
68
+ * Whether this sync changed destination resources in a way that can
69
+ * be reverted. `false` means the sync completed without create,
70
+ * update, internal-update, or delete impacts, so there is no revert
71
+ * action to offer.
72
+ *
73
+ */
74
+ has_revertible_changes?: boolean;
75
+ /**
76
+ * Counts of resource impact values from the V3 apply result.
77
+ */
78
+ resource_impact_summary?: {
79
+ create?: number;
80
+ update?: number;
81
+ internal_update?: number;
82
+ delete?: number;
83
+ no_op?: number;
84
+ ignored?: number;
85
+ };
86
+ /**
87
+ * BlueprintInstallationJob id of the most recent restore that ran
88
+ * against this deployment. Used by the FE to keep the restore-status
89
+ * badge visible across page reloads. Frontends poll this job to
90
+ * render the latest restore outcome.
91
+ *
92
+ */
93
+ last_restore_job_id?: string;
94
+ /**
95
+ * Timestamp of the most recent restore that ran against this
96
+ * deployment. Stamped when the restore sweep finishes. Used by the
97
+ * FE to show when a sync was reverted.
98
+ *
99
+ */
100
+ last_restore_at?: string; // date-time
101
+ /**
102
+ * Identity of the caller who triggered the most recent restore.
103
+ * Stamped when the restore sweep finishes. Used by the FE to show
104
+ * who reverted a sync.
105
+ *
106
+ */
107
+ last_restored_by?: {
108
+ /**
109
+ * Display name (email or token name) of the restorer.
110
+ */
111
+ name?: string;
112
+ /**
113
+ * User id of the restorer, when triggered by a user.
114
+ */
115
+ user_id?: string;
116
+ };
117
+ /**
118
+ * Computed server-side from `(job_id, restore_details.last_restore_job_id, installation_status)`.
119
+ * `available` when the deployment is restorable but has no prior
120
+ * restore (including pure-create deployments without `snapshot_id`,
121
+ * reverted via sweep-only);
122
+ * `in_progress` while an install or restore is running on this
123
+ * blueprint instance;
124
+ * `restored` / `partially_restored` / `restore_failed` reflect the
125
+ * terminal status of the job referenced by `last_restore_job_id`;
126
+ * `unavailable` means there is no revert action, for example
127
+ * malformed deployment rows missing `job_id` or no-change syncs.
128
+ *
129
+ */
130
+ status?: "available" | "in_progress" | "restored" | "partially_restored" | "restore_failed" | "unavailable";
131
+ };
132
+ /**
133
+ * Deprecated. Use `restore_details.has_revertible_changes`.
134
+ *
135
+ */
136
+ has_revertible_changes?: boolean;
137
+ /**
138
+ * Deprecated. Use `restore_details.last_restore_job_id`.
139
+ *
140
+ */
141
+ last_restore_job_id?: string;
142
+ /**
143
+ * Deprecated. Use `restore_details.status`.
144
+ *
145
+ */
146
+ restore_status?: "available" | "in_progress" | "restored" | "partially_restored" | "restore_failed" | "unavailable";
63
147
  }[];
64
148
  /**
65
149
  * Whether the blueprint is verified by epilot
@@ -130,6 +214,7 @@ declare namespace Components {
130
214
  events?: BlueprintJobEvent[];
131
215
  triggered_at?: string; // date-time
132
216
  created_by?: CallerIdentity;
217
+ job_type?: "dependencies_sync";
133
218
  blueprint_id?: /**
134
219
  * ID of a blueprint
135
220
  * example:
@@ -148,6 +233,7 @@ declare namespace Components {
148
233
  events?: BlueprintJobEvent[];
149
234
  triggered_at?: string; // date-time
150
235
  created_by?: CallerIdentity;
236
+ job_type?: "export";
151
237
  blueprint_id?: /**
152
238
  * ID of a blueprint
153
239
  * example:
@@ -174,6 +260,7 @@ declare namespace Components {
174
260
  events?: BlueprintJobEvent[];
175
261
  triggered_at?: string; // date-time
176
262
  created_by?: CallerIdentity;
263
+ job_type?: "install";
177
264
  source_blueprint_id?: /**
178
265
  * ID of a blueprint
179
266
  * example:
@@ -210,7 +297,7 @@ declare namespace Components {
210
297
  */
211
298
  resources_to_ignore?: string[];
212
299
  }
213
- export type BlueprintJob = BlueprintExportJob | BlueprintInstallationJob | BlueprintDependenciesSyncJob | BlueprintValidateJob | BlueprintVerificationJob;
300
+ export type BlueprintJob = BlueprintExportJob | BlueprintInstallationJob | BlueprintRestoreJob | BlueprintDependenciesSyncJob | BlueprintValidateJob | BlueprintVerificationJob;
214
301
  export interface BlueprintJobEvent {
215
302
  timestamp?: string; // date-time
216
303
  message?: string;
@@ -369,6 +456,52 @@ declare namespace Components {
369
456
  * c2d6cac8-bdd5-4ea2-8a6c-1cbdbe77b341
370
457
  */
371
458
  export type BlueprintResourceID = string;
459
+ export interface BlueprintRestoreJob {
460
+ id?: /**
461
+ * ID of a job
462
+ * example:
463
+ * c2d6cac8-bdd5-4ea2-8a6c-1cbdbe77b341
464
+ */
465
+ BlueprintJobID;
466
+ events?: BlueprintJobEvent[];
467
+ triggered_at?: string; // date-time
468
+ created_by?: CallerIdentity;
469
+ job_type?: "restore";
470
+ destination_blueprint_id?: /**
471
+ * ID of a blueprint
472
+ * example:
473
+ * c2d6cac8-bdd5-4ea2-8a6c-1cbdbe77b341
474
+ */
475
+ BlueprintID;
476
+ destination_org_id?: string;
477
+ /**
478
+ * The install job whose deployment is being reverted. Maps back
479
+ * to the entry in `Blueprint.deployments[]`.
480
+ *
481
+ */
482
+ install_job_id?: string | null;
483
+ /**
484
+ * The snapshot driving Phase 1 of the restore. Null for sweep-only
485
+ * restores (pure-create deployments with no captured manifest).
486
+ *
487
+ */
488
+ snapshot_id?: string | null;
489
+ sync_engine?: "v3";
490
+ status?: "IN_PROGRESS" | "SUCCESS" | "PARTIAL_SUCCESS" | "FAILED";
491
+ /**
492
+ * Absent while the job is still IN_PROGRESS.
493
+ */
494
+ restore_result?: {
495
+ /**
496
+ * The snapshot driving Phase 1 of the restore. Null/absent for
497
+ * sweep-only restores (pure-create deployments with no captured
498
+ * manifest).
499
+ *
500
+ */
501
+ snapshot_id?: string | null;
502
+ resources?: RestoreOutcomeItem[];
503
+ } | null;
504
+ }
372
505
  export interface BlueprintValidateJob {
373
506
  id?: /**
374
507
  * ID of a job
@@ -379,6 +512,7 @@ declare namespace Components {
379
512
  events?: BlueprintJobEvent[];
380
513
  triggered_at?: string; // date-time
381
514
  created_by?: CallerIdentity;
515
+ job_type?: "validate";
382
516
  blueprint_id?: /**
383
517
  * ID of a blueprint
384
518
  * example:
@@ -405,6 +539,7 @@ declare namespace Components {
405
539
  events?: BlueprintJobEvent[];
406
540
  triggered_at?: string; // date-time
407
541
  created_by?: CallerIdentity;
542
+ job_type?: "verification";
408
543
  source_org_id?: string;
409
544
  source_blueprint_id?: /**
410
545
  * ID of a blueprint
@@ -419,7 +554,7 @@ declare namespace Components {
419
554
  * c2d6cac8-bdd5-4ea2-8a6c-1cbdbe77b341
420
555
  */
421
556
  BlueprintID;
422
- status?: "IN_PROGRESS" | "SUCCESS" | "FAILED";
557
+ status?: "IN_PROGRESS" | "SUCCESS" | "PARTIAL_SUCCESS" | "FAILED";
423
558
  summary?: VerificationSummary;
424
559
  resource_results?: ResourceVerificationResult[];
425
560
  /**
@@ -497,6 +632,90 @@ declare namespace Components {
497
632
  * Outcome of this deployment
498
633
  */
499
634
  status?: "IN_PROGRESS" | "SUCCESS" | "PARTIAL_SUCCESS" | "FAILED";
635
+ /**
636
+ * Restore lifecycle metadata for this deployment.
637
+ */
638
+ restore_details?: {
639
+ /**
640
+ * Whether this sync changed destination resources in a way that can
641
+ * be reverted. `false` means the sync completed without create,
642
+ * update, internal-update, or delete impacts, so there is no revert
643
+ * action to offer.
644
+ *
645
+ */
646
+ has_revertible_changes?: boolean;
647
+ /**
648
+ * Counts of resource impact values from the V3 apply result.
649
+ */
650
+ resource_impact_summary?: {
651
+ create?: number;
652
+ update?: number;
653
+ internal_update?: number;
654
+ delete?: number;
655
+ no_op?: number;
656
+ ignored?: number;
657
+ };
658
+ /**
659
+ * BlueprintInstallationJob id of the most recent restore that ran
660
+ * against this deployment. Used by the FE to keep the restore-status
661
+ * badge visible across page reloads. Frontends poll this job to
662
+ * render the latest restore outcome.
663
+ *
664
+ */
665
+ last_restore_job_id?: string;
666
+ /**
667
+ * Timestamp of the most recent restore that ran against this
668
+ * deployment. Stamped when the restore sweep finishes. Used by the
669
+ * FE to show when a sync was reverted.
670
+ *
671
+ */
672
+ last_restore_at?: string; // date-time
673
+ /**
674
+ * Identity of the caller who triggered the most recent restore.
675
+ * Stamped when the restore sweep finishes. Used by the FE to show
676
+ * who reverted a sync.
677
+ *
678
+ */
679
+ last_restored_by?: {
680
+ /**
681
+ * Display name (email or token name) of the restorer.
682
+ */
683
+ name?: string;
684
+ /**
685
+ * User id of the restorer, when triggered by a user.
686
+ */
687
+ user_id?: string;
688
+ };
689
+ /**
690
+ * Computed server-side from `(job_id, restore_details.last_restore_job_id, installation_status)`.
691
+ * `available` when the deployment is restorable but has no prior
692
+ * restore (including pure-create deployments without `snapshot_id`,
693
+ * reverted via sweep-only);
694
+ * `in_progress` while an install or restore is running on this
695
+ * blueprint instance;
696
+ * `restored` / `partially_restored` / `restore_failed` reflect the
697
+ * terminal status of the job referenced by `last_restore_job_id`;
698
+ * `unavailable` means there is no revert action, for example
699
+ * malformed deployment rows missing `job_id` or no-change syncs.
700
+ *
701
+ */
702
+ status?: "available" | "in_progress" | "restored" | "partially_restored" | "restore_failed" | "unavailable";
703
+ };
704
+ /**
705
+ * Deprecated. Use `restore_details.has_revertible_changes`.
706
+ *
707
+ */
708
+ has_revertible_changes?: boolean;
709
+ /**
710
+ * Deprecated. Use `restore_details.last_restore_job_id`.
711
+ *
712
+ */
713
+ last_restore_job_id?: string;
714
+ /**
715
+ * Deprecated. Use `restore_details.status`.
716
+ *
717
+ */
718
+ restore_status?: "available" | "in_progress" | "restored" | "partially_restored" | "restore_failed" | "unavailable";
500
719
  }[];
501
720
  /**
502
721
  * Whether the blueprint is verified by epilot
@@ -784,6 +1003,90 @@ declare namespace Components {
784
1003
  * Outcome of this deployment
785
1004
  */
786
1005
  status?: "IN_PROGRESS" | "SUCCESS" | "PARTIAL_SUCCESS" | "FAILED";
1006
+ /**
1007
+ * Restore lifecycle metadata for this deployment.
1008
+ */
1009
+ restore_details?: {
1010
+ /**
1011
+ * Whether this sync changed destination resources in a way that can
1012
+ * be reverted. `false` means the sync completed without create,
1013
+ * update, internal-update, or delete impacts, so there is no revert
1014
+ * action to offer.
1015
+ *
1016
+ */
1017
+ has_revertible_changes?: boolean;
1018
+ /**
1019
+ * Counts of resource impact values from the V3 apply result.
1020
+ */
1021
+ resource_impact_summary?: {
1022
+ create?: number;
1023
+ update?: number;
1024
+ internal_update?: number;
1025
+ delete?: number;
1026
+ no_op?: number;
1027
+ ignored?: number;
1028
+ };
1029
+ /**
1030
+ * BlueprintInstallationJob id of the most recent restore that ran
1031
+ * against this deployment. Used by the FE to keep the restore-status
1032
+ * badge visible across page reloads. Frontends poll this job to
1033
+ * render the latest restore outcome.
1034
+ *
1035
+ */
1036
+ last_restore_job_id?: string;
1037
+ /**
1038
+ * Timestamp of the most recent restore that ran against this
1039
+ * deployment. Stamped when the restore sweep finishes. Used by the
1040
+ * FE to show when a sync was reverted.
1041
+ *
1042
+ */
1043
+ last_restore_at?: string; // date-time
1044
+ /**
1045
+ * Identity of the caller who triggered the most recent restore.
1046
+ * Stamped when the restore sweep finishes. Used by the FE to show
1047
+ * who reverted a sync.
1048
+ *
1049
+ */
1050
+ last_restored_by?: {
1051
+ /**
1052
+ * Display name (email or token name) of the restorer.
1053
+ */
1054
+ name?: string;
1055
+ /**
1056
+ * User id of the restorer, when triggered by a user.
1057
+ */
1058
+ user_id?: string;
1059
+ };
1060
+ /**
1061
+ * Computed server-side from `(job_id, restore_details.last_restore_job_id, installation_status)`.
1062
+ * `available` when the deployment is restorable but has no prior
1063
+ * restore (including pure-create deployments without `snapshot_id`,
1064
+ * reverted via sweep-only);
1065
+ * `in_progress` while an install or restore is running on this
1066
+ * blueprint instance;
1067
+ * `restored` / `partially_restored` / `restore_failed` reflect the
1068
+ * terminal status of the job referenced by `last_restore_job_id`;
1069
+ * `unavailable` means there is no revert action, for example
1070
+ * malformed deployment rows missing `job_id` or no-change syncs.
1071
+ *
1072
+ */
1073
+ status?: "available" | "in_progress" | "restored" | "partially_restored" | "restore_failed" | "unavailable";
1074
+ };
1075
+ /**
1076
+ * Deprecated. Use `restore_details.has_revertible_changes`.
1077
+ *
1078
+ */
1079
+ has_revertible_changes?: boolean;
1080
+ /**
1081
+ * Deprecated. Use `restore_details.last_restore_job_id`.
1082
+ *
1083
+ */
1084
+ last_restore_job_id?: string;
1085
+ /**
1086
+ * Deprecated. Use `restore_details.status`.
1087
+ *
1088
+ */
1089
+ restore_status?: "available" | "in_progress" | "restored" | "partially_restored" | "restore_failed" | "unavailable";
787
1090
  }[];
788
1091
  /**
789
1092
  * Whether the blueprint is verified by epilot
@@ -887,6 +1190,90 @@ declare namespace Components {
887
1190
  * Outcome of this deployment
888
1191
  */
889
1192
  status?: "IN_PROGRESS" | "SUCCESS" | "PARTIAL_SUCCESS" | "FAILED";
1193
+ /**
1194
+ * Restore lifecycle metadata for this deployment.
1195
+ */
1196
+ restore_details?: {
1197
+ /**
1198
+ * Whether this sync changed destination resources in a way that can
1199
+ * be reverted. `false` means the sync completed without create,
1200
+ * update, internal-update, or delete impacts, so there is no revert
1201
+ * action to offer.
1202
+ *
1203
+ */
1204
+ has_revertible_changes?: boolean;
1205
+ /**
1206
+ * Counts of resource impact values from the V3 apply result.
1207
+ */
1208
+ resource_impact_summary?: {
1209
+ create?: number;
1210
+ update?: number;
1211
+ internal_update?: number;
1212
+ delete?: number;
1213
+ no_op?: number;
1214
+ ignored?: number;
1215
+ };
1216
+ /**
1217
+ * BlueprintInstallationJob id of the most recent restore that ran
1218
+ * against this deployment. Used by the FE to keep the restore-status
1219
+ * badge visible across page reloads. Frontends poll this job to
1220
+ * render the latest restore outcome.
1221
+ *
1222
+ */
1223
+ last_restore_job_id?: string;
1224
+ /**
1225
+ * Timestamp of the most recent restore that ran against this
1226
+ * deployment. Stamped when the restore sweep finishes. Used by the
1227
+ * FE to show when a sync was reverted.
1228
+ *
1229
+ */
1230
+ last_restore_at?: string; // date-time
1231
+ /**
1232
+ * Identity of the caller who triggered the most recent restore.
1233
+ * Stamped when the restore sweep finishes. Used by the FE to show
1234
+ * who reverted a sync.
1235
+ *
1236
+ */
1237
+ last_restored_by?: {
1238
+ /**
1239
+ * Display name (email or token name) of the restorer.
1240
+ */
1241
+ name?: string;
1242
+ /**
1243
+ * User id of the restorer, when triggered by a user.
1244
+ */
1245
+ user_id?: string;
1246
+ };
1247
+ /**
1248
+ * Computed server-side from `(job_id, restore_details.last_restore_job_id, installation_status)`.
1249
+ * `available` when the deployment is restorable but has no prior
1250
+ * restore (including pure-create deployments without `snapshot_id`,
1251
+ * reverted via sweep-only);
1252
+ * `in_progress` while an install or restore is running on this
1253
+ * blueprint instance;
1254
+ * `restored` / `partially_restored` / `restore_failed` reflect the
1255
+ * terminal status of the job referenced by `last_restore_job_id`;
1256
+ * `unavailable` means there is no revert action, for example
1257
+ * malformed deployment rows missing `job_id` or no-change syncs.
1258
+ *
1259
+ */
1260
+ status?: "available" | "in_progress" | "restored" | "partially_restored" | "restore_failed" | "unavailable";
1261
+ };
1262
+ /**
1263
+ * Deprecated. Use `restore_details.has_revertible_changes`.
1264
+ *
1265
+ */
1266
+ has_revertible_changes?: boolean;
1267
+ /**
1268
+ * Deprecated. Use `restore_details.last_restore_job_id`.
1269
+ *
1270
+ */
1271
+ last_restore_job_id?: string;
1272
+ /**
1273
+ * Deprecated. Use `restore_details.status`.
1274
+ *
1275
+ */
1276
+ restore_status?: "available" | "in_progress" | "restored" | "partially_restored" | "restore_failed" | "unavailable";
890
1277
  }[];
891
1278
  /**
892
1279
  * Whether the blueprint is verified by epilot
@@ -1002,6 +1389,90 @@ declare namespace Components {
1002
1389
  * Outcome of this deployment
1003
1390
  */
1004
1391
  status?: "IN_PROGRESS" | "SUCCESS" | "PARTIAL_SUCCESS" | "FAILED";
1392
+ /**
1393
+ * Restore lifecycle metadata for this deployment.
1394
+ */
1395
+ restore_details?: {
1396
+ /**
1397
+ * Whether this sync changed destination resources in a way that can
1398
+ * be reverted. `false` means the sync completed without create,
1399
+ * update, internal-update, or delete impacts, so there is no revert
1400
+ * action to offer.
1401
+ *
1402
+ */
1403
+ has_revertible_changes?: boolean;
1404
+ /**
1405
+ * Counts of resource impact values from the V3 apply result.
1406
+ */
1407
+ resource_impact_summary?: {
1408
+ create?: number;
1409
+ update?: number;
1410
+ internal_update?: number;
1411
+ delete?: number;
1412
+ no_op?: number;
1413
+ ignored?: number;
1414
+ };
1415
+ /**
1416
+ * BlueprintInstallationJob id of the most recent restore that ran
1417
+ * against this deployment. Used by the FE to keep the restore-status
1418
+ * badge visible across page reloads. Frontends poll this job to
1419
+ * render the latest restore outcome.
1420
+ *
1421
+ */
1422
+ last_restore_job_id?: string;
1423
+ /**
1424
+ * Timestamp of the most recent restore that ran against this
1425
+ * deployment. Stamped when the restore sweep finishes. Used by the
1426
+ * FE to show when a sync was reverted.
1427
+ *
1428
+ */
1429
+ last_restore_at?: string; // date-time
1430
+ /**
1431
+ * Identity of the caller who triggered the most recent restore.
1432
+ * Stamped when the restore sweep finishes. Used by the FE to show
1433
+ * who reverted a sync.
1434
+ *
1435
+ */
1436
+ last_restored_by?: {
1437
+ /**
1438
+ * Display name (email or token name) of the restorer.
1439
+ */
1440
+ name?: string;
1441
+ /**
1442
+ * User id of the restorer, when triggered by a user.
1443
+ */
1444
+ user_id?: string;
1445
+ };
1446
+ /**
1447
+ * Computed server-side from `(job_id, restore_details.last_restore_job_id, installation_status)`.
1448
+ * `available` when the deployment is restorable but has no prior
1449
+ * restore (including pure-create deployments without `snapshot_id`,
1450
+ * reverted via sweep-only);
1451
+ * `in_progress` while an install or restore is running on this
1452
+ * blueprint instance;
1453
+ * `restored` / `partially_restored` / `restore_failed` reflect the
1454
+ * terminal status of the job referenced by `last_restore_job_id`;
1455
+ * `unavailable` means there is no revert action, for example
1456
+ * malformed deployment rows missing `job_id` or no-change syncs.
1457
+ *
1458
+ */
1459
+ status?: "available" | "in_progress" | "restored" | "partially_restored" | "restore_failed" | "unavailable";
1460
+ };
1461
+ /**
1462
+ * Deprecated. Use `restore_details.has_revertible_changes`.
1463
+ *
1464
+ */
1465
+ has_revertible_changes?: boolean;
1466
+ /**
1467
+ * Deprecated. Use `restore_details.last_restore_job_id`.
1468
+ *
1469
+ */
1470
+ last_restore_job_id?: string;
1471
+ /**
1472
+ * Deprecated. Use `restore_details.status`.
1473
+ *
1474
+ */
1475
+ restore_status?: "available" | "in_progress" | "restored" | "partially_restored" | "restore_failed" | "unavailable";
1005
1476
  }[];
1006
1477
  /**
1007
1478
  * Whether the blueprint is verified by epilot
@@ -1324,7 +1795,7 @@ declare namespace Components {
1324
1795
  * c2d6cac8-bdd5-4ea2-8a6c-1cbdbe77b341
1325
1796
  */
1326
1797
  BlueprintJobID;
1327
- status?: "IN_PROGRESS" | "SUCCESS" | "FAILED";
1798
+ status?: "IN_PROGRESS" | "SUCCESS" | "PARTIAL_SUCCESS" | "FAILED";
1328
1799
  triggered_at?: string; // date-time
1329
1800
  source_org_id?: string;
1330
1801
  source_blueprint_id?: /**
@@ -1713,6 +2184,90 @@ declare namespace Components {
1713
2184
  * Outcome of this deployment
1714
2185
  */
1715
2186
  status?: "IN_PROGRESS" | "SUCCESS" | "PARTIAL_SUCCESS" | "FAILED";
2187
+ /**
2188
+ * Restore lifecycle metadata for this deployment.
2189
+ */
2190
+ restore_details?: {
2191
+ /**
2192
+ * Whether this sync changed destination resources in a way that can
2193
+ * be reverted. `false` means the sync completed without create,
2194
+ * update, internal-update, or delete impacts, so there is no revert
2195
+ * action to offer.
2196
+ *
2197
+ */
2198
+ has_revertible_changes?: boolean;
2199
+ /**
2200
+ * Counts of resource impact values from the V3 apply result.
2201
+ */
2202
+ resource_impact_summary?: {
2203
+ create?: number;
2204
+ update?: number;
2205
+ internal_update?: number;
2206
+ delete?: number;
2207
+ no_op?: number;
2208
+ ignored?: number;
2209
+ };
2210
+ /**
2211
+ * BlueprintInstallationJob id of the most recent restore that ran
2212
+ * against this deployment. Used by the FE to keep the restore-status
2213
+ * badge visible across page reloads. Frontends poll this job to
2214
+ * render the latest restore outcome.
2215
+ *
2216
+ */
2217
+ last_restore_job_id?: string;
2218
+ /**
2219
+ * Timestamp of the most recent restore that ran against this
2220
+ * deployment. Stamped when the restore sweep finishes. Used by the
2221
+ * FE to show when a sync was reverted.
2222
+ *
2223
+ */
2224
+ last_restore_at?: string; // date-time
2225
+ /**
2226
+ * Identity of the caller who triggered the most recent restore.
2227
+ * Stamped when the restore sweep finishes. Used by the FE to show
2228
+ * who reverted a sync.
2229
+ *
2230
+ */
2231
+ last_restored_by?: {
2232
+ /**
2233
+ * Display name (email or token name) of the restorer.
2234
+ */
2235
+ name?: string;
2236
+ /**
2237
+ * User id of the restorer, when triggered by a user.
2238
+ */
2239
+ user_id?: string;
2240
+ };
2241
+ /**
2242
+ * Computed server-side from `(job_id, restore_details.last_restore_job_id, installation_status)`.
2243
+ * `available` when the deployment is restorable but has no prior
2244
+ * restore (including pure-create deployments without `snapshot_id`,
2245
+ * reverted via sweep-only);
2246
+ * `in_progress` while an install or restore is running on this
2247
+ * blueprint instance;
2248
+ * `restored` / `partially_restored` / `restore_failed` reflect the
2249
+ * terminal status of the job referenced by `last_restore_job_id`;
2250
+ * `unavailable` means there is no revert action, for example
2251
+ * malformed deployment rows missing `job_id` or no-change syncs.
2252
+ *
2253
+ */
2254
+ status?: "available" | "in_progress" | "restored" | "partially_restored" | "restore_failed" | "unavailable";
2255
+ };
2256
+ /**
2257
+ * Deprecated. Use `restore_details.has_revertible_changes`.
2258
+ *
2259
+ */
2260
+ has_revertible_changes?: boolean;
2261
+ /**
2262
+ * Deprecated. Use `restore_details.last_restore_job_id`.
2263
+ *
2264
+ */
2265
+ last_restore_job_id?: string;
2266
+ /**
2267
+ * Deprecated. Use `restore_details.status`.
2268
+ *
2269
+ */
2270
+ restore_status?: "available" | "in_progress" | "restored" | "partially_restored" | "restore_failed" | "unavailable";
1716
2271
  }[];
1717
2272
  /**
1718
2273
  * Whether the blueprint is verified by epilot
@@ -2003,6 +2558,45 @@ declare namespace Components {
2003
2558
  field_diffs?: FieldDiff[];
2004
2559
  error?: string;
2005
2560
  }
2561
+ export interface RestoreOutcome {
2562
+ /**
2563
+ * The snapshot driving Phase 1 of the restore. Null/absent for
2564
+ * sweep-only restores (pure-create deployments with no captured
2565
+ * manifest).
2566
+ *
2567
+ */
2568
+ snapshot_id?: string | null;
2569
+ resources?: RestoreOutcomeItem[];
2570
+ }
2571
+ export interface RestoreOutcomeItem {
2572
+ lineage_id: string;
2573
+ type: string;
2574
+ name?: string | null;
2575
+ target_id?: string | null;
2576
+ /**
2577
+ * On `restore-preview`: the action the restore would take.
2578
+ * On `restore_result`: the action that was applied.
2579
+ * `failed` only appears on `restore_result`.
2580
+ *
2581
+ */
2582
+ action: "restore" | "delete" | "skip" | "failed";
2583
+ /**
2584
+ * Only set when `action == skip`.
2585
+ */
2586
+ reason?: "modified" | "co_owned" | "delete_unsupported" | "heuristic_match";
2587
+ /**
2588
+ * Only set when `reason == modified`. From the lineage row's last install write.
2589
+ */
2590
+ last_synced_at?: string | null; // date-time
2591
+ /**
2592
+ * Only set when `reason == modified`. From the destination resource's current state.
2593
+ */
2594
+ current_updated_at?: string | null; // date-time
2595
+ /**
2596
+ * Only set when `action == failed`.
2597
+ */
2598
+ error_message?: string | null;
2599
+ }
2006
2600
  export interface RootResourceNode {
2007
2601
  /**
2008
2602
  * ID of the resource
@@ -2104,6 +2698,20 @@ declare namespace Components {
2104
2698
  */
2105
2699
  add_dependencies_recommended?: boolean;
2106
2700
  }
2701
+ export interface UniquenessCriteria {
2702
+ org_id: string;
2703
+ resource_type: /* Resource type for which custom uniqueness criteria can be configured. */ UniquenessCriteriaResourceType;
2704
+ fields: [
2705
+ string,
2706
+ ...string[]
2707
+ ];
2708
+ updated_at: string; // date-time
2709
+ updated_by?: string;
2710
+ }
2711
+ /**
2712
+ * Resource type for which custom uniqueness criteria can be configured.
2713
+ */
2714
+ export type UniquenessCriteriaResourceType = "emailtemplate" | "product" | "price" | "tax" | "coupon" | "product_recommendation" | "file" | "document_template" | "schema" | "taxonomy" | "notification_template" | "family" | "permission" | "journey";
2107
2715
  export interface UploadFilePayload {
2108
2716
  /**
2109
2717
  * example:
@@ -2609,6 +3217,12 @@ declare namespace Paths {
2609
3217
  }
2610
3218
  }
2611
3219
  }
3220
+ namespace DeleteUniquenessCriteria {
3221
+ namespace Responses {
3222
+ export interface $204 {
3223
+ }
3224
+ }
3225
+ }
2612
3226
  namespace DetectPatchChanges {
2613
3227
  namespace Parameters {
2614
3228
  export type BlueprintId = /**
@@ -2978,6 +3592,38 @@ declare namespace Paths {
2978
3592
  }
2979
3593
  }
2980
3594
  }
3595
+ namespace GetRestorePreview {
3596
+ namespace Parameters {
3597
+ export type BlueprintId = /**
3598
+ * ID of a blueprint
3599
+ * example:
3600
+ * c2d6cac8-bdd5-4ea2-8a6c-1cbdbe77b341
3601
+ */
3602
+ Components.Schemas.BlueprintID;
3603
+ export type JobId = /**
3604
+ * ID of a job
3605
+ * example:
3606
+ * c2d6cac8-bdd5-4ea2-8a6c-1cbdbe77b341
3607
+ */
3608
+ Components.Schemas.BlueprintJobID;
3609
+ }
3610
+ export interface PathParameters {
3611
+ blueprint_id: Parameters.BlueprintId;
3612
+ job_id: Parameters.JobId;
3613
+ }
3614
+ namespace Responses {
3615
+ export type $200 = Components.Schemas.RestoreOutcome;
3616
+ export interface $404 {
3617
+ }
3618
+ }
3619
+ }
3620
+ namespace GetUniquenessCriteria {
3621
+ namespace Responses {
3622
+ export type $200 = Components.Schemas.UniquenessCriteria;
3623
+ export interface $404 {
3624
+ }
3625
+ }
3626
+ }
2981
3627
  namespace InstallBlueprint {
2982
3628
  export interface RequestBody {
2983
3629
  source_org_id?: string;
@@ -3244,6 +3890,13 @@ declare namespace Paths {
3244
3890
  }
3245
3891
  }
3246
3892
  }
3893
+ namespace ListUniquenessCriteria {
3894
+ namespace Responses {
3895
+ export interface $200 {
3896
+ results?: Components.Schemas.UniquenessCriteria[];
3897
+ }
3898
+ }
3899
+ }
3247
3900
  namespace PreInstallBlueprint {
3248
3901
  export interface RequestBody {
3249
3902
  /**
@@ -3313,6 +3966,62 @@ declare namespace Paths {
3313
3966
  }
3314
3967
  }
3315
3968
  }
3969
+ namespace PutUniquenessCriteria {
3970
+ export interface RequestBody {
3971
+ fields: [
3972
+ string,
3973
+ ...string[]
3974
+ ];
3975
+ }
3976
+ namespace Responses {
3977
+ export type $200 = Components.Schemas.UniquenessCriteria;
3978
+ export interface $400 {
3979
+ }
3980
+ }
3981
+ }
3982
+ namespace RestoreBlueprintDeploymentV3 {
3983
+ namespace Parameters {
3984
+ export type BlueprintId = /**
3985
+ * ID of a blueprint
3986
+ * example:
3987
+ * c2d6cac8-bdd5-4ea2-8a6c-1cbdbe77b341
3988
+ */
3989
+ Components.Schemas.BlueprintID;
3990
+ export type JobId = /**
3991
+ * ID of a job
3992
+ * example:
3993
+ * c2d6cac8-bdd5-4ea2-8a6c-1cbdbe77b341
3994
+ */
3995
+ Components.Schemas.BlueprintJobID;
3996
+ }
3997
+ export interface PathParameters {
3998
+ blueprint_id: Parameters.BlueprintId;
3999
+ job_id: Parameters.JobId;
4000
+ }
4001
+ namespace Responses {
4002
+ export interface $202 {
4003
+ job_id?: /**
4004
+ * ID of a job
4005
+ * example:
4006
+ * c2d6cac8-bdd5-4ea2-8a6c-1cbdbe77b341
4007
+ */
4008
+ Components.Schemas.BlueprintJobID;
4009
+ blueprint_instance_id?: /**
4010
+ * ID of a blueprint
4011
+ * example:
4012
+ * c2d6cac8-bdd5-4ea2-8a6c-1cbdbe77b341
4013
+ */
4014
+ Components.Schemas.BlueprintID;
4015
+ snapshot_id?: string;
4016
+ }
4017
+ export interface $400 {
4018
+ }
4019
+ export interface $404 {
4020
+ }
4021
+ export interface $409 {
4022
+ }
4023
+ }
4024
+ }
3316
4025
  namespace RetryPatchOrg {
3317
4026
  namespace Parameters {
3318
4027
  export type BlueprintId = /**
@@ -3476,6 +4185,14 @@ declare namespace Paths {
3476
4185
  }
3477
4186
  }
3478
4187
  }
4188
+ namespace V1BlueprintManifestUniquenessCriteria$ResourceType {
4189
+ namespace Parameters {
4190
+ export type ResourceType = /* Resource type for which custom uniqueness criteria can be configured. */ Components.Schemas.UniquenessCriteriaResourceType;
4191
+ }
4192
+ export interface PathParameters {
4193
+ resource_type: Parameters.ResourceType;
4194
+ }
4195
+ }
3479
4196
  namespace ValidateBlueprint {
3480
4197
  namespace Parameters {
3481
4198
  export type BlueprintId = /**
@@ -4141,6 +4858,55 @@ interface OperationMethods {
4141
4858
  data?: Paths.InstallBlueprintV3.RequestBody,
4142
4859
  config?: AxiosRequestConfig
4143
4860
  ): OperationResponse<Paths.InstallBlueprintV3.Responses.$202>
4861
+ /**
4862
+ * restoreBlueprintDeploymentV3 - Restore a specific deployment by job_id
4863
+ *
4864
+ * Roll a deployment back to its pre-install state. Two phases:
4865
+ *
4866
+ * 1. Upsert — re-applies the captured payloads via snapshot-api's
4867
+ * `:restore` (server-side; runs config-engine.apply with captured
4868
+ * target ids pre-seeded). Skipped for pure-create deployments
4869
+ * whose snapshot was empty.
4870
+ * 2. Delete sweep — for lineage rows of this blueprint instance not
4871
+ * present in the snapshot's captured set, deletes the live
4872
+ * resource via the type's adapter. Co-ownership / drift /
4873
+ * no-delete-capability skip the entry with the corresponding
4874
+ * reason.
4875
+ *
4876
+ * Resolves `(blueprint_id, job_id)` to the entry in
4877
+ * `Blueprint.deployments[]` and reads its `snapshot_id` and
4878
+ * `destination_blueprint_id` — the caller never needs to handle
4879
+ * snapshot ids directly.
4880
+ *
4881
+ * Async — returns 202 with a job id. Poll the job to track progress.
4882
+ * The per-instance lock (`installation_status === 'IN_PROGRESS'`)
4883
+ * rejects concurrent installs or restores with 409.
4884
+ *
4885
+ */
4886
+ 'restoreBlueprintDeploymentV3'(
4887
+ parameters?: Parameters<Paths.RestoreBlueprintDeploymentV3.PathParameters> | null,
4888
+ data?: any,
4889
+ config?: AxiosRequestConfig
4890
+ ): OperationResponse<Paths.RestoreBlueprintDeploymentV3.Responses.$202>
4891
+ /**
4892
+ * getRestorePreview - Predicted outcome of reverting a deployment
4893
+ *
4894
+ * Computes what would happen if the user triggered a restore on this
4895
+ * deployment, without performing any writes. The forecast uses the
4896
+ * snapshot's captured resources (when present) plus the current lineage
4897
+ * state plus per-adapter gates (co-ownership, no-delete-capability,
4898
+ * heuristic-match, drift when wired).
4899
+ *
4900
+ * Idempotent and side-effect free. Safe to call repeatedly. The result
4901
+ * may shift between calls if operators edit destination resources or
4902
+ * another blueprint adopts a shared resource in the meantime.
4903
+ *
4904
+ */
4905
+ 'getRestorePreview'(
4906
+ parameters?: Parameters<Paths.GetRestorePreview.PathParameters> | null,
4907
+ data?: any,
4908
+ config?: AxiosRequestConfig
4909
+ ): OperationResponse<Paths.GetRestorePreview.Responses.$200>
4144
4910
  /**
4145
4911
  * getBlueprintLineageV3 - Get Blueprint Lineage V3
4146
4912
  *
@@ -4153,6 +4919,53 @@ interface OperationMethods {
4153
4919
  data?: any,
4154
4920
  config?: AxiosRequestConfig
4155
4921
  ): OperationResponse<Paths.GetBlueprintLineageV3.Responses.$200>
4922
+ /**
4923
+ * listUniquenessCriteria - listUniquenessCriteria
4924
+ *
4925
+ * List all custom uniqueness criteria configured for the caller's organization.
4926
+ * These overrides are applied during install (V2 and V3) when matching incoming
4927
+ * resources against existing ones in the destination org, replacing the default
4928
+ * per-resource-type field set with the caller's chosen fields (AND-combined).
4929
+ *
4930
+ */
4931
+ 'listUniquenessCriteria'(
4932
+ parameters?: Parameters<UnknownParamsObject> | null,
4933
+ data?: any,
4934
+ config?: AxiosRequestConfig
4935
+ ): OperationResponse<Paths.ListUniquenessCriteria.Responses.$200>
4936
+ /**
4937
+ * getUniquenessCriteria - getUniquenessCriteria
4938
+ *
4939
+ * Get the configured uniqueness criteria for a specific resource type, if any.
4940
+ */
4941
+ 'getUniquenessCriteria'(
4942
+ parameters?: Parameters<Paths.V1BlueprintManifestUniquenessCriteria$ResourceType.PathParameters> | null,
4943
+ data?: any,
4944
+ config?: AxiosRequestConfig
4945
+ ): OperationResponse<Paths.GetUniquenessCriteria.Responses.$200>
4946
+ /**
4947
+ * putUniquenessCriteria - putUniquenessCriteria
4948
+ *
4949
+ * Set or replace the uniqueness criteria for a resource type. The provided fields
4950
+ * must be valid attributes on the resource's schema (the UI typically loads the
4951
+ * schema to populate options). All listed fields are AND-combined during matching.
4952
+ *
4953
+ */
4954
+ 'putUniquenessCriteria'(
4955
+ parameters?: Parameters<Paths.V1BlueprintManifestUniquenessCriteria$ResourceType.PathParameters> | null,
4956
+ data?: Paths.PutUniquenessCriteria.RequestBody,
4957
+ config?: AxiosRequestConfig
4958
+ ): OperationResponse<Paths.PutUniquenessCriteria.Responses.$200>
4959
+ /**
4960
+ * deleteUniquenessCriteria - deleteUniquenessCriteria
4961
+ *
4962
+ * Remove the custom criteria for a resource type, reverting to the default fields.
4963
+ */
4964
+ 'deleteUniquenessCriteria'(
4965
+ parameters?: Parameters<Paths.V1BlueprintManifestUniquenessCriteria$ResourceType.PathParameters> | null,
4966
+ data?: any,
4967
+ config?: AxiosRequestConfig
4968
+ ): OperationResponse<Paths.DeleteUniquenessCriteria.Responses.$204>
4156
4969
  }
4157
4970
 
4158
4971
  interface PathsDictionary {
@@ -4819,6 +5632,59 @@ interface PathsDictionary {
4819
5632
  config?: AxiosRequestConfig
4820
5633
  ): OperationResponse<Paths.InstallBlueprintV3.Responses.$202>
4821
5634
  }
5635
+ ['/v3/blueprint-manifest/blueprints/{blueprint_id}/deployments/{job_id}:restore']: {
5636
+ /**
5637
+ * restoreBlueprintDeploymentV3 - Restore a specific deployment by job_id
5638
+ *
5639
+ * Roll a deployment back to its pre-install state. Two phases:
5640
+ *
5641
+ * 1. Upsert — re-applies the captured payloads via snapshot-api's
5642
+ * `:restore` (server-side; runs config-engine.apply with captured
5643
+ * target ids pre-seeded). Skipped for pure-create deployments
5644
+ * whose snapshot was empty.
5645
+ * 2. Delete sweep — for lineage rows of this blueprint instance not
5646
+ * present in the snapshot's captured set, deletes the live
5647
+ * resource via the type's adapter. Co-ownership / drift /
5648
+ * no-delete-capability skip the entry with the corresponding
5649
+ * reason.
5650
+ *
5651
+ * Resolves `(blueprint_id, job_id)` to the entry in
5652
+ * `Blueprint.deployments[]` and reads its `snapshot_id` and
5653
+ * `destination_blueprint_id` — the caller never needs to handle
5654
+ * snapshot ids directly.
5655
+ *
5656
+ * Async — returns 202 with a job id. Poll the job to track progress.
5657
+ * The per-instance lock (`installation_status === 'IN_PROGRESS'`)
5658
+ * rejects concurrent installs or restores with 409.
5659
+ *
5660
+ */
5661
+ 'post'(
5662
+ parameters?: Parameters<Paths.RestoreBlueprintDeploymentV3.PathParameters> | null,
5663
+ data?: any,
5664
+ config?: AxiosRequestConfig
5665
+ ): OperationResponse<Paths.RestoreBlueprintDeploymentV3.Responses.$202>
5666
+ }
5667
+ ['/v3/blueprint-manifest/blueprints/{blueprint_id}/deployments/{job_id}/restore-preview']: {
5668
+ /**
5669
+ * getRestorePreview - Predicted outcome of reverting a deployment
5670
+ *
5671
+ * Computes what would happen if the user triggered a restore on this
5672
+ * deployment, without performing any writes. The forecast uses the
5673
+ * snapshot's captured resources (when present) plus the current lineage
5674
+ * state plus per-adapter gates (co-ownership, no-delete-capability,
5675
+ * heuristic-match, drift when wired).
5676
+ *
5677
+ * Idempotent and side-effect free. Safe to call repeatedly. The result
5678
+ * may shift between calls if operators edit destination resources or
5679
+ * another blueprint adopts a shared resource in the meantime.
5680
+ *
5681
+ */
5682
+ 'get'(
5683
+ parameters?: Parameters<Paths.GetRestorePreview.PathParameters> | null,
5684
+ data?: any,
5685
+ config?: AxiosRequestConfig
5686
+ ): OperationResponse<Paths.GetRestorePreview.Responses.$200>
5687
+ }
4822
5688
  ['/v3/blueprint-manifest/blueprints/{blueprint_id}/lineage']: {
4823
5689
  /**
4824
5690
  * getBlueprintLineageV3 - Get Blueprint Lineage V3
@@ -4833,6 +5699,57 @@ interface PathsDictionary {
4833
5699
  config?: AxiosRequestConfig
4834
5700
  ): OperationResponse<Paths.GetBlueprintLineageV3.Responses.$200>
4835
5701
  }
5702
+ ['/v1/blueprint-manifest/uniqueness-criteria']: {
5703
+ /**
5704
+ * listUniquenessCriteria - listUniquenessCriteria
5705
+ *
5706
+ * List all custom uniqueness criteria configured for the caller's organization.
5707
+ * These overrides are applied during install (V2 and V3) when matching incoming
5708
+ * resources against existing ones in the destination org, replacing the default
5709
+ * per-resource-type field set with the caller's chosen fields (AND-combined).
5710
+ *
5711
+ */
5712
+ 'get'(
5713
+ parameters?: Parameters<UnknownParamsObject> | null,
5714
+ data?: any,
5715
+ config?: AxiosRequestConfig
5716
+ ): OperationResponse<Paths.ListUniquenessCriteria.Responses.$200>
5717
+ }
5718
+ ['/v1/blueprint-manifest/uniqueness-criteria/{resource_type}']: {
5719
+ /**
5720
+ * getUniquenessCriteria - getUniquenessCriteria
5721
+ *
5722
+ * Get the configured uniqueness criteria for a specific resource type, if any.
5723
+ */
5724
+ 'get'(
5725
+ parameters?: Parameters<Paths.V1BlueprintManifestUniquenessCriteria$ResourceType.PathParameters> | null,
5726
+ data?: any,
5727
+ config?: AxiosRequestConfig
5728
+ ): OperationResponse<Paths.GetUniquenessCriteria.Responses.$200>
5729
+ /**
5730
+ * putUniquenessCriteria - putUniquenessCriteria
5731
+ *
5732
+ * Set or replace the uniqueness criteria for a resource type. The provided fields
5733
+ * must be valid attributes on the resource's schema (the UI typically loads the
5734
+ * schema to populate options). All listed fields are AND-combined during matching.
5735
+ *
5736
+ */
5737
+ 'put'(
5738
+ parameters?: Parameters<Paths.V1BlueprintManifestUniquenessCriteria$ResourceType.PathParameters> | null,
5739
+ data?: Paths.PutUniquenessCriteria.RequestBody,
5740
+ config?: AxiosRequestConfig
5741
+ ): OperationResponse<Paths.PutUniquenessCriteria.Responses.$200>
5742
+ /**
5743
+ * deleteUniquenessCriteria - deleteUniquenessCriteria
5744
+ *
5745
+ * Remove the custom criteria for a resource type, reverting to the default fields.
5746
+ */
5747
+ 'delete'(
5748
+ parameters?: Parameters<Paths.V1BlueprintManifestUniquenessCriteria$ResourceType.PathParameters> | null,
5749
+ data?: any,
5750
+ config?: AxiosRequestConfig
5751
+ ): OperationResponse<Paths.DeleteUniquenessCriteria.Responses.$204>
5752
+ }
4836
5753
  }
4837
5754
 
4838
5755
  type Client = OpenAPIClient<OperationMethods, PathsDictionary>
@@ -4854,6 +5771,7 @@ type BlueprintPatchWithResults = Components.Schemas.BlueprintPatchWithResults;
4854
5771
  type BlueprintPreview = Components.Schemas.BlueprintPreview;
4855
5772
  type BlueprintResource = Components.Schemas.BlueprintResource;
4856
5773
  type BlueprintResourceID = Components.Schemas.BlueprintResourceID;
5774
+ type BlueprintRestoreJob = Components.Schemas.BlueprintRestoreJob;
4857
5775
  type BlueprintValidateJob = Components.Schemas.BlueprintValidateJob;
4858
5776
  type BlueprintVerificationJob = Components.Schemas.BlueprintVerificationJob;
4859
5777
  type CallerIdentity = Components.Schemas.CallerIdentity;
@@ -4896,14 +5814,18 @@ type ResourceNode = Components.Schemas.ResourceNode;
4896
5814
  type ResourceNodeType = Components.Schemas.ResourceNodeType;
4897
5815
  type ResourceReplacement = Components.Schemas.ResourceReplacement;
4898
5816
  type ResourceVerificationResult = Components.Schemas.ResourceVerificationResult;
5817
+ type RestoreOutcome = Components.Schemas.RestoreOutcome;
5818
+ type RestoreOutcomeItem = Components.Schemas.RestoreOutcomeItem;
4899
5819
  type RootResourceNode = Components.Schemas.RootResourceNode;
4900
5820
  type S3Reference = Components.Schemas.S3Reference;
4901
5821
  type SelectedResources = Components.Schemas.SelectedResources;
4902
5822
  type SuggestBlueprintResourcesRequest = Components.Schemas.SuggestBlueprintResourcesRequest;
4903
5823
  type SuggestBlueprintResourcesResponse = Components.Schemas.SuggestBlueprintResourcesResponse;
5824
+ type UniquenessCriteria = Components.Schemas.UniquenessCriteria;
5825
+ type UniquenessCriteriaResourceType = Components.Schemas.UniquenessCriteriaResourceType;
4904
5826
  type UploadFilePayload = Components.Schemas.UploadFilePayload;
4905
5827
  type V3ResourceProgressEntry = Components.Schemas.V3ResourceProgressEntry;
4906
5828
  type VerificationSummary = Components.Schemas.VerificationSummary;
4907
5829
  type VirtualResourceNodeGroup = Components.Schemas.VirtualResourceNodeGroup;
4908
5830
 
4909
- export { type OrgPatchExecution as $, type AppBlueprint as A, type Blueprint as B, type Client as C, type DeployedBlueprint as D, type DetectChangesResult as E, type FieldDiff as F, type FileBlueprint as G, type FormattedError as H, type FormattedErrorCodes as I, type FormattedErrorData as J, type InstalledMarketplaceBlueprintItem as K, type Job as L, type JobID as M, type JobStatus as N, type OperationMethods as O, Paths as P, type LatestBlueprintVerification as Q, type LineageEntry as R, type Manifest as S, type ManifestID as T, type ManifestItem as U, type ManifestSource as V, type ManifestTimestampFields as W, type MarketplaceBlueprint as X, type MarketplaceListing as Y, type MarketplaceListingUpdate as Z, type MarketplaceListingVersion as _, Components as a, type PatchFieldDiff as a0, type PatchResourceDiff as a1, type PlanChanges as a2, type PreInstallRequirements as a3, type PutManifestPayload as a4, type ResourceNode as a5, type ResourceNodeType as a6, type ResourceReplacement as a7, type ResourceVerificationResult as a8, type RootResourceNode as a9, type S3Reference as aa, type SelectedResources as ab, type SuggestBlueprintResourcesRequest as ac, type SuggestBlueprintResourcesResponse as ad, type UploadFilePayload as ae, type V3ResourceProgressEntry as af, type VerificationSummary as ag, type VirtualResourceNodeGroup as ah, type PathsDictionary as b, type BlueprintDependenciesSyncJob as c, type BlueprintExportJob as d, type BlueprintID as e, type BlueprintInstallStatus as f, type BlueprintInstallationJob as g, type BlueprintInstallationJobOptions as h, type BlueprintJob as i, type BlueprintJobEvent as j, type BlueprintJobID as k, type BlueprintPatch as l, type BlueprintPatchWithResults as m, type BlueprintPreview as n, type BlueprintResource as o, type BlueprintResourceID as p, type BlueprintValidateJob as q, type BlueprintVerificationJob as r, type CallerIdentity as s, type CommonBlueprintFields as t, type CommonBlueprintJobFields as u, type CommonImportFields as v, type CommonManifestFields as w, type CommonMarkdownFields as x, type CommonResourceNode as y, type CustomBlueprint as z };
5831
+ export { type MarketplaceListingVersion as $, type AppBlueprint as A, type Blueprint as B, type Client as C, type CustomBlueprint as D, type DeployedBlueprint as E, type DetectChangesResult as F, type FieldDiff as G, type FileBlueprint as H, type FormattedError as I, type FormattedErrorCodes as J, type FormattedErrorData as K, type InstalledMarketplaceBlueprintItem as L, type Job as M, type JobID as N, type OperationMethods as O, Paths as P, type JobStatus as Q, type LatestBlueprintVerification as R, type LineageEntry as S, type Manifest as T, type ManifestID as U, type ManifestItem as V, type ManifestSource as W, type ManifestTimestampFields as X, type MarketplaceBlueprint as Y, type MarketplaceListing as Z, type MarketplaceListingUpdate as _, Components as a, type OrgPatchExecution as a0, type PatchFieldDiff as a1, type PatchResourceDiff as a2, type PlanChanges as a3, type PreInstallRequirements as a4, type PutManifestPayload as a5, type ResourceNode as a6, type ResourceNodeType as a7, type ResourceReplacement as a8, type ResourceVerificationResult as a9, type RestoreOutcome as aa, type RestoreOutcomeItem as ab, type RootResourceNode as ac, type S3Reference as ad, type SelectedResources as ae, type SuggestBlueprintResourcesRequest as af, type SuggestBlueprintResourcesResponse as ag, type UniquenessCriteria as ah, type UniquenessCriteriaResourceType as ai, type UploadFilePayload as aj, type V3ResourceProgressEntry as ak, type VerificationSummary as al, type VirtualResourceNodeGroup as am, type PathsDictionary as b, type BlueprintDependenciesSyncJob as c, type BlueprintExportJob as d, type BlueprintID as e, type BlueprintInstallStatus as f, type BlueprintInstallationJob as g, type BlueprintInstallationJobOptions as h, type BlueprintJob as i, type BlueprintJobEvent as j, type BlueprintJobID as k, type BlueprintPatch as l, type BlueprintPatchWithResults as m, type BlueprintPreview as n, type BlueprintResource as o, type BlueprintResourceID as p, type BlueprintRestoreJob as q, type BlueprintValidateJob as r, type BlueprintVerificationJob as s, type CallerIdentity as t, type CommonBlueprintFields as u, type CommonBlueprintJobFields as v, type CommonImportFields as w, type CommonManifestFields as x, type CommonMarkdownFields as y, type CommonResourceNode as z };