@epilot/blueprint-manifest-client 4.7.1 → 5.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/openapi.d.ts CHANGED
@@ -50,11 +50,103 @@ declare namespace Components {
50
50
  source_blueprint_id?: string;
51
51
  destination_org_id?: string;
52
52
  destination_blueprint_id?: string;
53
+ /**
54
+ * Blueprint installation job that created or updated this deployment record
55
+ */
56
+ job_id?: string;
53
57
  triggered_at?: string; // date-time
54
58
  /**
55
59
  * User-provided note about this synchronization
56
60
  */
57
61
  note?: string;
62
+ /**
63
+ * Outcome of this deployment
64
+ */
65
+ status?: "IN_PROGRESS" | "SUCCESS" | "PARTIAL_SUCCESS" | "FAILED";
66
+ /**
67
+ * Restore lifecycle metadata for this deployment.
68
+ */
69
+ restore_details?: {
70
+ /**
71
+ * Whether this sync changed destination resources in a way that can
72
+ * be reverted. `false` means the sync completed without create,
73
+ * update, internal-update, or delete impacts, so there is no revert
74
+ * action to offer.
75
+ *
76
+ */
77
+ has_revertible_changes?: boolean;
78
+ /**
79
+ * Counts of resource impact values from the V3 apply result.
80
+ */
81
+ resource_impact_summary?: {
82
+ create?: number;
83
+ update?: number;
84
+ internal_update?: number;
85
+ delete?: number;
86
+ no_op?: number;
87
+ ignored?: number;
88
+ };
89
+ /**
90
+ * BlueprintInstallationJob id of the most recent restore that ran
91
+ * against this deployment. Used by the FE to keep the restore-status
92
+ * badge visible across page reloads. Frontends poll this job to
93
+ * render the latest restore outcome.
94
+ *
95
+ */
96
+ last_restore_job_id?: string;
97
+ /**
98
+ * Timestamp of the most recent restore that ran against this
99
+ * deployment. Stamped when the restore sweep finishes. Used by the
100
+ * FE to show when a sync was reverted.
101
+ *
102
+ */
103
+ last_restore_at?: string; // date-time
104
+ /**
105
+ * Identity of the caller who triggered the most recent restore.
106
+ * Stamped when the restore sweep finishes. Used by the FE to show
107
+ * who reverted a sync.
108
+ *
109
+ */
110
+ last_restored_by?: {
111
+ /**
112
+ * Display name (email or token name) of the restorer.
113
+ */
114
+ name?: string;
115
+ /**
116
+ * User id of the restorer, when triggered by a user.
117
+ */
118
+ user_id?: string;
119
+ };
120
+ /**
121
+ * Computed server-side from `(job_id, restore_details.last_restore_job_id, installation_status)`.
122
+ * `available` when the deployment is restorable but has no prior
123
+ * restore (including pure-create deployments without `snapshot_id`,
124
+ * reverted via sweep-only);
125
+ * `in_progress` while an install or restore is running on this
126
+ * blueprint instance;
127
+ * `restored` / `partially_restored` / `restore_failed` reflect the
128
+ * terminal status of the job referenced by `last_restore_job_id`;
129
+ * `unavailable` means there is no revert action, for example
130
+ * malformed deployment rows missing `job_id` or no-change syncs.
131
+ *
132
+ */
133
+ status?: "available" | "in_progress" | "restored" | "partially_restored" | "restore_failed" | "unavailable";
134
+ };
135
+ /**
136
+ * Deprecated. Use `restore_details.has_revertible_changes`.
137
+ *
138
+ */
139
+ has_revertible_changes?: boolean;
140
+ /**
141
+ * Deprecated. Use `restore_details.last_restore_job_id`.
142
+ *
143
+ */
144
+ last_restore_job_id?: string;
145
+ /**
146
+ * Deprecated. Use `restore_details.status`.
147
+ *
148
+ */
149
+ restore_status?: "available" | "in_progress" | "restored" | "partially_restored" | "restore_failed" | "unavailable";
58
150
  }[];
59
151
  /**
60
152
  * Whether the blueprint is verified by epilot
@@ -125,6 +217,7 @@ declare namespace Components {
125
217
  events?: BlueprintJobEvent[];
126
218
  triggered_at?: string; // date-time
127
219
  created_by?: CallerIdentity;
220
+ job_type?: "dependencies_sync";
128
221
  blueprint_id?: /**
129
222
  * ID of a blueprint
130
223
  * example:
@@ -143,6 +236,7 @@ declare namespace Components {
143
236
  events?: BlueprintJobEvent[];
144
237
  triggered_at?: string; // date-time
145
238
  created_by?: CallerIdentity;
239
+ job_type?: "export";
146
240
  blueprint_id?: /**
147
241
  * ID of a blueprint
148
242
  * example:
@@ -169,6 +263,7 @@ declare namespace Components {
169
263
  events?: BlueprintJobEvent[];
170
264
  triggered_at?: string; // date-time
171
265
  created_by?: CallerIdentity;
266
+ job_type?: "install";
172
267
  source_blueprint_id?: /**
173
268
  * ID of a blueprint
174
269
  * example:
@@ -189,6 +284,14 @@ declare namespace Components {
189
284
  * Blueprint slug for marketplace blueprints
190
285
  */
191
286
  slug?: string;
287
+ /**
288
+ * Engine used for this install job
289
+ */
290
+ sync_engine?: "terraform" | "v3";
291
+ /**
292
+ * Per-resource live status. Populated only for V3 installs.
293
+ */
294
+ resource_progress?: V3ResourceProgressEntry[];
192
295
  status?: "IN_PROGRESS" | "WAITING_USER_ACTION" | "CANCELED" | "SUCCESS" | "PARTIAL_SUCCESS" | "FAILED";
193
296
  }
194
297
  export interface BlueprintInstallationJobOptions {
@@ -197,7 +300,7 @@ declare namespace Components {
197
300
  */
198
301
  resources_to_ignore?: string[];
199
302
  }
200
- export type BlueprintJob = BlueprintExportJob | BlueprintInstallationJob | BlueprintDependenciesSyncJob | BlueprintValidateJob | BlueprintVerificationJob;
303
+ export type BlueprintJob = BlueprintExportJob | BlueprintInstallationJob | BlueprintRestoreJob | BlueprintDependenciesSyncJob | BlueprintValidateJob | BlueprintVerificationJob;
201
304
  export interface BlueprintJobEvent {
202
305
  timestamp?: string; // date-time
203
306
  message?: string;
@@ -225,6 +328,47 @@ declare namespace Components {
225
328
  * c2d6cac8-bdd5-4ea2-8a6c-1cbdbe77b341
226
329
  */
227
330
  export type BlueprintJobID = string;
331
+ export interface BlueprintPatch {
332
+ patch_id?: string;
333
+ version?: number;
334
+ blueprint_id?: /**
335
+ * ID of a blueprint
336
+ * example:
337
+ * c2d6cac8-bdd5-4ea2-8a6c-1cbdbe77b341
338
+ */
339
+ BlueprintID;
340
+ rollout_id?: string;
341
+ source_org_id?: string;
342
+ name?: string;
343
+ description?: string;
344
+ status?: "draft" | "ready" | "applying" | "applied" | "partial";
345
+ resources?: PatchResourceDiff[];
346
+ changelog?: string;
347
+ created_by?: string;
348
+ created_at?: string; // date-time
349
+ applied_at?: string; // date-time
350
+ }
351
+ export interface BlueprintPatchWithResults {
352
+ patch_id?: string;
353
+ version?: number;
354
+ blueprint_id?: /**
355
+ * ID of a blueprint
356
+ * example:
357
+ * c2d6cac8-bdd5-4ea2-8a6c-1cbdbe77b341
358
+ */
359
+ BlueprintID;
360
+ rollout_id?: string;
361
+ source_org_id?: string;
362
+ name?: string;
363
+ description?: string;
364
+ status?: "draft" | "ready" | "applying" | "applied" | "partial";
365
+ resources?: PatchResourceDiff[];
366
+ changelog?: string;
367
+ created_by?: string;
368
+ created_at?: string; // date-time
369
+ applied_at?: string; // date-time
370
+ org_results?: OrgPatchExecution[];
371
+ }
228
372
  /**
229
373
  * Preview data for a blueprint before installation. Stored temporarily with TTL.
230
374
  */
@@ -315,6 +459,52 @@ declare namespace Components {
315
459
  * c2d6cac8-bdd5-4ea2-8a6c-1cbdbe77b341
316
460
  */
317
461
  export type BlueprintResourceID = string;
462
+ export interface BlueprintRestoreJob {
463
+ id?: /**
464
+ * ID of a job
465
+ * example:
466
+ * c2d6cac8-bdd5-4ea2-8a6c-1cbdbe77b341
467
+ */
468
+ BlueprintJobID;
469
+ events?: BlueprintJobEvent[];
470
+ triggered_at?: string; // date-time
471
+ created_by?: CallerIdentity;
472
+ job_type?: "restore";
473
+ destination_blueprint_id?: /**
474
+ * ID of a blueprint
475
+ * example:
476
+ * c2d6cac8-bdd5-4ea2-8a6c-1cbdbe77b341
477
+ */
478
+ BlueprintID;
479
+ destination_org_id?: string;
480
+ /**
481
+ * The install job whose deployment is being reverted. Maps back
482
+ * to the entry in `Blueprint.deployments[]`.
483
+ *
484
+ */
485
+ install_job_id?: string | null;
486
+ /**
487
+ * The snapshot driving Phase 1 of the restore. Null for sweep-only
488
+ * restores (pure-create deployments with no captured manifest).
489
+ *
490
+ */
491
+ snapshot_id?: string | null;
492
+ sync_engine?: "v3";
493
+ status?: "IN_PROGRESS" | "SUCCESS" | "PARTIAL_SUCCESS" | "FAILED";
494
+ /**
495
+ * Absent while the job is still IN_PROGRESS.
496
+ */
497
+ restore_result?: {
498
+ /**
499
+ * The snapshot driving Phase 1 of the restore. Null/absent for
500
+ * sweep-only restores (pure-create deployments with no captured
501
+ * manifest).
502
+ *
503
+ */
504
+ snapshot_id?: string | null;
505
+ resources?: RestoreOutcomeItem[];
506
+ } | null;
507
+ }
318
508
  export interface BlueprintValidateJob {
319
509
  id?: /**
320
510
  * ID of a job
@@ -325,6 +515,7 @@ declare namespace Components {
325
515
  events?: BlueprintJobEvent[];
326
516
  triggered_at?: string; // date-time
327
517
  created_by?: CallerIdentity;
518
+ job_type?: "validate";
328
519
  blueprint_id?: /**
329
520
  * ID of a blueprint
330
521
  * example:
@@ -351,6 +542,7 @@ declare namespace Components {
351
542
  events?: BlueprintJobEvent[];
352
543
  triggered_at?: string; // date-time
353
544
  created_by?: CallerIdentity;
545
+ job_type?: "verification";
354
546
  source_org_id?: string;
355
547
  source_blueprint_id?: /**
356
548
  * ID of a blueprint
@@ -365,7 +557,7 @@ declare namespace Components {
365
557
  * c2d6cac8-bdd5-4ea2-8a6c-1cbdbe77b341
366
558
  */
367
559
  BlueprintID;
368
- status?: "IN_PROGRESS" | "SUCCESS" | "FAILED";
560
+ status?: "IN_PROGRESS" | "SUCCESS" | "PARTIAL_SUCCESS" | "FAILED";
369
561
  summary?: VerificationSummary;
370
562
  resource_results?: ResourceVerificationResult[];
371
563
  /**
@@ -430,11 +622,103 @@ declare namespace Components {
430
622
  source_blueprint_id?: string;
431
623
  destination_org_id?: string;
432
624
  destination_blueprint_id?: string;
625
+ /**
626
+ * Blueprint installation job that created or updated this deployment record
627
+ */
628
+ job_id?: string;
433
629
  triggered_at?: string; // date-time
434
630
  /**
435
631
  * User-provided note about this synchronization
436
632
  */
437
633
  note?: string;
634
+ /**
635
+ * Outcome of this deployment
636
+ */
637
+ status?: "IN_PROGRESS" | "SUCCESS" | "PARTIAL_SUCCESS" | "FAILED";
638
+ /**
639
+ * Restore lifecycle metadata for this deployment.
640
+ */
641
+ restore_details?: {
642
+ /**
643
+ * Whether this sync changed destination resources in a way that can
644
+ * be reverted. `false` means the sync completed without create,
645
+ * update, internal-update, or delete impacts, so there is no revert
646
+ * action to offer.
647
+ *
648
+ */
649
+ has_revertible_changes?: boolean;
650
+ /**
651
+ * Counts of resource impact values from the V3 apply result.
652
+ */
653
+ resource_impact_summary?: {
654
+ create?: number;
655
+ update?: number;
656
+ internal_update?: number;
657
+ delete?: number;
658
+ no_op?: number;
659
+ ignored?: number;
660
+ };
661
+ /**
662
+ * BlueprintInstallationJob id of the most recent restore that ran
663
+ * against this deployment. Used by the FE to keep the restore-status
664
+ * badge visible across page reloads. Frontends poll this job to
665
+ * render the latest restore outcome.
666
+ *
667
+ */
668
+ last_restore_job_id?: string;
669
+ /**
670
+ * Timestamp of the most recent restore that ran against this
671
+ * deployment. Stamped when the restore sweep finishes. Used by the
672
+ * FE to show when a sync was reverted.
673
+ *
674
+ */
675
+ last_restore_at?: string; // date-time
676
+ /**
677
+ * Identity of the caller who triggered the most recent restore.
678
+ * Stamped when the restore sweep finishes. Used by the FE to show
679
+ * who reverted a sync.
680
+ *
681
+ */
682
+ last_restored_by?: {
683
+ /**
684
+ * Display name (email or token name) of the restorer.
685
+ */
686
+ name?: string;
687
+ /**
688
+ * User id of the restorer, when triggered by a user.
689
+ */
690
+ user_id?: string;
691
+ };
692
+ /**
693
+ * Computed server-side from `(job_id, restore_details.last_restore_job_id, installation_status)`.
694
+ * `available` when the deployment is restorable but has no prior
695
+ * restore (including pure-create deployments without `snapshot_id`,
696
+ * reverted via sweep-only);
697
+ * `in_progress` while an install or restore is running on this
698
+ * blueprint instance;
699
+ * `restored` / `partially_restored` / `restore_failed` reflect the
700
+ * terminal status of the job referenced by `last_restore_job_id`;
701
+ * `unavailable` means there is no revert action, for example
702
+ * malformed deployment rows missing `job_id` or no-change syncs.
703
+ *
704
+ */
705
+ status?: "available" | "in_progress" | "restored" | "partially_restored" | "restore_failed" | "unavailable";
706
+ };
707
+ /**
708
+ * Deprecated. Use `restore_details.has_revertible_changes`.
709
+ *
710
+ */
711
+ has_revertible_changes?: boolean;
712
+ /**
713
+ * Deprecated. Use `restore_details.last_restore_job_id`.
714
+ *
715
+ */
716
+ last_restore_job_id?: string;
717
+ /**
718
+ * Deprecated. Use `restore_details.status`.
719
+ *
720
+ */
721
+ restore_status?: "available" | "in_progress" | "restored" | "partially_restored" | "restore_failed" | "unavailable";
438
722
  }[];
439
723
  /**
440
724
  * Whether the blueprint is verified by epilot
@@ -709,11 +993,103 @@ declare namespace Components {
709
993
  source_blueprint_id?: string;
710
994
  destination_org_id?: string;
711
995
  destination_blueprint_id?: string;
996
+ /**
997
+ * Blueprint installation job that created or updated this deployment record
998
+ */
999
+ job_id?: string;
712
1000
  triggered_at?: string; // date-time
713
1001
  /**
714
1002
  * User-provided note about this synchronization
715
1003
  */
716
1004
  note?: string;
1005
+ /**
1006
+ * Outcome of this deployment
1007
+ */
1008
+ status?: "IN_PROGRESS" | "SUCCESS" | "PARTIAL_SUCCESS" | "FAILED";
1009
+ /**
1010
+ * Restore lifecycle metadata for this deployment.
1011
+ */
1012
+ restore_details?: {
1013
+ /**
1014
+ * Whether this sync changed destination resources in a way that can
1015
+ * be reverted. `false` means the sync completed without create,
1016
+ * update, internal-update, or delete impacts, so there is no revert
1017
+ * action to offer.
1018
+ *
1019
+ */
1020
+ has_revertible_changes?: boolean;
1021
+ /**
1022
+ * Counts of resource impact values from the V3 apply result.
1023
+ */
1024
+ resource_impact_summary?: {
1025
+ create?: number;
1026
+ update?: number;
1027
+ internal_update?: number;
1028
+ delete?: number;
1029
+ no_op?: number;
1030
+ ignored?: number;
1031
+ };
1032
+ /**
1033
+ * BlueprintInstallationJob id of the most recent restore that ran
1034
+ * against this deployment. Used by the FE to keep the restore-status
1035
+ * badge visible across page reloads. Frontends poll this job to
1036
+ * render the latest restore outcome.
1037
+ *
1038
+ */
1039
+ last_restore_job_id?: string;
1040
+ /**
1041
+ * Timestamp of the most recent restore that ran against this
1042
+ * deployment. Stamped when the restore sweep finishes. Used by the
1043
+ * FE to show when a sync was reverted.
1044
+ *
1045
+ */
1046
+ last_restore_at?: string; // date-time
1047
+ /**
1048
+ * Identity of the caller who triggered the most recent restore.
1049
+ * Stamped when the restore sweep finishes. Used by the FE to show
1050
+ * who reverted a sync.
1051
+ *
1052
+ */
1053
+ last_restored_by?: {
1054
+ /**
1055
+ * Display name (email or token name) of the restorer.
1056
+ */
1057
+ name?: string;
1058
+ /**
1059
+ * User id of the restorer, when triggered by a user.
1060
+ */
1061
+ user_id?: string;
1062
+ };
1063
+ /**
1064
+ * Computed server-side from `(job_id, restore_details.last_restore_job_id, installation_status)`.
1065
+ * `available` when the deployment is restorable but has no prior
1066
+ * restore (including pure-create deployments without `snapshot_id`,
1067
+ * reverted via sweep-only);
1068
+ * `in_progress` while an install or restore is running on this
1069
+ * blueprint instance;
1070
+ * `restored` / `partially_restored` / `restore_failed` reflect the
1071
+ * terminal status of the job referenced by `last_restore_job_id`;
1072
+ * `unavailable` means there is no revert action, for example
1073
+ * malformed deployment rows missing `job_id` or no-change syncs.
1074
+ *
1075
+ */
1076
+ status?: "available" | "in_progress" | "restored" | "partially_restored" | "restore_failed" | "unavailable";
1077
+ };
1078
+ /**
1079
+ * Deprecated. Use `restore_details.has_revertible_changes`.
1080
+ *
1081
+ */
1082
+ has_revertible_changes?: boolean;
1083
+ /**
1084
+ * Deprecated. Use `restore_details.last_restore_job_id`.
1085
+ *
1086
+ */
1087
+ last_restore_job_id?: string;
1088
+ /**
1089
+ * Deprecated. Use `restore_details.status`.
1090
+ *
1091
+ */
1092
+ restore_status?: "available" | "in_progress" | "restored" | "partially_restored" | "restore_failed" | "unavailable";
717
1093
  }[];
718
1094
  /**
719
1095
  * Whether the blueprint is verified by epilot
@@ -804,11 +1180,103 @@ declare namespace Components {
804
1180
  source_blueprint_id?: string;
805
1181
  destination_org_id?: string;
806
1182
  destination_blueprint_id?: string;
1183
+ /**
1184
+ * Blueprint installation job that created or updated this deployment record
1185
+ */
1186
+ job_id?: string;
807
1187
  triggered_at?: string; // date-time
808
1188
  /**
809
1189
  * User-provided note about this synchronization
810
1190
  */
811
1191
  note?: string;
1192
+ /**
1193
+ * Outcome of this deployment
1194
+ */
1195
+ status?: "IN_PROGRESS" | "SUCCESS" | "PARTIAL_SUCCESS" | "FAILED";
1196
+ /**
1197
+ * Restore lifecycle metadata for this deployment.
1198
+ */
1199
+ restore_details?: {
1200
+ /**
1201
+ * Whether this sync changed destination resources in a way that can
1202
+ * be reverted. `false` means the sync completed without create,
1203
+ * update, internal-update, or delete impacts, so there is no revert
1204
+ * action to offer.
1205
+ *
1206
+ */
1207
+ has_revertible_changes?: boolean;
1208
+ /**
1209
+ * Counts of resource impact values from the V3 apply result.
1210
+ */
1211
+ resource_impact_summary?: {
1212
+ create?: number;
1213
+ update?: number;
1214
+ internal_update?: number;
1215
+ delete?: number;
1216
+ no_op?: number;
1217
+ ignored?: number;
1218
+ };
1219
+ /**
1220
+ * BlueprintInstallationJob id of the most recent restore that ran
1221
+ * against this deployment. Used by the FE to keep the restore-status
1222
+ * badge visible across page reloads. Frontends poll this job to
1223
+ * render the latest restore outcome.
1224
+ *
1225
+ */
1226
+ last_restore_job_id?: string;
1227
+ /**
1228
+ * Timestamp of the most recent restore that ran against this
1229
+ * deployment. Stamped when the restore sweep finishes. Used by the
1230
+ * FE to show when a sync was reverted.
1231
+ *
1232
+ */
1233
+ last_restore_at?: string; // date-time
1234
+ /**
1235
+ * Identity of the caller who triggered the most recent restore.
1236
+ * Stamped when the restore sweep finishes. Used by the FE to show
1237
+ * who reverted a sync.
1238
+ *
1239
+ */
1240
+ last_restored_by?: {
1241
+ /**
1242
+ * Display name (email or token name) of the restorer.
1243
+ */
1244
+ name?: string;
1245
+ /**
1246
+ * User id of the restorer, when triggered by a user.
1247
+ */
1248
+ user_id?: string;
1249
+ };
1250
+ /**
1251
+ * Computed server-side from `(job_id, restore_details.last_restore_job_id, installation_status)`.
1252
+ * `available` when the deployment is restorable but has no prior
1253
+ * restore (including pure-create deployments without `snapshot_id`,
1254
+ * reverted via sweep-only);
1255
+ * `in_progress` while an install or restore is running on this
1256
+ * blueprint instance;
1257
+ * `restored` / `partially_restored` / `restore_failed` reflect the
1258
+ * terminal status of the job referenced by `last_restore_job_id`;
1259
+ * `unavailable` means there is no revert action, for example
1260
+ * malformed deployment rows missing `job_id` or no-change syncs.
1261
+ *
1262
+ */
1263
+ status?: "available" | "in_progress" | "restored" | "partially_restored" | "restore_failed" | "unavailable";
1264
+ };
1265
+ /**
1266
+ * Deprecated. Use `restore_details.has_revertible_changes`.
1267
+ *
1268
+ */
1269
+ has_revertible_changes?: boolean;
1270
+ /**
1271
+ * Deprecated. Use `restore_details.last_restore_job_id`.
1272
+ *
1273
+ */
1274
+ last_restore_job_id?: string;
1275
+ /**
1276
+ * Deprecated. Use `restore_details.status`.
1277
+ *
1278
+ */
1279
+ restore_status?: "available" | "in_progress" | "restored" | "partially_restored" | "restore_failed" | "unavailable";
812
1280
  }[];
813
1281
  /**
814
1282
  * Whether the blueprint is verified by epilot
@@ -868,6 +1336,9 @@ declare namespace Components {
868
1336
  source_type: "deploy";
869
1337
  resources?: BlueprintResource[];
870
1338
  }
1339
+ export interface DetectChangesResult {
1340
+ resources?: PatchResourceDiff[];
1341
+ }
871
1342
  export interface FieldDiff {
872
1343
  /**
873
1344
  * JSON path to the differing field (e.g. "steps[2].name")
@@ -908,11 +1379,103 @@ declare namespace Components {
908
1379
  source_blueprint_id?: string;
909
1380
  destination_org_id?: string;
910
1381
  destination_blueprint_id?: string;
1382
+ /**
1383
+ * Blueprint installation job that created or updated this deployment record
1384
+ */
1385
+ job_id?: string;
911
1386
  triggered_at?: string; // date-time
912
1387
  /**
913
1388
  * User-provided note about this synchronization
914
1389
  */
915
1390
  note?: string;
1391
+ /**
1392
+ * Outcome of this deployment
1393
+ */
1394
+ status?: "IN_PROGRESS" | "SUCCESS" | "PARTIAL_SUCCESS" | "FAILED";
1395
+ /**
1396
+ * Restore lifecycle metadata for this deployment.
1397
+ */
1398
+ restore_details?: {
1399
+ /**
1400
+ * Whether this sync changed destination resources in a way that can
1401
+ * be reverted. `false` means the sync completed without create,
1402
+ * update, internal-update, or delete impacts, so there is no revert
1403
+ * action to offer.
1404
+ *
1405
+ */
1406
+ has_revertible_changes?: boolean;
1407
+ /**
1408
+ * Counts of resource impact values from the V3 apply result.
1409
+ */
1410
+ resource_impact_summary?: {
1411
+ create?: number;
1412
+ update?: number;
1413
+ internal_update?: number;
1414
+ delete?: number;
1415
+ no_op?: number;
1416
+ ignored?: number;
1417
+ };
1418
+ /**
1419
+ * BlueprintInstallationJob id of the most recent restore that ran
1420
+ * against this deployment. Used by the FE to keep the restore-status
1421
+ * badge visible across page reloads. Frontends poll this job to
1422
+ * render the latest restore outcome.
1423
+ *
1424
+ */
1425
+ last_restore_job_id?: string;
1426
+ /**
1427
+ * Timestamp of the most recent restore that ran against this
1428
+ * deployment. Stamped when the restore sweep finishes. Used by the
1429
+ * FE to show when a sync was reverted.
1430
+ *
1431
+ */
1432
+ last_restore_at?: string; // date-time
1433
+ /**
1434
+ * Identity of the caller who triggered the most recent restore.
1435
+ * Stamped when the restore sweep finishes. Used by the FE to show
1436
+ * who reverted a sync.
1437
+ *
1438
+ */
1439
+ last_restored_by?: {
1440
+ /**
1441
+ * Display name (email or token name) of the restorer.
1442
+ */
1443
+ name?: string;
1444
+ /**
1445
+ * User id of the restorer, when triggered by a user.
1446
+ */
1447
+ user_id?: string;
1448
+ };
1449
+ /**
1450
+ * Computed server-side from `(job_id, restore_details.last_restore_job_id, installation_status)`.
1451
+ * `available` when the deployment is restorable but has no prior
1452
+ * restore (including pure-create deployments without `snapshot_id`,
1453
+ * reverted via sweep-only);
1454
+ * `in_progress` while an install or restore is running on this
1455
+ * blueprint instance;
1456
+ * `restored` / `partially_restored` / `restore_failed` reflect the
1457
+ * terminal status of the job referenced by `last_restore_job_id`;
1458
+ * `unavailable` means there is no revert action, for example
1459
+ * malformed deployment rows missing `job_id` or no-change syncs.
1460
+ *
1461
+ */
1462
+ status?: "available" | "in_progress" | "restored" | "partially_restored" | "restore_failed" | "unavailable";
1463
+ };
1464
+ /**
1465
+ * Deprecated. Use `restore_details.has_revertible_changes`.
1466
+ *
1467
+ */
1468
+ has_revertible_changes?: boolean;
1469
+ /**
1470
+ * Deprecated. Use `restore_details.last_restore_job_id`.
1471
+ *
1472
+ */
1473
+ last_restore_job_id?: string;
1474
+ /**
1475
+ * Deprecated. Use `restore_details.status`.
1476
+ *
1477
+ */
1478
+ restore_status?: "available" | "in_progress" | "restored" | "partially_restored" | "restore_failed" | "unavailable";
916
1479
  }[];
917
1480
  /**
918
1481
  * Whether the blueprint is verified by epilot
@@ -1235,7 +1798,7 @@ declare namespace Components {
1235
1798
  * c2d6cac8-bdd5-4ea2-8a6c-1cbdbe77b341
1236
1799
  */
1237
1800
  BlueprintJobID;
1238
- status?: "IN_PROGRESS" | "SUCCESS" | "FAILED";
1801
+ status?: "IN_PROGRESS" | "SUCCESS" | "PARTIAL_SUCCESS" | "FAILED";
1239
1802
  triggered_at?: string; // date-time
1240
1803
  source_org_id?: string;
1241
1804
  source_blueprint_id?: /**
@@ -1611,11 +2174,103 @@ declare namespace Components {
1611
2174
  source_blueprint_id?: string;
1612
2175
  destination_org_id?: string;
1613
2176
  destination_blueprint_id?: string;
2177
+ /**
2178
+ * Blueprint installation job that created or updated this deployment record
2179
+ */
2180
+ job_id?: string;
1614
2181
  triggered_at?: string; // date-time
1615
2182
  /**
1616
2183
  * User-provided note about this synchronization
1617
2184
  */
1618
2185
  note?: string;
2186
+ /**
2187
+ * Outcome of this deployment
2188
+ */
2189
+ status?: "IN_PROGRESS" | "SUCCESS" | "PARTIAL_SUCCESS" | "FAILED";
2190
+ /**
2191
+ * Restore lifecycle metadata for this deployment.
2192
+ */
2193
+ restore_details?: {
2194
+ /**
2195
+ * Whether this sync changed destination resources in a way that can
2196
+ * be reverted. `false` means the sync completed without create,
2197
+ * update, internal-update, or delete impacts, so there is no revert
2198
+ * action to offer.
2199
+ *
2200
+ */
2201
+ has_revertible_changes?: boolean;
2202
+ /**
2203
+ * Counts of resource impact values from the V3 apply result.
2204
+ */
2205
+ resource_impact_summary?: {
2206
+ create?: number;
2207
+ update?: number;
2208
+ internal_update?: number;
2209
+ delete?: number;
2210
+ no_op?: number;
2211
+ ignored?: number;
2212
+ };
2213
+ /**
2214
+ * BlueprintInstallationJob id of the most recent restore that ran
2215
+ * against this deployment. Used by the FE to keep the restore-status
2216
+ * badge visible across page reloads. Frontends poll this job to
2217
+ * render the latest restore outcome.
2218
+ *
2219
+ */
2220
+ last_restore_job_id?: string;
2221
+ /**
2222
+ * Timestamp of the most recent restore that ran against this
2223
+ * deployment. Stamped when the restore sweep finishes. Used by the
2224
+ * FE to show when a sync was reverted.
2225
+ *
2226
+ */
2227
+ last_restore_at?: string; // date-time
2228
+ /**
2229
+ * Identity of the caller who triggered the most recent restore.
2230
+ * Stamped when the restore sweep finishes. Used by the FE to show
2231
+ * who reverted a sync.
2232
+ *
2233
+ */
2234
+ last_restored_by?: {
2235
+ /**
2236
+ * Display name (email or token name) of the restorer.
2237
+ */
2238
+ name?: string;
2239
+ /**
2240
+ * User id of the restorer, when triggered by a user.
2241
+ */
2242
+ user_id?: string;
2243
+ };
2244
+ /**
2245
+ * Computed server-side from `(job_id, restore_details.last_restore_job_id, installation_status)`.
2246
+ * `available` when the deployment is restorable but has no prior
2247
+ * restore (including pure-create deployments without `snapshot_id`,
2248
+ * reverted via sweep-only);
2249
+ * `in_progress` while an install or restore is running on this
2250
+ * blueprint instance;
2251
+ * `restored` / `partially_restored` / `restore_failed` reflect the
2252
+ * terminal status of the job referenced by `last_restore_job_id`;
2253
+ * `unavailable` means there is no revert action, for example
2254
+ * malformed deployment rows missing `job_id` or no-change syncs.
2255
+ *
2256
+ */
2257
+ status?: "available" | "in_progress" | "restored" | "partially_restored" | "restore_failed" | "unavailable";
2258
+ };
2259
+ /**
2260
+ * Deprecated. Use `restore_details.has_revertible_changes`.
2261
+ *
2262
+ */
2263
+ has_revertible_changes?: boolean;
2264
+ /**
2265
+ * Deprecated. Use `restore_details.last_restore_job_id`.
2266
+ *
2267
+ */
2268
+ last_restore_job_id?: string;
2269
+ /**
2270
+ * Deprecated. Use `restore_details.status`.
2271
+ *
2272
+ */
2273
+ restore_status?: "available" | "in_progress" | "restored" | "partially_restored" | "restore_failed" | "unavailable";
1619
2274
  }[];
1620
2275
  /**
1621
2276
  * Whether the blueprint is verified by epilot
@@ -1781,6 +2436,31 @@ declare namespace Components {
1781
2436
  created_at: string; // date-time
1782
2437
  published_at?: string | null; // date-time
1783
2438
  }
2439
+ export interface OrgPatchExecution {
2440
+ patch_id?: string;
2441
+ version?: number;
2442
+ org_id?: string;
2443
+ org_name?: string;
2444
+ dest_blueprint_id?: string;
2445
+ status?: "pending" | "in_progress" | "success" | "failed";
2446
+ error?: string;
2447
+ applied_at?: string; // date-time
2448
+ retries?: number;
2449
+ changes_applied?: PatchFieldDiff[];
2450
+ }
2451
+ export interface PatchFieldDiff {
2452
+ path?: string;
2453
+ op?: "changed" | "added" | "removed";
2454
+ baseline_value?: any;
2455
+ current_value?: any;
2456
+ }
2457
+ export interface PatchResourceDiff {
2458
+ type?: string;
2459
+ source_id?: string;
2460
+ address?: string;
2461
+ name?: string;
2462
+ changes?: PatchFieldDiff[];
2463
+ }
1784
2464
  export type PlanChanges = ("create" | "update" | "internal-update" | "no-op" | "delete" | "ignored")[];
1785
2465
  /**
1786
2466
  * List of feature settings that must be enabled before installing the blueprint
@@ -1857,7 +2537,7 @@ declare namespace Components {
1857
2537
  /**
1858
2538
  * Type of the resource
1859
2539
  */
1860
- export type ResourceNodeType = "designbuilder" | "journey" | "product" | "price" | "product_recommendation" | "coupon" | "tax" | "automation_flow" | "entity_mapping" | "file" | "emailtemplate" | "schema" | "schema_attribute" | "schema_capability" | "schema_group" | "schema_group_headline" | "workflow_definition" | "closing_reason" | "taxonomy_classification" | "webhook" | "integration" | "dashboard" | "custom_variable" | "usergroup" | "saved_view" | "app" | "role" | "portal_config" | "target" | "kanban" | "validation_rule" | "flow_template" | "taxonomy" | "notification_template" | "environment_variable";
2540
+ export type ResourceNodeType = "designbuilder" | "journey" | "product" | "price" | "product_recommendation" | "coupon" | "tax" | "automation_flow" | "entity_mapping" | "file" | "emailtemplate" | "schema" | "schema_attribute" | "schema_capability" | "schema_group" | "schema_group_headline" | "workflow_definition" | "closing_reason" | "taxonomy_classification" | "webhook" | "integration" | "dashboard" | "custom_variable" | "usergroup" | "saved_view" | "app" | "role" | "portal_config" | "target" | "kanban" | "validation_rule" | "flow_template" | "taxonomy" | "notification_template" | "environment_variable" | "datasource" | "family" | "permission";
1861
2541
  export interface ResourceReplacement {
1862
2542
  /**
1863
2543
  * Original resource ID to be replaced
@@ -1881,6 +2561,45 @@ declare namespace Components {
1881
2561
  field_diffs?: FieldDiff[];
1882
2562
  error?: string;
1883
2563
  }
2564
+ export interface RestoreOutcome {
2565
+ /**
2566
+ * The snapshot driving Phase 1 of the restore. Null/absent for
2567
+ * sweep-only restores (pure-create deployments with no captured
2568
+ * manifest).
2569
+ *
2570
+ */
2571
+ snapshot_id?: string | null;
2572
+ resources?: RestoreOutcomeItem[];
2573
+ }
2574
+ export interface RestoreOutcomeItem {
2575
+ lineage_id: string;
2576
+ type: string;
2577
+ name?: string | null;
2578
+ target_id?: string | null;
2579
+ /**
2580
+ * On `restore-preview`: the action the restore would take.
2581
+ * On `restore_result`: the action that was applied.
2582
+ * `failed` only appears on `restore_result`.
2583
+ *
2584
+ */
2585
+ action: "restore" | "delete" | "skip" | "failed";
2586
+ /**
2587
+ * Only set when `action == skip`.
2588
+ */
2589
+ reason?: "modified" | "co_owned" | "delete_unsupported" | "heuristic_match";
2590
+ /**
2591
+ * Only set when `reason == modified`. From the lineage row's last install write.
2592
+ */
2593
+ last_synced_at?: string | null; // date-time
2594
+ /**
2595
+ * Only set when `reason == modified`. From the destination resource's current state.
2596
+ */
2597
+ current_updated_at?: string | null; // date-time
2598
+ /**
2599
+ * Only set when `action == failed`.
2600
+ */
2601
+ error_message?: string | null;
2602
+ }
1884
2603
  export interface RootResourceNode {
1885
2604
  /**
1886
2605
  * ID of the resource
@@ -1940,21 +2659,86 @@ declare namespace Components {
1940
2659
  */
1941
2660
  pipeline_id?: string;
1942
2661
  }
1943
- export interface UploadFilePayload {
2662
+ export interface SuggestBlueprintResourcesRequest {
1944
2663
  /**
2664
+ * Natural-language description of what to include.
1945
2665
  * example:
1946
- * example.manifest.zip
2666
+ * everything for the hausanschluss use case
1947
2667
  */
1948
- filename: string;
1949
- }
1950
- export interface VerificationSummary {
1951
- total_resources?: number;
1952
- matched?: number;
1953
- mismatched?: number;
1954
- missing_in_destination?: number;
1955
- fetch_errors?: number;
1956
- }
1957
- export interface VirtualResourceNodeGroup {
2668
+ prompt: string;
2669
+ /**
2670
+ * When provided, suggestions are scoped as additions to this existing
2671
+ * blueprint — resources already in it are excluded from the response.
2672
+ *
2673
+ * example:
2674
+ * c2d6cac8-bdd5-4ea2-8a6c-1cbdbe77b341
2675
+ */
2676
+ blueprint_id?: string;
2677
+ }
2678
+ export interface SuggestBlueprintResourcesResponse {
2679
+ /**
2680
+ * Suggested resources to add. All marked is_root so the caller can request transitive dependency resolution.
2681
+ */
2682
+ resources: BlueprintResource[];
2683
+ /**
2684
+ * Short title derived from the prompt. Useful when the caller is
2685
+ * creating a new blueprint as a result of the suggestion — saves the
2686
+ * user from naming it themselves.
2687
+ *
2688
+ * example:
2689
+ * Hausanschluss
2690
+ */
2691
+ suggested_blueprint_name?: string;
2692
+ /**
2693
+ * Short human-readable summary of what was matched and why.
2694
+ */
2695
+ explanation?: string;
2696
+ /**
2697
+ * Hint to the caller: persist via bulkAddBlueprintResources with
2698
+ * ?add_dependencies=true so anchor resources (journeys, workflows)
2699
+ * pull their transitive dependencies.
2700
+ *
2701
+ */
2702
+ add_dependencies_recommended?: boolean;
2703
+ }
2704
+ export interface UniquenessCriteria {
2705
+ org_id: string;
2706
+ resource_type: /* Resource type for which custom uniqueness criteria can be configured. */ UniquenessCriteriaResourceType;
2707
+ fields: [
2708
+ string,
2709
+ ...string[]
2710
+ ];
2711
+ updated_at: string; // date-time
2712
+ updated_by?: string;
2713
+ }
2714
+ /**
2715
+ * Resource type for which custom uniqueness criteria can be configured.
2716
+ */
2717
+ export type UniquenessCriteriaResourceType = "emailtemplate" | "product" | "price" | "tax" | "coupon" | "product_recommendation" | "file" | "document_template" | "schema" | "taxonomy" | "notification_template" | "family" | "permission" | "journey";
2718
+ export interface UploadFilePayload {
2719
+ /**
2720
+ * example:
2721
+ * example.manifest.zip
2722
+ */
2723
+ filename: string;
2724
+ }
2725
+ export interface V3ResourceProgressEntry {
2726
+ lineage_id: string;
2727
+ type: string;
2728
+ address: string;
2729
+ name?: string;
2730
+ status: "pending" | "in_progress" | "done" | "failed" | "skipped";
2731
+ target_id?: string;
2732
+ error_message?: string;
2733
+ }
2734
+ export interface VerificationSummary {
2735
+ total_resources?: number;
2736
+ matched?: number;
2737
+ mismatched?: number;
2738
+ missing_in_destination?: number;
2739
+ fetch_errors?: number;
2740
+ }
2741
+ export interface VirtualResourceNodeGroup {
1958
2742
  /**
1959
2743
  * ID of the resource
1960
2744
  */
@@ -2003,6 +2787,34 @@ declare namespace Paths {
2003
2787
  }
2004
2788
  }
2005
2789
  }
2790
+ namespace ApplyPatch {
2791
+ namespace Parameters {
2792
+ export type BlueprintId = /**
2793
+ * ID of a blueprint
2794
+ * example:
2795
+ * c2d6cac8-bdd5-4ea2-8a6c-1cbdbe77b341
2796
+ */
2797
+ Components.Schemas.BlueprintID;
2798
+ export type PatchId = string;
2799
+ }
2800
+ export interface PathParameters {
2801
+ blueprint_id: Parameters.BlueprintId;
2802
+ patch_id: Parameters.PatchId;
2803
+ }
2804
+ export interface RequestBody {
2805
+ org_id: string;
2806
+ org_name: string;
2807
+ dest_blueprint_id: string;
2808
+ dest_org_id?: string;
2809
+ /**
2810
+ * Auth token with access to the destination org (e.g. pipeline token)
2811
+ */
2812
+ destination_auth_token?: string;
2813
+ }
2814
+ namespace Responses {
2815
+ export type $200 = Components.Schemas.OrgPatchExecution;
2816
+ }
2817
+ }
2006
2818
  namespace ApplyPlan {
2007
2819
  namespace Parameters {
2008
2820
  export type JobId = /**
@@ -2216,6 +3028,36 @@ declare namespace Paths {
2216
3028
  }
2217
3029
  }
2218
3030
  }
3031
+ namespace CreatePatch {
3032
+ namespace Parameters {
3033
+ export type BlueprintId = /**
3034
+ * ID of a blueprint
3035
+ * example:
3036
+ * c2d6cac8-bdd5-4ea2-8a6c-1cbdbe77b341
3037
+ */
3038
+ Components.Schemas.BlueprintID;
3039
+ }
3040
+ export interface PathParameters {
3041
+ blueprint_id: Parameters.BlueprintId;
3042
+ }
3043
+ export interface RequestBody {
3044
+ blueprint_id: /**
3045
+ * ID of a blueprint
3046
+ * example:
3047
+ * c2d6cac8-bdd5-4ea2-8a6c-1cbdbe77b341
3048
+ */
3049
+ Components.Schemas.BlueprintID;
3050
+ rollout_id: string;
3051
+ source_org_id: string;
3052
+ name: string;
3053
+ description?: string;
3054
+ resources: Components.Schemas.PatchResourceDiff[];
3055
+ changelog?: string;
3056
+ }
3057
+ namespace Responses {
3058
+ export type $201 = Components.Schemas.BlueprintPatch;
3059
+ }
3060
+ }
2219
3061
  namespace CreatePlan {
2220
3062
  export type RequestBody = {
2221
3063
  /**
@@ -2378,6 +3220,46 @@ declare namespace Paths {
2378
3220
  }
2379
3221
  }
2380
3222
  }
3223
+ namespace DeleteUniquenessCriteria {
3224
+ namespace Responses {
3225
+ export interface $204 {
3226
+ }
3227
+ }
3228
+ }
3229
+ namespace DetectPatchChanges {
3230
+ namespace Parameters {
3231
+ export type BlueprintId = /**
3232
+ * ID of a blueprint
3233
+ * example:
3234
+ * c2d6cac8-bdd5-4ea2-8a6c-1cbdbe77b341
3235
+ */
3236
+ Components.Schemas.BlueprintID;
3237
+ }
3238
+ export interface PathParameters {
3239
+ blueprint_id: Parameters.BlueprintId;
3240
+ }
3241
+ export interface RequestBody {
3242
+ /**
3243
+ * Organization ID of the source org where changes were made
3244
+ */
3245
+ source_org_id?: string;
3246
+ /**
3247
+ * Organization ID of a destination org (used to load tfstate baseline)
3248
+ */
3249
+ dest_org_id?: string;
3250
+ /**
3251
+ * Blueprint ID in the destination org (used to locate tfstate in S3)
3252
+ */
3253
+ dest_blueprint_id?: string;
3254
+ /**
3255
+ * ID of the mass rollout
3256
+ */
3257
+ rollout_id?: string;
3258
+ }
3259
+ namespace Responses {
3260
+ export type $200 = Components.Schemas.DetectChangesResult;
3261
+ }
3262
+ }
2381
3263
  namespace ExportBlueprint {
2382
3264
  namespace Parameters {
2383
3265
  export type BlueprintId = /**
@@ -2693,6 +3575,58 @@ declare namespace Paths {
2693
3575
  }
2694
3576
  }
2695
3577
  }
3578
+ namespace GetPatch {
3579
+ namespace Parameters {
3580
+ export type BlueprintId = /**
3581
+ * ID of a blueprint
3582
+ * example:
3583
+ * c2d6cac8-bdd5-4ea2-8a6c-1cbdbe77b341
3584
+ */
3585
+ Components.Schemas.BlueprintID;
3586
+ export type PatchId = string;
3587
+ }
3588
+ export interface PathParameters {
3589
+ blueprint_id: Parameters.BlueprintId;
3590
+ patch_id: Parameters.PatchId;
3591
+ }
3592
+ namespace Responses {
3593
+ export type $200 = Components.Schemas.BlueprintPatchWithResults;
3594
+ export interface $404 {
3595
+ }
3596
+ }
3597
+ }
3598
+ namespace GetRestorePreview {
3599
+ namespace Parameters {
3600
+ export type BlueprintId = /**
3601
+ * ID of a blueprint
3602
+ * example:
3603
+ * c2d6cac8-bdd5-4ea2-8a6c-1cbdbe77b341
3604
+ */
3605
+ Components.Schemas.BlueprintID;
3606
+ export type JobId = /**
3607
+ * ID of a job
3608
+ * example:
3609
+ * c2d6cac8-bdd5-4ea2-8a6c-1cbdbe77b341
3610
+ */
3611
+ Components.Schemas.BlueprintJobID;
3612
+ }
3613
+ export interface PathParameters {
3614
+ blueprint_id: Parameters.BlueprintId;
3615
+ job_id: Parameters.JobId;
3616
+ }
3617
+ namespace Responses {
3618
+ export type $200 = Components.Schemas.RestoreOutcome;
3619
+ export interface $404 {
3620
+ }
3621
+ }
3622
+ }
3623
+ namespace GetUniquenessCriteria {
3624
+ namespace Responses {
3625
+ export type $200 = Components.Schemas.UniquenessCriteria;
3626
+ export interface $404 {
3627
+ }
3628
+ }
3629
+ }
2696
3630
  namespace InstallBlueprint {
2697
3631
  export interface RequestBody {
2698
3632
  source_org_id?: string;
@@ -2713,6 +3647,14 @@ declare namespace Paths {
2713
3647
  * c2d6cac8-bdd5-4ea2-8a6c-1cbdbe77b341
2714
3648
  */
2715
3649
  Components.Schemas.BlueprintID;
3650
+ /**
3651
+ * Auth token with access to the source org. Required for cross-org auto-verification when the caller's bearer token belongs to the destination org.
3652
+ */
3653
+ source_auth_token?: string;
3654
+ /**
3655
+ * Auth token with access to the destination org. Defaults to the caller's bearer token.
3656
+ */
3657
+ destination_auth_token?: string;
2716
3658
  options?: Components.Schemas.BlueprintInstallationJobOptions;
2717
3659
  /**
2718
3660
  * Installation mode
@@ -2746,7 +3688,35 @@ declare namespace Paths {
2746
3688
  }
2747
3689
  }
2748
3690
  namespace InstallBlueprintV3 {
2749
- export interface RequestBody {
3691
+ export type RequestBody = {
3692
+ source_org_id: string;
3693
+ source_blueprint_id: /**
3694
+ * ID of a blueprint
3695
+ * example:
3696
+ * c2d6cac8-bdd5-4ea2-8a6c-1cbdbe77b341
3697
+ */
3698
+ Components.Schemas.BlueprintID;
3699
+ /**
3700
+ * S3 key to the blueprint zip file
3701
+ */
3702
+ source_blueprint_file?: string;
3703
+ destination_org_id: string;
3704
+ destination_blueprint_id?: /**
3705
+ * ID of a blueprint
3706
+ * example:
3707
+ * c2d6cac8-bdd5-4ea2-8a6c-1cbdbe77b341
3708
+ */
3709
+ Components.Schemas.BlueprintID;
3710
+ /**
3711
+ * Auth token for the destination org. Required for cross-org installs where the caller's token belongs to the source org. Defaults to the caller's bearer token.
3712
+ */
3713
+ destination_auth_token?: string;
3714
+ options?: Components.Schemas.BlueprintInstallationJobOptions;
3715
+ /**
3716
+ * Slug for marketplace blueprint consistency
3717
+ */
3718
+ slug?: string;
3719
+ } | {
2750
3720
  source_org_id?: string;
2751
3721
  source_blueprint_id?: /**
2752
3722
  * ID of a blueprint
@@ -2757,8 +3727,8 @@ declare namespace Paths {
2757
3727
  /**
2758
3728
  * S3 key to the blueprint zip file
2759
3729
  */
2760
- source_blueprint_file?: string;
2761
- destination_org_id?: string;
3730
+ source_blueprint_file: string;
3731
+ destination_org_id: string;
2762
3732
  destination_blueprint_id?: /**
2763
3733
  * ID of a blueprint
2764
3734
  * example:
@@ -2774,7 +3744,7 @@ declare namespace Paths {
2774
3744
  * Slug for marketplace blueprint consistency
2775
3745
  */
2776
3746
  slug?: string;
2777
- }
3747
+ };
2778
3748
  namespace Responses {
2779
3749
  export interface $202 {
2780
3750
  job_id?: /**
@@ -2790,6 +3760,9 @@ declare namespace Paths {
2790
3760
  */
2791
3761
  Components.Schemas.BlueprintID;
2792
3762
  }
3763
+ export interface $400 {
3764
+ message?: string;
3765
+ }
2793
3766
  }
2794
3767
  }
2795
3768
  namespace ListBlueprintJobs {
@@ -2901,6 +3874,32 @@ declare namespace Paths {
2901
3874
  }
2902
3875
  }
2903
3876
  }
3877
+ namespace ListPatches {
3878
+ namespace Parameters {
3879
+ export type BlueprintId = /**
3880
+ * ID of a blueprint
3881
+ * example:
3882
+ * c2d6cac8-bdd5-4ea2-8a6c-1cbdbe77b341
3883
+ */
3884
+ Components.Schemas.BlueprintID;
3885
+ }
3886
+ export interface PathParameters {
3887
+ blueprint_id: Parameters.BlueprintId;
3888
+ }
3889
+ namespace Responses {
3890
+ export interface $200 {
3891
+ total?: number;
3892
+ results?: Components.Schemas.BlueprintPatch[];
3893
+ }
3894
+ }
3895
+ }
3896
+ namespace ListUniquenessCriteria {
3897
+ namespace Responses {
3898
+ export interface $200 {
3899
+ results?: Components.Schemas.UniquenessCriteria[];
3900
+ }
3901
+ }
3902
+ }
2904
3903
  namespace PreInstallBlueprint {
2905
3904
  export interface RequestBody {
2906
3905
  /**
@@ -2970,6 +3969,93 @@ declare namespace Paths {
2970
3969
  }
2971
3970
  }
2972
3971
  }
3972
+ namespace PutUniquenessCriteria {
3973
+ export interface RequestBody {
3974
+ fields: [
3975
+ string,
3976
+ ...string[]
3977
+ ];
3978
+ }
3979
+ namespace Responses {
3980
+ export type $200 = Components.Schemas.UniquenessCriteria;
3981
+ export interface $400 {
3982
+ }
3983
+ }
3984
+ }
3985
+ namespace RestoreBlueprintDeploymentV3 {
3986
+ namespace Parameters {
3987
+ export type BlueprintId = /**
3988
+ * ID of a blueprint
3989
+ * example:
3990
+ * c2d6cac8-bdd5-4ea2-8a6c-1cbdbe77b341
3991
+ */
3992
+ Components.Schemas.BlueprintID;
3993
+ export type JobId = /**
3994
+ * ID of a job
3995
+ * example:
3996
+ * c2d6cac8-bdd5-4ea2-8a6c-1cbdbe77b341
3997
+ */
3998
+ Components.Schemas.BlueprintJobID;
3999
+ }
4000
+ export interface PathParameters {
4001
+ blueprint_id: Parameters.BlueprintId;
4002
+ job_id: Parameters.JobId;
4003
+ }
4004
+ namespace Responses {
4005
+ export interface $202 {
4006
+ job_id?: /**
4007
+ * ID of a job
4008
+ * example:
4009
+ * c2d6cac8-bdd5-4ea2-8a6c-1cbdbe77b341
4010
+ */
4011
+ Components.Schemas.BlueprintJobID;
4012
+ blueprint_instance_id?: /**
4013
+ * ID of a blueprint
4014
+ * example:
4015
+ * c2d6cac8-bdd5-4ea2-8a6c-1cbdbe77b341
4016
+ */
4017
+ Components.Schemas.BlueprintID;
4018
+ snapshot_id?: string;
4019
+ }
4020
+ export interface $400 {
4021
+ }
4022
+ export interface $404 {
4023
+ }
4024
+ export interface $409 {
4025
+ }
4026
+ }
4027
+ }
4028
+ namespace RetryPatchOrg {
4029
+ namespace Parameters {
4030
+ export type BlueprintId = /**
4031
+ * ID of a blueprint
4032
+ * example:
4033
+ * c2d6cac8-bdd5-4ea2-8a6c-1cbdbe77b341
4034
+ */
4035
+ Components.Schemas.BlueprintID;
4036
+ export type OrgId = string;
4037
+ export type PatchId = string;
4038
+ }
4039
+ export interface PathParameters {
4040
+ blueprint_id: Parameters.BlueprintId;
4041
+ patch_id: Parameters.PatchId;
4042
+ org_id: Parameters.OrgId;
4043
+ }
4044
+ export interface RequestBody {
4045
+ org_name?: string;
4046
+ dest_blueprint_id?: string;
4047
+ destination_auth_token?: string;
4048
+ }
4049
+ namespace Responses {
4050
+ export type $200 = Components.Schemas.OrgPatchExecution;
4051
+ }
4052
+ }
4053
+ namespace SuggestBlueprintResources {
4054
+ export type RequestBody = Components.Schemas.SuggestBlueprintResourcesRequest;
4055
+ namespace Responses {
4056
+ export type $200 = Components.Schemas.SuggestBlueprintResourcesResponse;
4057
+ }
4058
+ }
2973
4059
  namespace SyncDependencies {
2974
4060
  namespace Parameters {
2975
4061
  export type BlueprintId = /**
@@ -3102,6 +4188,14 @@ declare namespace Paths {
3102
4188
  }
3103
4189
  }
3104
4190
  }
4191
+ namespace V1BlueprintManifestUniquenessCriteria$ResourceType {
4192
+ namespace Parameters {
4193
+ export type ResourceType = /* Resource type for which custom uniqueness criteria can be configured. */ Components.Schemas.UniquenessCriteriaResourceType;
4194
+ }
4195
+ export interface PathParameters {
4196
+ resource_type: Parameters.ResourceType;
4197
+ }
4198
+ }
3105
4199
  namespace ValidateBlueprint {
3106
4200
  namespace Parameters {
3107
4201
  export type BlueprintId = /**
@@ -3415,6 +4509,68 @@ export interface OperationMethods {
3415
4509
  data?: Paths.VerifyBlueprint.RequestBody,
3416
4510
  config?: AxiosRequestConfig
3417
4511
  ): OperationResponse<Paths.VerifyBlueprint.Responses.$202>
4512
+ /**
4513
+ * detectPatchChanges - detectPatchChanges
4514
+ *
4515
+ * Detect changes between the current state of a blueprint's resources and its tfstate baseline.
4516
+ * Returns field-level diffs for resources that have been modified since the blueprint was last installed/exported.
4517
+ *
4518
+ */
4519
+ 'detectPatchChanges'(
4520
+ parameters?: Parameters<Paths.DetectPatchChanges.PathParameters> | null,
4521
+ data?: Paths.DetectPatchChanges.RequestBody,
4522
+ config?: AxiosRequestConfig
4523
+ ): OperationResponse<Paths.DetectPatchChanges.Responses.$200>
4524
+ /**
4525
+ * listPatches - listPatches
4526
+ *
4527
+ * List all patches for a blueprint.
4528
+ */
4529
+ 'listPatches'(
4530
+ parameters?: Parameters<Paths.ListPatches.PathParameters> | null,
4531
+ data?: any,
4532
+ config?: AxiosRequestConfig
4533
+ ): OperationResponse<Paths.ListPatches.Responses.$200>
4534
+ /**
4535
+ * createPatch - createPatch
4536
+ *
4537
+ * Create a new patch for a blueprint.
4538
+ */
4539
+ 'createPatch'(
4540
+ parameters?: Parameters<Paths.CreatePatch.PathParameters> | null,
4541
+ data?: Paths.CreatePatch.RequestBody,
4542
+ config?: AxiosRequestConfig
4543
+ ): OperationResponse<Paths.CreatePatch.Responses.$201>
4544
+ /**
4545
+ * getPatch - getPatch
4546
+ *
4547
+ * Get a patch by ID, including per-org execution results.
4548
+ */
4549
+ 'getPatch'(
4550
+ parameters?: Parameters<Paths.GetPatch.PathParameters> | null,
4551
+ data?: any,
4552
+ config?: AxiosRequestConfig
4553
+ ): OperationResponse<Paths.GetPatch.Responses.$200>
4554
+ /**
4555
+ * applyPatch - applyPatch
4556
+ *
4557
+ * Apply a patch to a single destination org.
4558
+ */
4559
+ 'applyPatch'(
4560
+ parameters?: Parameters<Paths.ApplyPatch.PathParameters> | null,
4561
+ data?: Paths.ApplyPatch.RequestBody,
4562
+ config?: AxiosRequestConfig
4563
+ ): OperationResponse<Paths.ApplyPatch.Responses.$200>
4564
+ /**
4565
+ * retryPatchOrg - retryPatchOrg
4566
+ *
4567
+ * Retry a failed patch execution for a specific org.
4568
+ */
4569
+ 'retryPatchOrg'(
4570
+ parameters?: Parameters<Paths.RetryPatchOrg.PathParameters> | null,
4571
+ data?: Paths.RetryPatchOrg.RequestBody,
4572
+ config?: AxiosRequestConfig
4573
+ ): OperationResponse<Paths.RetryPatchOrg.Responses.$200>
3418
4574
  /**
3419
4575
  * exportBlueprint - exportBlueprint
3420
4576
  *
@@ -3460,6 +4616,28 @@ export interface OperationMethods {
3460
4616
  data?: Paths.FormatBlueprintDescription.RequestBody,
3461
4617
  config?: AxiosRequestConfig
3462
4618
  ): OperationResponse<Paths.FormatBlueprintDescription.Responses.$200>
4619
+ /**
4620
+ * suggestBlueprintResources - suggestBlueprintResources
4621
+ *
4622
+ * Suggest resources to add to a blueprint based on a natural-language prompt.
4623
+ *
4624
+ * Walks anchor resource types in priority order (journey > workflow_definition >
4625
+ * automation_flow > schema > entity-backed types) and returns matches per
4626
+ * anchor using each upstream API's text search. Suggestions are marked
4627
+ * `is_root: true` so callers can pass `add_dependencies=true` to
4628
+ * bulkAddBlueprintResources and have transitive dependencies resolved
4629
+ * server-side — which means a single matched journey can stand in for its
4630
+ * full product/schema/template bundle.
4631
+ *
4632
+ * No side effects on the blueprint — the caller persists the chosen resources
4633
+ * via the existing create/bulk-add endpoints.
4634
+ *
4635
+ */
4636
+ 'suggestBlueprintResources'(
4637
+ parameters?: Parameters<UnknownParamsObject> | null,
4638
+ data?: Paths.SuggestBlueprintResources.RequestBody,
4639
+ config?: AxiosRequestConfig
4640
+ ): OperationResponse<Paths.SuggestBlueprintResources.Responses.$200>
3463
4641
  /**
3464
4642
  * addBlueprintResource - addBlueprintResource
3465
4643
  *
@@ -3683,6 +4861,55 @@ export interface OperationMethods {
3683
4861
  data?: Paths.InstallBlueprintV3.RequestBody,
3684
4862
  config?: AxiosRequestConfig
3685
4863
  ): OperationResponse<Paths.InstallBlueprintV3.Responses.$202>
4864
+ /**
4865
+ * restoreBlueprintDeploymentV3 - Restore a specific deployment by job_id
4866
+ *
4867
+ * Roll a deployment back to its pre-install state. Two phases:
4868
+ *
4869
+ * 1. Upsert — re-applies the captured payloads via snapshot-api's
4870
+ * `:restore` (server-side; runs config-engine.apply with captured
4871
+ * target ids pre-seeded). Skipped for pure-create deployments
4872
+ * whose snapshot was empty.
4873
+ * 2. Delete sweep — for lineage rows of this blueprint instance not
4874
+ * present in the snapshot's captured set, deletes the live
4875
+ * resource via the type's adapter. Co-ownership / drift /
4876
+ * no-delete-capability skip the entry with the corresponding
4877
+ * reason.
4878
+ *
4879
+ * Resolves `(blueprint_id, job_id)` to the entry in
4880
+ * `Blueprint.deployments[]` and reads its `snapshot_id` and
4881
+ * `destination_blueprint_id` — the caller never needs to handle
4882
+ * snapshot ids directly.
4883
+ *
4884
+ * Async — returns 202 with a job id. Poll the job to track progress.
4885
+ * The per-instance lock (`installation_status === 'IN_PROGRESS'`)
4886
+ * rejects concurrent installs or restores with 409.
4887
+ *
4888
+ */
4889
+ 'restoreBlueprintDeploymentV3'(
4890
+ parameters?: Parameters<Paths.RestoreBlueprintDeploymentV3.PathParameters> | null,
4891
+ data?: any,
4892
+ config?: AxiosRequestConfig
4893
+ ): OperationResponse<Paths.RestoreBlueprintDeploymentV3.Responses.$202>
4894
+ /**
4895
+ * getRestorePreview - Predicted outcome of reverting a deployment
4896
+ *
4897
+ * Computes what would happen if the user triggered a restore on this
4898
+ * deployment, without performing any writes. The forecast uses the
4899
+ * snapshot's captured resources (when present) plus the current lineage
4900
+ * state plus per-adapter gates (co-ownership, no-delete-capability,
4901
+ * heuristic-match, drift when wired).
4902
+ *
4903
+ * Idempotent and side-effect free. Safe to call repeatedly. The result
4904
+ * may shift between calls if operators edit destination resources or
4905
+ * another blueprint adopts a shared resource in the meantime.
4906
+ *
4907
+ */
4908
+ 'getRestorePreview'(
4909
+ parameters?: Parameters<Paths.GetRestorePreview.PathParameters> | null,
4910
+ data?: any,
4911
+ config?: AxiosRequestConfig
4912
+ ): OperationResponse<Paths.GetRestorePreview.Responses.$200>
3686
4913
  /**
3687
4914
  * getBlueprintLineageV3 - Get Blueprint Lineage V3
3688
4915
  *
@@ -3695,6 +4922,53 @@ export interface OperationMethods {
3695
4922
  data?: any,
3696
4923
  config?: AxiosRequestConfig
3697
4924
  ): OperationResponse<Paths.GetBlueprintLineageV3.Responses.$200>
4925
+ /**
4926
+ * listUniquenessCriteria - listUniquenessCriteria
4927
+ *
4928
+ * List all custom uniqueness criteria configured for the caller's organization.
4929
+ * These overrides are applied during install (V2 and V3) when matching incoming
4930
+ * resources against existing ones in the destination org, replacing the default
4931
+ * per-resource-type field set with the caller's chosen fields (AND-combined).
4932
+ *
4933
+ */
4934
+ 'listUniquenessCriteria'(
4935
+ parameters?: Parameters<UnknownParamsObject> | null,
4936
+ data?: any,
4937
+ config?: AxiosRequestConfig
4938
+ ): OperationResponse<Paths.ListUniquenessCriteria.Responses.$200>
4939
+ /**
4940
+ * getUniquenessCriteria - getUniquenessCriteria
4941
+ *
4942
+ * Get the configured uniqueness criteria for a specific resource type, if any.
4943
+ */
4944
+ 'getUniquenessCriteria'(
4945
+ parameters?: Parameters<Paths.V1BlueprintManifestUniquenessCriteria$ResourceType.PathParameters> | null,
4946
+ data?: any,
4947
+ config?: AxiosRequestConfig
4948
+ ): OperationResponse<Paths.GetUniquenessCriteria.Responses.$200>
4949
+ /**
4950
+ * putUniquenessCriteria - putUniquenessCriteria
4951
+ *
4952
+ * Set or replace the uniqueness criteria for a resource type. The provided fields
4953
+ * must be valid attributes on the resource's schema (the UI typically loads the
4954
+ * schema to populate options). All listed fields are AND-combined during matching.
4955
+ *
4956
+ */
4957
+ 'putUniquenessCriteria'(
4958
+ parameters?: Parameters<Paths.V1BlueprintManifestUniquenessCriteria$ResourceType.PathParameters> | null,
4959
+ data?: Paths.PutUniquenessCriteria.RequestBody,
4960
+ config?: AxiosRequestConfig
4961
+ ): OperationResponse<Paths.PutUniquenessCriteria.Responses.$200>
4962
+ /**
4963
+ * deleteUniquenessCriteria - deleteUniquenessCriteria
4964
+ *
4965
+ * Remove the custom criteria for a resource type, reverting to the default fields.
4966
+ */
4967
+ 'deleteUniquenessCriteria'(
4968
+ parameters?: Parameters<Paths.V1BlueprintManifestUniquenessCriteria$ResourceType.PathParameters> | null,
4969
+ data?: any,
4970
+ config?: AxiosRequestConfig
4971
+ ): OperationResponse<Paths.DeleteUniquenessCriteria.Responses.$204>
3698
4972
  }
3699
4973
 
3700
4974
  export interface PathsDictionary {
@@ -3959,6 +5233,78 @@ export interface PathsDictionary {
3959
5233
  config?: AxiosRequestConfig
3960
5234
  ): OperationResponse<Paths.VerifyBlueprint.Responses.$202>
3961
5235
  }
5236
+ ['/v2/blueprint-manifest/blueprints/{blueprint_id}/patches:detect']: {
5237
+ /**
5238
+ * detectPatchChanges - detectPatchChanges
5239
+ *
5240
+ * Detect changes between the current state of a blueprint's resources and its tfstate baseline.
5241
+ * Returns field-level diffs for resources that have been modified since the blueprint was last installed/exported.
5242
+ *
5243
+ */
5244
+ 'post'(
5245
+ parameters?: Parameters<Paths.DetectPatchChanges.PathParameters> | null,
5246
+ data?: Paths.DetectPatchChanges.RequestBody,
5247
+ config?: AxiosRequestConfig
5248
+ ): OperationResponse<Paths.DetectPatchChanges.Responses.$200>
5249
+ }
5250
+ ['/v2/blueprint-manifest/blueprints/{blueprint_id}/patches']: {
5251
+ /**
5252
+ * createPatch - createPatch
5253
+ *
5254
+ * Create a new patch for a blueprint.
5255
+ */
5256
+ 'post'(
5257
+ parameters?: Parameters<Paths.CreatePatch.PathParameters> | null,
5258
+ data?: Paths.CreatePatch.RequestBody,
5259
+ config?: AxiosRequestConfig
5260
+ ): OperationResponse<Paths.CreatePatch.Responses.$201>
5261
+ /**
5262
+ * listPatches - listPatches
5263
+ *
5264
+ * List all patches for a blueprint.
5265
+ */
5266
+ 'get'(
5267
+ parameters?: Parameters<Paths.ListPatches.PathParameters> | null,
5268
+ data?: any,
5269
+ config?: AxiosRequestConfig
5270
+ ): OperationResponse<Paths.ListPatches.Responses.$200>
5271
+ }
5272
+ ['/v2/blueprint-manifest/blueprints/{blueprint_id}/patches/{patch_id}']: {
5273
+ /**
5274
+ * getPatch - getPatch
5275
+ *
5276
+ * Get a patch by ID, including per-org execution results.
5277
+ */
5278
+ 'get'(
5279
+ parameters?: Parameters<Paths.GetPatch.PathParameters> | null,
5280
+ data?: any,
5281
+ config?: AxiosRequestConfig
5282
+ ): OperationResponse<Paths.GetPatch.Responses.$200>
5283
+ }
5284
+ ['/v2/blueprint-manifest/blueprints/{blueprint_id}/patches/{patch_id}:apply']: {
5285
+ /**
5286
+ * applyPatch - applyPatch
5287
+ *
5288
+ * Apply a patch to a single destination org.
5289
+ */
5290
+ 'post'(
5291
+ parameters?: Parameters<Paths.ApplyPatch.PathParameters> | null,
5292
+ data?: Paths.ApplyPatch.RequestBody,
5293
+ config?: AxiosRequestConfig
5294
+ ): OperationResponse<Paths.ApplyPatch.Responses.$200>
5295
+ }
5296
+ ['/v2/blueprint-manifest/blueprints/{blueprint_id}/patches/{patch_id}/orgs/{org_id}:retry']: {
5297
+ /**
5298
+ * retryPatchOrg - retryPatchOrg
5299
+ *
5300
+ * Retry a failed patch execution for a specific org.
5301
+ */
5302
+ 'post'(
5303
+ parameters?: Parameters<Paths.RetryPatchOrg.PathParameters> | null,
5304
+ data?: Paths.RetryPatchOrg.RequestBody,
5305
+ config?: AxiosRequestConfig
5306
+ ): OperationResponse<Paths.RetryPatchOrg.Responses.$200>
5307
+ }
3962
5308
  ['/v2/blueprint-manifest/blueprints/{blueprint_id}:export']: {
3963
5309
  /**
3964
5310
  * exportBlueprint - exportBlueprint
@@ -4012,6 +5358,30 @@ export interface PathsDictionary {
4012
5358
  config?: AxiosRequestConfig
4013
5359
  ): OperationResponse<Paths.FormatBlueprintDescription.Responses.$200>
4014
5360
  }
5361
+ ['/v2/blueprint-manifest/blueprints:suggest-resources']: {
5362
+ /**
5363
+ * suggestBlueprintResources - suggestBlueprintResources
5364
+ *
5365
+ * Suggest resources to add to a blueprint based on a natural-language prompt.
5366
+ *
5367
+ * Walks anchor resource types in priority order (journey > workflow_definition >
5368
+ * automation_flow > schema > entity-backed types) and returns matches per
5369
+ * anchor using each upstream API's text search. Suggestions are marked
5370
+ * `is_root: true` so callers can pass `add_dependencies=true` to
5371
+ * bulkAddBlueprintResources and have transitive dependencies resolved
5372
+ * server-side — which means a single matched journey can stand in for its
5373
+ * full product/schema/template bundle.
5374
+ *
5375
+ * No side effects on the blueprint — the caller persists the chosen resources
5376
+ * via the existing create/bulk-add endpoints.
5377
+ *
5378
+ */
5379
+ 'post'(
5380
+ parameters?: Parameters<UnknownParamsObject> | null,
5381
+ data?: Paths.SuggestBlueprintResources.RequestBody,
5382
+ config?: AxiosRequestConfig
5383
+ ): OperationResponse<Paths.SuggestBlueprintResources.Responses.$200>
5384
+ }
4015
5385
  ['/v2/blueprint-manifest/blueprints/{blueprint_id}/resources']: {
4016
5386
  /**
4017
5387
  * addBlueprintResource - addBlueprintResource
@@ -4265,6 +5635,59 @@ export interface PathsDictionary {
4265
5635
  config?: AxiosRequestConfig
4266
5636
  ): OperationResponse<Paths.InstallBlueprintV3.Responses.$202>
4267
5637
  }
5638
+ ['/v3/blueprint-manifest/blueprints/{blueprint_id}/deployments/{job_id}:restore']: {
5639
+ /**
5640
+ * restoreBlueprintDeploymentV3 - Restore a specific deployment by job_id
5641
+ *
5642
+ * Roll a deployment back to its pre-install state. Two phases:
5643
+ *
5644
+ * 1. Upsert — re-applies the captured payloads via snapshot-api's
5645
+ * `:restore` (server-side; runs config-engine.apply with captured
5646
+ * target ids pre-seeded). Skipped for pure-create deployments
5647
+ * whose snapshot was empty.
5648
+ * 2. Delete sweep — for lineage rows of this blueprint instance not
5649
+ * present in the snapshot's captured set, deletes the live
5650
+ * resource via the type's adapter. Co-ownership / drift /
5651
+ * no-delete-capability skip the entry with the corresponding
5652
+ * reason.
5653
+ *
5654
+ * Resolves `(blueprint_id, job_id)` to the entry in
5655
+ * `Blueprint.deployments[]` and reads its `snapshot_id` and
5656
+ * `destination_blueprint_id` — the caller never needs to handle
5657
+ * snapshot ids directly.
5658
+ *
5659
+ * Async — returns 202 with a job id. Poll the job to track progress.
5660
+ * The per-instance lock (`installation_status === 'IN_PROGRESS'`)
5661
+ * rejects concurrent installs or restores with 409.
5662
+ *
5663
+ */
5664
+ 'post'(
5665
+ parameters?: Parameters<Paths.RestoreBlueprintDeploymentV3.PathParameters> | null,
5666
+ data?: any,
5667
+ config?: AxiosRequestConfig
5668
+ ): OperationResponse<Paths.RestoreBlueprintDeploymentV3.Responses.$202>
5669
+ }
5670
+ ['/v3/blueprint-manifest/blueprints/{blueprint_id}/deployments/{job_id}/restore-preview']: {
5671
+ /**
5672
+ * getRestorePreview - Predicted outcome of reverting a deployment
5673
+ *
5674
+ * Computes what would happen if the user triggered a restore on this
5675
+ * deployment, without performing any writes. The forecast uses the
5676
+ * snapshot's captured resources (when present) plus the current lineage
5677
+ * state plus per-adapter gates (co-ownership, no-delete-capability,
5678
+ * heuristic-match, drift when wired).
5679
+ *
5680
+ * Idempotent and side-effect free. Safe to call repeatedly. The result
5681
+ * may shift between calls if operators edit destination resources or
5682
+ * another blueprint adopts a shared resource in the meantime.
5683
+ *
5684
+ */
5685
+ 'get'(
5686
+ parameters?: Parameters<Paths.GetRestorePreview.PathParameters> | null,
5687
+ data?: any,
5688
+ config?: AxiosRequestConfig
5689
+ ): OperationResponse<Paths.GetRestorePreview.Responses.$200>
5690
+ }
4268
5691
  ['/v3/blueprint-manifest/blueprints/{blueprint_id}/lineage']: {
4269
5692
  /**
4270
5693
  * getBlueprintLineageV3 - Get Blueprint Lineage V3
@@ -4279,6 +5702,57 @@ export interface PathsDictionary {
4279
5702
  config?: AxiosRequestConfig
4280
5703
  ): OperationResponse<Paths.GetBlueprintLineageV3.Responses.$200>
4281
5704
  }
5705
+ ['/v1/blueprint-manifest/uniqueness-criteria']: {
5706
+ /**
5707
+ * listUniquenessCriteria - listUniquenessCriteria
5708
+ *
5709
+ * List all custom uniqueness criteria configured for the caller's organization.
5710
+ * These overrides are applied during install (V2 and V3) when matching incoming
5711
+ * resources against existing ones in the destination org, replacing the default
5712
+ * per-resource-type field set with the caller's chosen fields (AND-combined).
5713
+ *
5714
+ */
5715
+ 'get'(
5716
+ parameters?: Parameters<UnknownParamsObject> | null,
5717
+ data?: any,
5718
+ config?: AxiosRequestConfig
5719
+ ): OperationResponse<Paths.ListUniquenessCriteria.Responses.$200>
5720
+ }
5721
+ ['/v1/blueprint-manifest/uniqueness-criteria/{resource_type}']: {
5722
+ /**
5723
+ * getUniquenessCriteria - getUniquenessCriteria
5724
+ *
5725
+ * Get the configured uniqueness criteria for a specific resource type, if any.
5726
+ */
5727
+ 'get'(
5728
+ parameters?: Parameters<Paths.V1BlueprintManifestUniquenessCriteria$ResourceType.PathParameters> | null,
5729
+ data?: any,
5730
+ config?: AxiosRequestConfig
5731
+ ): OperationResponse<Paths.GetUniquenessCriteria.Responses.$200>
5732
+ /**
5733
+ * putUniquenessCriteria - putUniquenessCriteria
5734
+ *
5735
+ * Set or replace the uniqueness criteria for a resource type. The provided fields
5736
+ * must be valid attributes on the resource's schema (the UI typically loads the
5737
+ * schema to populate options). All listed fields are AND-combined during matching.
5738
+ *
5739
+ */
5740
+ 'put'(
5741
+ parameters?: Parameters<Paths.V1BlueprintManifestUniquenessCriteria$ResourceType.PathParameters> | null,
5742
+ data?: Paths.PutUniquenessCriteria.RequestBody,
5743
+ config?: AxiosRequestConfig
5744
+ ): OperationResponse<Paths.PutUniquenessCriteria.Responses.$200>
5745
+ /**
5746
+ * deleteUniquenessCriteria - deleteUniquenessCriteria
5747
+ *
5748
+ * Remove the custom criteria for a resource type, reverting to the default fields.
5749
+ */
5750
+ 'delete'(
5751
+ parameters?: Parameters<Paths.V1BlueprintManifestUniquenessCriteria$ResourceType.PathParameters> | null,
5752
+ data?: any,
5753
+ config?: AxiosRequestConfig
5754
+ ): OperationResponse<Paths.DeleteUniquenessCriteria.Responses.$204>
5755
+ }
4282
5756
  }
4283
5757
 
4284
5758
  export type Client = OpenAPIClient<OperationMethods, PathsDictionary>
@@ -4295,9 +5769,12 @@ export type BlueprintInstallationJobOptions = Components.Schemas.BlueprintInstal
4295
5769
  export type BlueprintJob = Components.Schemas.BlueprintJob;
4296
5770
  export type BlueprintJobEvent = Components.Schemas.BlueprintJobEvent;
4297
5771
  export type BlueprintJobID = Components.Schemas.BlueprintJobID;
5772
+ export type BlueprintPatch = Components.Schemas.BlueprintPatch;
5773
+ export type BlueprintPatchWithResults = Components.Schemas.BlueprintPatchWithResults;
4298
5774
  export type BlueprintPreview = Components.Schemas.BlueprintPreview;
4299
5775
  export type BlueprintResource = Components.Schemas.BlueprintResource;
4300
5776
  export type BlueprintResourceID = Components.Schemas.BlueprintResourceID;
5777
+ export type BlueprintRestoreJob = Components.Schemas.BlueprintRestoreJob;
4301
5778
  export type BlueprintValidateJob = Components.Schemas.BlueprintValidateJob;
4302
5779
  export type BlueprintVerificationJob = Components.Schemas.BlueprintVerificationJob;
4303
5780
  export type CallerIdentity = Components.Schemas.CallerIdentity;
@@ -4309,6 +5786,7 @@ export type CommonMarkdownFields = Components.Schemas.CommonMarkdownFields;
4309
5786
  export type CommonResourceNode = Components.Schemas.CommonResourceNode;
4310
5787
  export type CustomBlueprint = Components.Schemas.CustomBlueprint;
4311
5788
  export type DeployedBlueprint = Components.Schemas.DeployedBlueprint;
5789
+ export type DetectChangesResult = Components.Schemas.DetectChangesResult;
4312
5790
  export type FieldDiff = Components.Schemas.FieldDiff;
4313
5791
  export type FileBlueprint = Components.Schemas.FileBlueprint;
4314
5792
  export type FormattedError = Components.Schemas.FormattedError;
@@ -4329,6 +5807,9 @@ export type MarketplaceBlueprint = Components.Schemas.MarketplaceBlueprint;
4329
5807
  export type MarketplaceListing = Components.Schemas.MarketplaceListing;
4330
5808
  export type MarketplaceListingUpdate = Components.Schemas.MarketplaceListingUpdate;
4331
5809
  export type MarketplaceListingVersion = Components.Schemas.MarketplaceListingVersion;
5810
+ export type OrgPatchExecution = Components.Schemas.OrgPatchExecution;
5811
+ export type PatchFieldDiff = Components.Schemas.PatchFieldDiff;
5812
+ export type PatchResourceDiff = Components.Schemas.PatchResourceDiff;
4332
5813
  export type PlanChanges = Components.Schemas.PlanChanges;
4333
5814
  export type PreInstallRequirements = Components.Schemas.PreInstallRequirements;
4334
5815
  export type PutManifestPayload = Components.Schemas.PutManifestPayload;
@@ -4336,9 +5817,16 @@ export type ResourceNode = Components.Schemas.ResourceNode;
4336
5817
  export type ResourceNodeType = Components.Schemas.ResourceNodeType;
4337
5818
  export type ResourceReplacement = Components.Schemas.ResourceReplacement;
4338
5819
  export type ResourceVerificationResult = Components.Schemas.ResourceVerificationResult;
5820
+ export type RestoreOutcome = Components.Schemas.RestoreOutcome;
5821
+ export type RestoreOutcomeItem = Components.Schemas.RestoreOutcomeItem;
4339
5822
  export type RootResourceNode = Components.Schemas.RootResourceNode;
4340
5823
  export type S3Reference = Components.Schemas.S3Reference;
4341
5824
  export type SelectedResources = Components.Schemas.SelectedResources;
5825
+ export type SuggestBlueprintResourcesRequest = Components.Schemas.SuggestBlueprintResourcesRequest;
5826
+ export type SuggestBlueprintResourcesResponse = Components.Schemas.SuggestBlueprintResourcesResponse;
5827
+ export type UniquenessCriteria = Components.Schemas.UniquenessCriteria;
5828
+ export type UniquenessCriteriaResourceType = Components.Schemas.UniquenessCriteriaResourceType;
4342
5829
  export type UploadFilePayload = Components.Schemas.UploadFilePayload;
5830
+ export type V3ResourceProgressEntry = Components.Schemas.V3ResourceProgressEntry;
4343
5831
  export type VerificationSummary = Components.Schemas.VerificationSummary;
4344
5832
  export type VirtualResourceNodeGroup = Components.Schemas.VirtualResourceNodeGroup;