@epilot/sdk 2.18.16 → 2.18.18
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/definitions/app.json +34 -17
- package/definitions/configuration-hub-runtime.json +1 -1
- package/definitions/configuration-hub.json +1064 -48
- package/dist/apis/access-token.cjs +6 -6
- package/dist/apis/access-token.js +1 -1
- package/dist/apis/address-suggestions.cjs +6 -6
- package/dist/apis/address-suggestions.js +1 -1
- package/dist/apis/address.cjs +6 -6
- package/dist/apis/address.js +1 -1
- package/dist/apis/ai-agents.cjs +6 -6
- package/dist/apis/ai-agents.js +1 -1
- package/dist/apis/app.cjs +6 -6
- package/dist/apis/app.d.cts +2 -2
- package/dist/apis/app.d.ts +2 -2
- package/dist/apis/app.js +1 -1
- package/dist/apis/audit-logs.cjs +6 -6
- package/dist/apis/audit-logs.js +1 -1
- package/dist/apis/automation.cjs +6 -6
- package/dist/apis/automation.js +1 -1
- package/dist/apis/billing.cjs +6 -6
- package/dist/apis/billing.js +1 -1
- package/dist/apis/blueprint-manifest.cjs +6 -6
- package/dist/apis/blueprint-manifest.js +1 -1
- package/dist/apis/calendar.cjs +6 -6
- package/dist/apis/calendar.js +1 -1
- package/dist/apis/configuration-hub.cjs +8 -8
- package/dist/apis/configuration-hub.d.cts +2 -2
- package/dist/apis/configuration-hub.d.ts +2 -2
- package/dist/apis/configuration-hub.js +2 -2
- package/dist/apis/consent.cjs +6 -6
- package/dist/apis/consent.js +1 -1
- package/dist/apis/customer-portal.cjs +6 -6
- package/dist/apis/customer-portal.js +1 -1
- package/dist/apis/dashboard.cjs +6 -6
- package/dist/apis/dashboard.js +1 -1
- package/dist/apis/data-governance.cjs +6 -6
- package/dist/apis/data-governance.js +1 -1
- package/dist/apis/deduplication.cjs +6 -6
- package/dist/apis/deduplication.js +1 -1
- package/dist/apis/design.cjs +6 -6
- package/dist/apis/design.js +1 -1
- package/dist/apis/document.cjs +6 -6
- package/dist/apis/document.js +1 -1
- package/dist/apis/email-settings.cjs +6 -6
- package/dist/apis/email-settings.js +1 -1
- package/dist/apis/email-template.cjs +6 -6
- package/dist/apis/email-template.js +1 -1
- package/dist/apis/entity-mapping.cjs +6 -6
- package/dist/apis/entity-mapping.js +1 -1
- package/dist/apis/entity.cjs +6 -6
- package/dist/apis/entity.js +1 -1
- package/dist/apis/environments.cjs +6 -6
- package/dist/apis/environments.js +1 -1
- package/dist/apis/event-catalog.cjs +6 -6
- package/dist/apis/event-catalog.js +1 -1
- package/dist/apis/file.cjs +6 -6
- package/dist/apis/file.js +1 -1
- package/dist/apis/iban.cjs +6 -6
- package/dist/apis/iban.js +1 -1
- package/dist/apis/integration-toolkit.cjs +6 -6
- package/dist/apis/integration-toolkit.js +1 -1
- package/dist/apis/journey.cjs +6 -6
- package/dist/apis/journey.js +1 -1
- package/dist/apis/kanban.cjs +6 -6
- package/dist/apis/kanban.js +1 -1
- package/dist/apis/message.cjs +6 -6
- package/dist/apis/message.js +1 -1
- package/dist/apis/metering.cjs +6 -6
- package/dist/apis/metering.js +1 -1
- package/dist/apis/notes.cjs +6 -6
- package/dist/apis/notes.js +1 -1
- package/dist/apis/notification.cjs +6 -6
- package/dist/apis/notification.js +1 -1
- package/dist/apis/organization.cjs +6 -6
- package/dist/apis/organization.js +1 -1
- package/dist/apis/partner-directory.cjs +6 -6
- package/dist/apis/partner-directory.js +1 -1
- package/dist/apis/permissions.cjs +6 -6
- package/dist/apis/permissions.js +1 -1
- package/dist/apis/pricing-tier.cjs +6 -6
- package/dist/apis/pricing-tier.js +1 -1
- package/dist/apis/pricing.cjs +6 -6
- package/dist/apis/pricing.js +1 -1
- package/dist/apis/purpose.cjs +6 -6
- package/dist/apis/purpose.js +1 -1
- package/dist/apis/query.cjs +6 -6
- package/dist/apis/query.js +1 -1
- package/dist/apis/sandbox.cjs +6 -6
- package/dist/apis/sandbox.js +1 -1
- package/dist/apis/sharing.cjs +6 -6
- package/dist/apis/sharing.js +1 -1
- package/dist/apis/snapshot.cjs +6 -6
- package/dist/apis/snapshot.js +1 -1
- package/dist/apis/submission.cjs +6 -6
- package/dist/apis/submission.js +1 -1
- package/dist/apis/target.cjs +6 -6
- package/dist/apis/target.js +1 -1
- package/dist/apis/targeting.cjs +6 -6
- package/dist/apis/targeting.js +1 -1
- package/dist/apis/template-variables.cjs +6 -6
- package/dist/apis/template-variables.js +1 -1
- package/dist/apis/user.cjs +6 -6
- package/dist/apis/user.js +1 -1
- package/dist/apis/validation-rules.cjs +6 -6
- package/dist/apis/validation-rules.js +1 -1
- package/dist/apis/webhooks.cjs +6 -6
- package/dist/apis/webhooks.js +1 -1
- package/dist/apis/workflow-definition.cjs +6 -6
- package/dist/apis/workflow-definition.js +1 -1
- package/dist/apis/workflow.cjs +6 -6
- package/dist/apis/workflow.js +1 -1
- package/dist/app-IXCUVIHD.js +7 -0
- package/dist/app-RKHOTF7Z.cjs +7 -0
- package/dist/{app.d-vPrbhe5h.d.cts → app.d-CZDjyxee.d.cts} +22 -15
- package/dist/{app.d-vPrbhe5h.d.ts → app.d-CZDjyxee.d.ts} +22 -15
- package/dist/chunk-2674L26S.cjs +14 -0
- package/dist/{chunk-WCFT56OJ.cjs → chunk-GZMYWGJR.cjs} +3 -3
- package/dist/chunk-TH4IM6Q6.js +14 -0
- package/dist/{chunk-S7LXTIGZ.js → chunk-WCF2QVZE.js} +3 -3
- package/dist/configuration-hub-6TSL5AGX.cjs +7 -0
- package/dist/configuration-hub-ZYOLN7ZX.js +7 -0
- package/dist/{configuration-hub-runtime-QVLJKEZD.cjs → configuration-hub-runtime-3RFJBODE.cjs} +2 -2
- package/dist/{configuration-hub-runtime-CXME7TCX.js → configuration-hub-runtime-EG2OIBXX.js} +1 -1
- package/dist/{configuration-hub.d-CbSJDa7k.d.cts → configuration-hub.d-Dv41yC3b.d.cts} +929 -84
- package/dist/{configuration-hub.d-CbSJDa7k.d.ts → configuration-hub.d-Dv41yC3b.d.ts} +929 -84
- package/dist/index.cjs +10 -10
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +2 -2
- package/docs/app.md +43 -88
- package/docs/configuration-hub.md +967 -40
- package/package.json +1 -1
- package/dist/app-A7P5LKNL.cjs +0 -7
- package/dist/app-EEEBOCVZ.js +0 -7
- package/dist/chunk-MOLFG5L4.cjs +0 -14
- package/dist/chunk-WW6DVKJR.js +0 -14
- package/dist/configuration-hub-E7S4JB2T.js +0 -7
- package/dist/configuration-hub-Q5JBYB52.cjs +0 -7
|
@@ -31,14 +31,28 @@ const { data } = await configurationHubClient.listConfigTypes(...)
|
|
|
31
31
|
- [`getConfigUsedBy`](#getconfigusedby)
|
|
32
32
|
- [`getIndex`](#getindex)
|
|
33
33
|
- [`rebuildIndex`](#rebuildindex)
|
|
34
|
+
- [`getConfigInventory`](#getconfiginventory)
|
|
35
|
+
|
|
36
|
+
**Compare**
|
|
37
|
+
- [`compareConfigs`](#compareconfigs)
|
|
38
|
+
- [`suggestMatches`](#suggestmatches)
|
|
39
|
+
- [`confirmLineage`](#confirmlineage)
|
|
40
|
+
- [`breakLineage`](#breaklineage)
|
|
34
41
|
|
|
35
42
|
**Sync**
|
|
36
43
|
- [`createSyncJob`](#createsyncjob)
|
|
37
44
|
- [`listSyncJobs`](#listsyncjobs)
|
|
38
45
|
- [`getSyncJob`](#getsyncjob)
|
|
39
46
|
- [`retrySyncJob`](#retrysyncjob)
|
|
47
|
+
- [`cancelSyncJob`](#cancelsyncjob)
|
|
40
48
|
- [`listSyncJobResources`](#listsyncjobresources)
|
|
41
49
|
|
|
50
|
+
**Delete**
|
|
51
|
+
- [`createDeleteJob`](#createdeletejob)
|
|
52
|
+
- [`listDeleteJobs`](#listdeletejobs)
|
|
53
|
+
- [`getDeleteJob`](#getdeletejob)
|
|
54
|
+
- [`listDeleteJobResources`](#listdeletejobresources)
|
|
55
|
+
|
|
42
56
|
**Schemas**
|
|
43
57
|
- [`ResourceType`](#resourcetype)
|
|
44
58
|
- [`ConfigTypeInfo`](#configtypeinfo)
|
|
@@ -47,6 +61,17 @@ const { data } = await configurationHubClient.listConfigTypes(...)
|
|
|
47
61
|
- [`ConfigDependenciesResponse`](#configdependenciesresponse)
|
|
48
62
|
- [`IndexRebuildResponse`](#indexrebuildresponse)
|
|
49
63
|
- [`IndexStatusResponse`](#indexstatusresponse)
|
|
64
|
+
- [`CompareRequest`](#comparerequest)
|
|
65
|
+
- [`CompareLineage`](#comparelineage)
|
|
66
|
+
- [`CompareRow`](#comparerow)
|
|
67
|
+
- [`CompareCounts`](#comparecounts)
|
|
68
|
+
- [`CompareResponse`](#compareresponse)
|
|
69
|
+
- [`SuggestMatchesRequest`](#suggestmatchesrequest)
|
|
70
|
+
- [`MatchSuggestion`](#matchsuggestion)
|
|
71
|
+
- [`SuggestMatchesResponse`](#suggestmatchesresponse)
|
|
72
|
+
- [`ConfirmLineageRequest`](#confirmlineagerequest)
|
|
73
|
+
- [`LineageEntryResponse`](#lineageentryresponse)
|
|
74
|
+
- [`BreakLineageResponse`](#breaklineageresponse)
|
|
50
75
|
- [`ErrorResponse`](#errorresponse)
|
|
51
76
|
- [`SyncJobStatus`](#syncjobstatus)
|
|
52
77
|
- [`SyncDirection`](#syncdirection)
|
|
@@ -61,6 +86,17 @@ const { data } = await configurationHubClient.listConfigTypes(...)
|
|
|
61
86
|
- [`SyncJobListResponse`](#syncjoblistresponse)
|
|
62
87
|
- [`SyncJobResource`](#syncjobresource)
|
|
63
88
|
- [`SyncJobResourceListResponse`](#syncjobresourcelistresponse)
|
|
89
|
+
- [`DeleteJobStatus`](#deletejobstatus)
|
|
90
|
+
- [`DeleteJobResourceStatus`](#deletejobresourcestatus)
|
|
91
|
+
- [`DeleteJobCounts`](#deletejobcounts)
|
|
92
|
+
- [`DeleteJobRequest`](#deletejobrequest)
|
|
93
|
+
- [`DeleteJob`](#deletejob)
|
|
94
|
+
- [`DeleteJobListResponse`](#deletejoblistresponse)
|
|
95
|
+
- [`DeleteJobResource`](#deletejobresource)
|
|
96
|
+
- [`DeleteJobResourceListResponse`](#deletejobresourcelistresponse)
|
|
97
|
+
- [`SnapshotInventoryItem`](#snapshotinventoryitem)
|
|
98
|
+
- [`SnapshotInventorySkippedType`](#snapshotinventoryskippedtype)
|
|
99
|
+
- [`ConfigInventoryResponse`](#configinventoryresponse)
|
|
64
100
|
|
|
65
101
|
### `listConfigTypes`
|
|
66
102
|
|
|
@@ -85,7 +121,8 @@ const { data } = await client.listConfigTypes()
|
|
|
85
121
|
"label": "Journeys",
|
|
86
122
|
"icon": "Route",
|
|
87
123
|
"source_api": "https://journey.sls.epilot.io",
|
|
88
|
-
"sdk_client": "@epilot/sdk/journey"
|
|
124
|
+
"sdk_client": "@epilot/sdk/journey",
|
|
125
|
+
"deletable": true
|
|
89
126
|
}
|
|
90
127
|
]
|
|
91
128
|
}
|
|
@@ -273,6 +310,7 @@ const { data } = await client.getIndex()
|
|
|
273
310
|
```json
|
|
274
311
|
{
|
|
275
312
|
"status": "missing",
|
|
313
|
+
"org_id": "string",
|
|
276
314
|
"last_built_at": "1970-01-01T00:00:00.000Z",
|
|
277
315
|
"total_items": 0,
|
|
278
316
|
"build_duration_ms": 0
|
|
@@ -283,6 +321,203 @@ const { data } = await client.getIndex()
|
|
|
283
321
|
|
|
284
322
|
---
|
|
285
323
|
|
|
324
|
+
### `compareConfigs`
|
|
325
|
+
|
|
326
|
+
Compare the caller org's configs of a single type against another
|
|
327
|
+
(source) org, side by side. Rows are paired via the lineage registry in
|
|
328
|
+
both sync directions (caller imported from source, or source i
|
|
329
|
+
|
|
330
|
+
`POST /v1/configs/compare`
|
|
331
|
+
|
|
332
|
+
```ts
|
|
333
|
+
const { data } = await client.compareConfigs(
|
|
334
|
+
null,
|
|
335
|
+
{
|
|
336
|
+
source_org_id: 'string',
|
|
337
|
+
source_auth_token: 'string',
|
|
338
|
+
type: 'journey'
|
|
339
|
+
},
|
|
340
|
+
)
|
|
341
|
+
```
|
|
342
|
+
|
|
343
|
+
<details>
|
|
344
|
+
<summary>Response</summary>
|
|
345
|
+
|
|
346
|
+
```json
|
|
347
|
+
{
|
|
348
|
+
"type": "journey",
|
|
349
|
+
"label": "string",
|
|
350
|
+
"icon": "string",
|
|
351
|
+
"rows": [
|
|
352
|
+
{
|
|
353
|
+
"match_status": "matched",
|
|
354
|
+
"current": {
|
|
355
|
+
"type": "journey",
|
|
356
|
+
"id": "string",
|
|
357
|
+
"title": "string",
|
|
358
|
+
"updated_at": "1970-01-01T00:00:00.000Z",
|
|
359
|
+
"updated_by": "string",
|
|
360
|
+
"tags": ["string"],
|
|
361
|
+
"aliases": ["string"],
|
|
362
|
+
"purposes": ["string"],
|
|
363
|
+
"link": "https://example.com/path",
|
|
364
|
+
"active": true,
|
|
365
|
+
"blueprints": [
|
|
366
|
+
{
|
|
367
|
+
"id": "string",
|
|
368
|
+
"title": "string"
|
|
369
|
+
}
|
|
370
|
+
],
|
|
371
|
+
"metadata": {}
|
|
372
|
+
},
|
|
373
|
+
"source": {
|
|
374
|
+
"type": "journey",
|
|
375
|
+
"id": "string",
|
|
376
|
+
"title": "string",
|
|
377
|
+
"updated_at": "1970-01-01T00:00:00.000Z",
|
|
378
|
+
"updated_by": "string",
|
|
379
|
+
"tags": ["string"],
|
|
380
|
+
"aliases": ["string"],
|
|
381
|
+
"purposes": ["string"],
|
|
382
|
+
"link": "https://example.com/path",
|
|
383
|
+
"active": true,
|
|
384
|
+
"blueprints": [
|
|
385
|
+
{
|
|
386
|
+
"id": "string",
|
|
387
|
+
"title": "string"
|
|
388
|
+
}
|
|
389
|
+
],
|
|
390
|
+
"metadata": {}
|
|
391
|
+
},
|
|
392
|
+
"lineage": {
|
|
393
|
+
"direction": "pull",
|
|
394
|
+
"last_synced_at": "1970-01-01T00:00:00.000Z",
|
|
395
|
+
"last_sync_job_id": "string",
|
|
396
|
+
"origin": "string"
|
|
397
|
+
}
|
|
398
|
+
}
|
|
399
|
+
],
|
|
400
|
+
"counts": {
|
|
401
|
+
"matched": 0,
|
|
402
|
+
"only_current": 0,
|
|
403
|
+
"only_source": 0
|
|
404
|
+
}
|
|
405
|
+
}
|
|
406
|
+
```
|
|
407
|
+
|
|
408
|
+
</details>
|
|
409
|
+
|
|
410
|
+
---
|
|
411
|
+
|
|
412
|
+
### `suggestMatches`
|
|
413
|
+
|
|
414
|
+
Run the sync-grade heuristic match (`lookupByHeuristic` — name / slug /
|
|
415
|
+
unique key) for a batch of source-org configs that have no lineage
|
|
416
|
+
entry, and return candidate counterparts in the caller's org.
|
|
417
|
+
|
|
418
|
+
`POST /v1/configs/compare/suggestions`
|
|
419
|
+
|
|
420
|
+
```ts
|
|
421
|
+
const { data } = await client.suggestMatches(
|
|
422
|
+
null,
|
|
423
|
+
{
|
|
424
|
+
source_org_id: 'string',
|
|
425
|
+
source_auth_token: 'string',
|
|
426
|
+
type: 'journey',
|
|
427
|
+
source_ids: ['string']
|
|
428
|
+
},
|
|
429
|
+
)
|
|
430
|
+
```
|
|
431
|
+
|
|
432
|
+
<details>
|
|
433
|
+
<summary>Response</summary>
|
|
434
|
+
|
|
435
|
+
```json
|
|
436
|
+
{
|
|
437
|
+
"type": "journey",
|
|
438
|
+
"suggestions": [
|
|
439
|
+
{
|
|
440
|
+
"source_id": "string",
|
|
441
|
+
"candidate": {
|
|
442
|
+
"id": "string",
|
|
443
|
+
"title": "string"
|
|
444
|
+
}
|
|
445
|
+
}
|
|
446
|
+
]
|
|
447
|
+
}
|
|
448
|
+
```
|
|
449
|
+
|
|
450
|
+
</details>
|
|
451
|
+
|
|
452
|
+
---
|
|
453
|
+
|
|
454
|
+
### `confirmLineage`
|
|
455
|
+
|
|
456
|
+
Persist a lineage entry pairing a source-org config with a config in
|
|
457
|
+
the caller's org — used to confirm a heuristic suggestion from the
|
|
458
|
+
Compare view. Writes to the caller org's lineage partition (call
|
|
459
|
+
|
|
460
|
+
`POST /v1/configs/lineage`
|
|
461
|
+
|
|
462
|
+
```ts
|
|
463
|
+
const { data } = await client.confirmLineage(
|
|
464
|
+
null,
|
|
465
|
+
{
|
|
466
|
+
type: 'journey',
|
|
467
|
+
source_org_id: 'string',
|
|
468
|
+
source_id: 'string',
|
|
469
|
+
target_id: 'string'
|
|
470
|
+
},
|
|
471
|
+
)
|
|
472
|
+
```
|
|
473
|
+
|
|
474
|
+
<details>
|
|
475
|
+
<summary>Response</summary>
|
|
476
|
+
|
|
477
|
+
```json
|
|
478
|
+
{
|
|
479
|
+
"type": "journey",
|
|
480
|
+
"target_org_id": "string",
|
|
481
|
+
"source_org_id": "string",
|
|
482
|
+
"source_id": "string",
|
|
483
|
+
"target_id": "string",
|
|
484
|
+
"last_synced_at": "1970-01-01T00:00:00.000Z",
|
|
485
|
+
"origin": "string"
|
|
486
|
+
}
|
|
487
|
+
```
|
|
488
|
+
|
|
489
|
+
</details>
|
|
490
|
+
|
|
491
|
+
---
|
|
492
|
+
|
|
493
|
+
### `breakLineage`
|
|
494
|
+
|
|
495
|
+
Delete a lineage entry from the caller org's partition (caller as sync
|
|
496
|
+
target), identified by `type` + `source_id`. Used to break a wrong or
|
|
497
|
+
stale match from the Compare view. Note: a future sync can
|
|
498
|
+
|
|
499
|
+
`DELETE /v1/configs/lineage`
|
|
500
|
+
|
|
501
|
+
```ts
|
|
502
|
+
const { data } = await client.breakLineage({
|
|
503
|
+
type: 'example',
|
|
504
|
+
source_id: 'example',
|
|
505
|
+
})
|
|
506
|
+
```
|
|
507
|
+
|
|
508
|
+
<details>
|
|
509
|
+
<summary>Response</summary>
|
|
510
|
+
|
|
511
|
+
```json
|
|
512
|
+
{
|
|
513
|
+
"deleted": true
|
|
514
|
+
}
|
|
515
|
+
```
|
|
516
|
+
|
|
517
|
+
</details>
|
|
518
|
+
|
|
519
|
+
---
|
|
520
|
+
|
|
286
521
|
### `createSyncJob`
|
|
287
522
|
|
|
288
523
|
Create a new cross-org sync job. The job is enqueued for asynchronous execution
|
|
@@ -512,9 +747,9 @@ const { data } = await client.getSyncJob({
|
|
|
512
747
|
|
|
513
748
|
### `retrySyncJob`
|
|
514
749
|
|
|
515
|
-
Retry the
|
|
516
|
-
|
|
517
|
-
|
|
750
|
+
Retry the unresolved resources from a prior sync job: `failed` rows, plus
|
|
751
|
+
rows the original run left at `pending`/`in_progress` because it stopped
|
|
752
|
+
early. Creates a new job whose scope is that `(type,
|
|
518
753
|
|
|
519
754
|
`POST /v1/configs/sync-jobs/{id}/retry`
|
|
520
755
|
|
|
@@ -584,6 +819,75 @@ const { data } = await client.retrySyncJob(
|
|
|
584
819
|
|
|
585
820
|
---
|
|
586
821
|
|
|
822
|
+
### `cancelSyncJob`
|
|
823
|
+
|
|
824
|
+
Cancel a running sync job. Marks the job `cancelled` with a `finished_at`
|
|
825
|
+
so it stops being reported as in-flight, and the worker stops at its next
|
|
826
|
+
batch boundary — phases re-read the job status and a
|
|
827
|
+
|
|
828
|
+
`POST /v1/configs/sync-jobs/{id}/cancel`
|
|
829
|
+
|
|
830
|
+
```ts
|
|
831
|
+
const { data } = await client.cancelSyncJob({
|
|
832
|
+
id: '123e4567-e89b-12d3-a456-426614174000',
|
|
833
|
+
})
|
|
834
|
+
```
|
|
835
|
+
|
|
836
|
+
<details>
|
|
837
|
+
<summary>Response</summary>
|
|
838
|
+
|
|
839
|
+
```json
|
|
840
|
+
{
|
|
841
|
+
"id": "string",
|
|
842
|
+
"name": "string",
|
|
843
|
+
"status": "pending",
|
|
844
|
+
"direction": "push",
|
|
845
|
+
"source_org_id": "string",
|
|
846
|
+
"target_org_id": "string",
|
|
847
|
+
"dry_run": true,
|
|
848
|
+
"counts": {
|
|
849
|
+
"total": 0,
|
|
850
|
+
"pending": 0,
|
|
851
|
+
"in_progress": 0,
|
|
852
|
+
"succeeded": 0,
|
|
853
|
+
"failed": 0,
|
|
854
|
+
"skipped_unchanged": 0
|
|
855
|
+
},
|
|
856
|
+
"current_phase": "phase_0",
|
|
857
|
+
"current_batch": {
|
|
858
|
+
"index": 0,
|
|
859
|
+
"of": 0,
|
|
860
|
+
"level": 0
|
|
861
|
+
},
|
|
862
|
+
"started_at": "1970-01-01T00:00:00.000Z",
|
|
863
|
+
"finished_at": "1970-01-01T00:00:00.000Z",
|
|
864
|
+
"events": [
|
|
865
|
+
{
|
|
866
|
+
"seq": 0,
|
|
867
|
+
"ts": "1970-01-01T00:00:00.000Z",
|
|
868
|
+
"phase": "phase_0",
|
|
869
|
+
"type": "string",
|
|
870
|
+
"source_id": "string",
|
|
871
|
+
"target_id": "string",
|
|
872
|
+
"status": "pending",
|
|
873
|
+
"message": "string",
|
|
874
|
+
"error": "string"
|
|
875
|
+
}
|
|
876
|
+
],
|
|
877
|
+
"errors_sample": [
|
|
878
|
+
{
|
|
879
|
+
"type": "string",
|
|
880
|
+
"source_id": "string",
|
|
881
|
+
"error": "string"
|
|
882
|
+
}
|
|
883
|
+
]
|
|
884
|
+
}
|
|
885
|
+
```
|
|
886
|
+
|
|
887
|
+
</details>
|
|
888
|
+
|
|
889
|
+
---
|
|
890
|
+
|
|
587
891
|
### `listSyncJobResources`
|
|
588
892
|
|
|
589
893
|
List the per-resource rows for a sync job. Supports filtering by status
|
|
@@ -612,6 +916,7 @@ const { data } = await client.listSyncJobResources({
|
|
|
612
916
|
"type": "string",
|
|
613
917
|
"source_id": "string",
|
|
614
918
|
"target_id": "string",
|
|
919
|
+
"title": "string",
|
|
615
920
|
"status": "pending",
|
|
616
921
|
"phase": "phase_0",
|
|
617
922
|
"attempt": 0,
|
|
@@ -626,16 +931,28 @@ const { data } = await client.listSyncJobResources({
|
|
|
626
931
|
|
|
627
932
|
---
|
|
628
933
|
|
|
629
|
-
### `
|
|
934
|
+
### `createDeleteJob`
|
|
630
935
|
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
936
|
+
Create a bulk-delete job for the caller's organization. The selected
|
|
937
|
+
resources are deleted asynchronously by a worker Lambda; the response
|
|
938
|
+
returns the persisted job header with status `pending`.
|
|
634
939
|
|
|
635
|
-
`POST /v1/configs/
|
|
940
|
+
`POST /v1/configs/delete-jobs`
|
|
636
941
|
|
|
637
942
|
```ts
|
|
638
|
-
const { data } = await client.
|
|
943
|
+
const { data } = await client.createDeleteJob(
|
|
944
|
+
null,
|
|
945
|
+
{
|
|
946
|
+
name: 'string',
|
|
947
|
+
resources: [
|
|
948
|
+
{
|
|
949
|
+
type: 'string',
|
|
950
|
+
id: 'string',
|
|
951
|
+
title: 'string'
|
|
952
|
+
}
|
|
953
|
+
]
|
|
954
|
+
},
|
|
955
|
+
)
|
|
639
956
|
```
|
|
640
957
|
|
|
641
958
|
<details>
|
|
@@ -643,11 +960,21 @@ const { data } = await client.rebuildIndex()
|
|
|
643
960
|
|
|
644
961
|
```json
|
|
645
962
|
{
|
|
646
|
-
"
|
|
647
|
-
"
|
|
648
|
-
"
|
|
649
|
-
"
|
|
650
|
-
"
|
|
963
|
+
"id": "string",
|
|
964
|
+
"name": "string",
|
|
965
|
+
"status": "pending",
|
|
966
|
+
"org_id": "string",
|
|
967
|
+
"counts": {
|
|
968
|
+
"total": 0,
|
|
969
|
+
"pending": 0,
|
|
970
|
+
"in_progress": 0,
|
|
971
|
+
"deleted": 0,
|
|
972
|
+
"skipped": 0,
|
|
973
|
+
"failed": 0
|
|
974
|
+
},
|
|
975
|
+
"started_at": "1970-01-01T00:00:00.000Z",
|
|
976
|
+
"finished_at": "1970-01-01T00:00:00.000Z",
|
|
977
|
+
"rebuild_triggered": true
|
|
651
978
|
}
|
|
652
979
|
```
|
|
653
980
|
|
|
@@ -655,42 +982,239 @@ const { data } = await client.rebuildIndex()
|
|
|
655
982
|
|
|
656
983
|
---
|
|
657
984
|
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
### `ResourceType`
|
|
985
|
+
### `listDeleteJobs`
|
|
661
986
|
|
|
662
|
-
|
|
663
|
-
|
|
987
|
+
List bulk-delete jobs scoped to the caller's organization, paginated
|
|
988
|
+
with an opaque cursor. Most-recent first.
|
|
664
989
|
|
|
990
|
+
`GET /v1/configs/delete-jobs`
|
|
665
991
|
|
|
666
992
|
```ts
|
|
667
|
-
|
|
993
|
+
const { data } = await client.listDeleteJobs({
|
|
994
|
+
cursor: 'example',
|
|
995
|
+
size: 1,
|
|
996
|
+
})
|
|
668
997
|
```
|
|
669
998
|
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
Static metadata for a config type folder in the tree.
|
|
673
|
-
No downstream API calls — just type + label + icon + source API info.
|
|
674
|
-
|
|
999
|
+
<details>
|
|
1000
|
+
<summary>Response</summary>
|
|
675
1001
|
|
|
676
|
-
```
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
1002
|
+
```json
|
|
1003
|
+
{
|
|
1004
|
+
"next_cursor": "string",
|
|
1005
|
+
"results": [
|
|
1006
|
+
{
|
|
1007
|
+
"id": "string",
|
|
1008
|
+
"name": "string",
|
|
1009
|
+
"status": "pending",
|
|
1010
|
+
"org_id": "string",
|
|
1011
|
+
"counts": {
|
|
1012
|
+
"total": 0,
|
|
1013
|
+
"pending": 0,
|
|
1014
|
+
"in_progress": 0,
|
|
1015
|
+
"deleted": 0,
|
|
1016
|
+
"skipped": 0,
|
|
1017
|
+
"failed": 0
|
|
1018
|
+
},
|
|
1019
|
+
"started_at": "1970-01-01T00:00:00.000Z",
|
|
1020
|
+
"finished_at": "1970-01-01T00:00:00.000Z",
|
|
1021
|
+
"rebuild_triggered": true
|
|
1022
|
+
}
|
|
1023
|
+
]
|
|
683
1024
|
}
|
|
684
1025
|
```
|
|
685
1026
|
|
|
686
|
-
|
|
1027
|
+
</details>
|
|
687
1028
|
|
|
688
|
-
|
|
1029
|
+
---
|
|
1030
|
+
|
|
1031
|
+
### `getDeleteJob`
|
|
1032
|
+
|
|
1033
|
+
Fetch a single bulk-delete job by ID. Returns the job header and counts
|
|
1034
|
+
summary. Frontend polls this endpoint while the job runs.
|
|
1035
|
+
|
|
1036
|
+
`GET /v1/configs/delete-jobs/{id}`
|
|
689
1037
|
|
|
690
1038
|
```ts
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
1039
|
+
const { data } = await client.getDeleteJob({
|
|
1040
|
+
id: '123e4567-e89b-12d3-a456-426614174000',
|
|
1041
|
+
})
|
|
1042
|
+
```
|
|
1043
|
+
|
|
1044
|
+
<details>
|
|
1045
|
+
<summary>Response</summary>
|
|
1046
|
+
|
|
1047
|
+
```json
|
|
1048
|
+
{
|
|
1049
|
+
"id": "string",
|
|
1050
|
+
"name": "string",
|
|
1051
|
+
"status": "pending",
|
|
1052
|
+
"org_id": "string",
|
|
1053
|
+
"counts": {
|
|
1054
|
+
"total": 0,
|
|
1055
|
+
"pending": 0,
|
|
1056
|
+
"in_progress": 0,
|
|
1057
|
+
"deleted": 0,
|
|
1058
|
+
"skipped": 0,
|
|
1059
|
+
"failed": 0
|
|
1060
|
+
},
|
|
1061
|
+
"started_at": "1970-01-01T00:00:00.000Z",
|
|
1062
|
+
"finished_at": "1970-01-01T00:00:00.000Z",
|
|
1063
|
+
"rebuild_triggered": true
|
|
1064
|
+
}
|
|
1065
|
+
```
|
|
1066
|
+
|
|
1067
|
+
</details>
|
|
1068
|
+
|
|
1069
|
+
---
|
|
1070
|
+
|
|
1071
|
+
### `listDeleteJobResources`
|
|
1072
|
+
|
|
1073
|
+
List the per-resource rows for a delete job, cursor-paginated. Used by
|
|
1074
|
+
the failures view in the frontend.
|
|
1075
|
+
|
|
1076
|
+
`GET /v1/configs/delete-jobs/{id}/resources`
|
|
1077
|
+
|
|
1078
|
+
```ts
|
|
1079
|
+
const { data } = await client.listDeleteJobResources({
|
|
1080
|
+
id: '123e4567-e89b-12d3-a456-426614174000',
|
|
1081
|
+
cursor: 'example',
|
|
1082
|
+
size: 1,
|
|
1083
|
+
})
|
|
1084
|
+
```
|
|
1085
|
+
|
|
1086
|
+
<details>
|
|
1087
|
+
<summary>Response</summary>
|
|
1088
|
+
|
|
1089
|
+
```json
|
|
1090
|
+
{
|
|
1091
|
+
"next_cursor": "string",
|
|
1092
|
+
"results": [
|
|
1093
|
+
{
|
|
1094
|
+
"type": "string",
|
|
1095
|
+
"id": "string",
|
|
1096
|
+
"title": "string",
|
|
1097
|
+
"status": "pending",
|
|
1098
|
+
"attempt": 0,
|
|
1099
|
+
"error": "string",
|
|
1100
|
+
"updated_at": "1970-01-01T00:00:00.000Z"
|
|
1101
|
+
}
|
|
1102
|
+
]
|
|
1103
|
+
}
|
|
1104
|
+
```
|
|
1105
|
+
|
|
1106
|
+
</details>
|
|
1107
|
+
|
|
1108
|
+
---
|
|
1109
|
+
|
|
1110
|
+
### `rebuildIndex`
|
|
1111
|
+
|
|
1112
|
+
Rebuild the configuration index for the caller's organization.
|
|
1113
|
+
Fire-and-forget: invokes the async worker and returns immediately.
|
|
1114
|
+
A new rebuild will cancel any in-flight build (see `build_token`).
|
|
1115
|
+
|
|
1116
|
+
`POST /v1/configs/index:rebuild`
|
|
1117
|
+
|
|
1118
|
+
```ts
|
|
1119
|
+
const { data } = await client.rebuildIndex()
|
|
1120
|
+
```
|
|
1121
|
+
|
|
1122
|
+
<details>
|
|
1123
|
+
<summary>Response</summary>
|
|
1124
|
+
|
|
1125
|
+
```json
|
|
1126
|
+
{
|
|
1127
|
+
"status": "ready",
|
|
1128
|
+
"last_built_at": "1970-01-01T00:00:00.000Z",
|
|
1129
|
+
"total_items": 0,
|
|
1130
|
+
"build_duration_ms": 0,
|
|
1131
|
+
"failed_types": ["string"]
|
|
1132
|
+
}
|
|
1133
|
+
```
|
|
1134
|
+
|
|
1135
|
+
</details>
|
|
1136
|
+
|
|
1137
|
+
---
|
|
1138
|
+
|
|
1139
|
+
### `getConfigInventory`
|
|
1140
|
+
|
|
1141
|
+
Returns a fresh inventory of an org's configuration resources — `{ type, id }` identities only,
|
|
1142
|
+
no full payloads. Calls every adapter's `list()` live (bypasses the 7-day DynamoDB index).
|
|
1143
|
+
Intended for
|
|
1144
|
+
|
|
1145
|
+
`GET /v1/configs/inventory`
|
|
1146
|
+
|
|
1147
|
+
```ts
|
|
1148
|
+
const { data } = await client.getConfigInventory({
|
|
1149
|
+
include_dependency_only: true,
|
|
1150
|
+
})
|
|
1151
|
+
```
|
|
1152
|
+
|
|
1153
|
+
<details>
|
|
1154
|
+
<summary>Response</summary>
|
|
1155
|
+
|
|
1156
|
+
```json
|
|
1157
|
+
{
|
|
1158
|
+
"inventory_id": "string",
|
|
1159
|
+
"org_id": "string",
|
|
1160
|
+
"indexed_at": "1970-01-01T00:00:00.000Z",
|
|
1161
|
+
"resources_count": 0,
|
|
1162
|
+
"resources": [
|
|
1163
|
+
{
|
|
1164
|
+
"type": "journey",
|
|
1165
|
+
"id": "string"
|
|
1166
|
+
}
|
|
1167
|
+
],
|
|
1168
|
+
"skipped_types": [
|
|
1169
|
+
{
|
|
1170
|
+
"type": "string",
|
|
1171
|
+
"reason": "string"
|
|
1172
|
+
}
|
|
1173
|
+
]
|
|
1174
|
+
}
|
|
1175
|
+
```
|
|
1176
|
+
|
|
1177
|
+
</details>
|
|
1178
|
+
|
|
1179
|
+
---
|
|
1180
|
+
|
|
1181
|
+
## Schemas
|
|
1182
|
+
|
|
1183
|
+
### `ResourceType`
|
|
1184
|
+
|
|
1185
|
+
Configuration resource type identifier.
|
|
1186
|
+
Matches blueprint-manifest-api V3 naming conventions.
|
|
1187
|
+
|
|
1188
|
+
|
|
1189
|
+
```ts
|
|
1190
|
+
type ResourceType = "journey" | "automation_flow" | "workflow_definition" | "closing_reason" | "flow_template" | "schema" | "emailtemplate" | "product" | "price" | "tax" | "coupon" | "file" | "document_template" | "webhook" | "saved_view" | "dashboard" | "kanban" | "role" | "usergroup" | "validation_rule" | "integration" | "app" | "designbuilder" | "notification_template" | "custom_variable" | "environment_variable" | "taxonomy" | "taxonomy_classification" | "entity_mapping" | "portal_config" | "target" | "product_recommendation" | "access_token"
|
|
1191
|
+
```
|
|
1192
|
+
|
|
1193
|
+
### `ConfigTypeInfo`
|
|
1194
|
+
|
|
1195
|
+
Static metadata for a config type folder in the tree.
|
|
1196
|
+
No downstream API calls — just type + label + icon + source API info.
|
|
1197
|
+
|
|
1198
|
+
|
|
1199
|
+
```ts
|
|
1200
|
+
type ConfigTypeInfo = {
|
|
1201
|
+
type: "journey" | "automation_flow" | "workflow_definition" | "closing_reason" | "flow_template" | "schema" | "emailtemplate" | "product" | "price" | "tax" | "coupon" | "file" | "document_template" | "webhook" | "saved_view" | "dashboard" | "kanban" | "role" | "usergroup" | "validation_rule" | "integration" | "app" | "designbuilder" | "notification_template" | "custom_variable" | "environment_variable" | "taxonomy" | "taxonomy_classification" | "entity_mapping" | "portal_config" | "target" | "product_recommendation" | "access_token"
|
|
1202
|
+
label: string
|
|
1203
|
+
icon: string
|
|
1204
|
+
source_api: string
|
|
1205
|
+
sdk_client: string
|
|
1206
|
+
deletable: boolean
|
|
1207
|
+
}
|
|
1208
|
+
```
|
|
1209
|
+
|
|
1210
|
+
### `ConfigNode`
|
|
1211
|
+
|
|
1212
|
+
Summary metadata for a single configuration item in the tree
|
|
1213
|
+
|
|
1214
|
+
```ts
|
|
1215
|
+
type ConfigNode = {
|
|
1216
|
+
type: "journey" | "automation_flow" | "workflow_definition" | "closing_reason" | "flow_template" | "schema" | "emailtemplate" | "product" | "price" | "tax" | "coupon" | "file" | "document_template" | "webhook" | "saved_view" | "dashboard" | "kanban" | "role" | "usergroup" | "validation_rule" | "integration" | "app" | "designbuilder" | "notification_template" | "custom_variable" | "environment_variable" | "taxonomy" | "taxonomy_classification" | "entity_mapping" | "portal_config" | "target" | "product_recommendation" | "access_token"
|
|
1217
|
+
id: string
|
|
694
1218
|
title: string
|
|
695
1219
|
updated_at?: string // date-time
|
|
696
1220
|
updated_by?: string
|
|
@@ -787,12 +1311,236 @@ Current index build state
|
|
|
787
1311
|
```ts
|
|
788
1312
|
type IndexStatusResponse = {
|
|
789
1313
|
status: "missing" | "building" | "ready" | "failed"
|
|
1314
|
+
org_id?: string
|
|
790
1315
|
last_built_at?: string // date-time
|
|
791
1316
|
total_items?: number
|
|
792
1317
|
build_duration_ms?: number
|
|
793
1318
|
}
|
|
794
1319
|
```
|
|
795
1320
|
|
|
1321
|
+
### `CompareRequest`
|
|
1322
|
+
|
|
1323
|
+
Request body for a per-type cross-org comparison
|
|
1324
|
+
|
|
1325
|
+
```ts
|
|
1326
|
+
type CompareRequest = {
|
|
1327
|
+
source_org_id: string
|
|
1328
|
+
source_auth_token: string
|
|
1329
|
+
type: "journey" | "automation_flow" | "workflow_definition" | "closing_reason" | "flow_template" | "schema" | "emailtemplate" | "product" | "price" | "tax" | "coupon" | "file" | "document_template" | "webhook" | "saved_view" | "dashboard" | "kanban" | "role" | "usergroup" | "validation_rule" | "integration" | "app" | "designbuilder" | "notification_template" | "custom_variable" | "environment_variable" | "taxonomy" | "taxonomy_classification" | "entity_mapping" | "portal_config" | "target" | "product_recommendation" | "access_token"
|
|
1330
|
+
}
|
|
1331
|
+
```
|
|
1332
|
+
|
|
1333
|
+
### `CompareLineage`
|
|
1334
|
+
|
|
1335
|
+
Provenance of a lineage-backed match
|
|
1336
|
+
|
|
1337
|
+
```ts
|
|
1338
|
+
type CompareLineage = {
|
|
1339
|
+
direction: "pull" | "push"
|
|
1340
|
+
last_synced_at?: string // date-time
|
|
1341
|
+
last_sync_job_id?: string
|
|
1342
|
+
origin?: string
|
|
1343
|
+
}
|
|
1344
|
+
```
|
|
1345
|
+
|
|
1346
|
+
### `CompareRow`
|
|
1347
|
+
|
|
1348
|
+
One row of the side-by-side comparison. `matched` rows carry both
|
|
1349
|
+
configs plus lineage provenance; one-sided rows carry only the side
|
|
1350
|
+
the config exists on.
|
|
1351
|
+
|
|
1352
|
+
|
|
1353
|
+
```ts
|
|
1354
|
+
type CompareRow = {
|
|
1355
|
+
match_status: "matched" | "only_current" | "only_source"
|
|
1356
|
+
current?: {
|
|
1357
|
+
type: "journey" | "automation_flow" | "workflow_definition" | "closing_reason" | "flow_template" | "schema" | "emailtemplate" | "product" | "price" | "tax" | "coupon" | "file" | "document_template" | "webhook" | "saved_view" | "dashboard" | "kanban" | "role" | "usergroup" | "validation_rule" | "integration" | "app" | "designbuilder" | "notification_template" | "custom_variable" | "environment_variable" | "taxonomy" | "taxonomy_classification" | "entity_mapping" | "portal_config" | "target" | "product_recommendation" | "access_token"
|
|
1358
|
+
id: string
|
|
1359
|
+
title: string
|
|
1360
|
+
updated_at?: string // date-time
|
|
1361
|
+
updated_by?: string
|
|
1362
|
+
tags?: string[]
|
|
1363
|
+
aliases?: string[]
|
|
1364
|
+
purposes?: string[]
|
|
1365
|
+
link?: string // uri
|
|
1366
|
+
active?: boolean
|
|
1367
|
+
blueprints?: Array<{
|
|
1368
|
+
id: { ... }
|
|
1369
|
+
title: { ... }
|
|
1370
|
+
}>
|
|
1371
|
+
metadata?: Record<string, unknown>
|
|
1372
|
+
}
|
|
1373
|
+
source?: {
|
|
1374
|
+
type: "journey" | "automation_flow" | "workflow_definition" | "closing_reason" | "flow_template" | "schema" | "emailtemplate" | "product" | "price" | "tax" | "coupon" | "file" | "document_template" | "webhook" | "saved_view" | "dashboard" | "kanban" | "role" | "usergroup" | "validation_rule" | "integration" | "app" | "designbuilder" | "notification_template" | "custom_variable" | "environment_variable" | "taxonomy" | "taxonomy_classification" | "entity_mapping" | "portal_config" | "target" | "product_recommendation" | "access_token"
|
|
1375
|
+
id: string
|
|
1376
|
+
title: string
|
|
1377
|
+
updated_at?: string // date-time
|
|
1378
|
+
updated_by?: string
|
|
1379
|
+
tags?: string[]
|
|
1380
|
+
aliases?: string[]
|
|
1381
|
+
purposes?: string[]
|
|
1382
|
+
link?: string // uri
|
|
1383
|
+
active?: boolean
|
|
1384
|
+
blueprints?: Array<{
|
|
1385
|
+
id: { ... }
|
|
1386
|
+
title: { ... }
|
|
1387
|
+
}>
|
|
1388
|
+
metadata?: Record<string, unknown>
|
|
1389
|
+
}
|
|
1390
|
+
lineage?: {
|
|
1391
|
+
direction: "pull" | "push"
|
|
1392
|
+
last_synced_at?: string // date-time
|
|
1393
|
+
last_sync_job_id?: string
|
|
1394
|
+
origin?: string
|
|
1395
|
+
}
|
|
1396
|
+
}
|
|
1397
|
+
```
|
|
1398
|
+
|
|
1399
|
+
### `CompareCounts`
|
|
1400
|
+
|
|
1401
|
+
Row counts per match status
|
|
1402
|
+
|
|
1403
|
+
```ts
|
|
1404
|
+
type CompareCounts = {
|
|
1405
|
+
matched: number
|
|
1406
|
+
only_current: number
|
|
1407
|
+
only_source: number
|
|
1408
|
+
}
|
|
1409
|
+
```
|
|
1410
|
+
|
|
1411
|
+
### `CompareResponse`
|
|
1412
|
+
|
|
1413
|
+
Side-by-side comparison of one config type across two orgs
|
|
1414
|
+
|
|
1415
|
+
```ts
|
|
1416
|
+
type CompareResponse = {
|
|
1417
|
+
type: "journey" | "automation_flow" | "workflow_definition" | "closing_reason" | "flow_template" | "schema" | "emailtemplate" | "product" | "price" | "tax" | "coupon" | "file" | "document_template" | "webhook" | "saved_view" | "dashboard" | "kanban" | "role" | "usergroup" | "validation_rule" | "integration" | "app" | "designbuilder" | "notification_template" | "custom_variable" | "environment_variable" | "taxonomy" | "taxonomy_classification" | "entity_mapping" | "portal_config" | "target" | "product_recommendation" | "access_token"
|
|
1418
|
+
label: string
|
|
1419
|
+
icon: string
|
|
1420
|
+
rows: Array<{
|
|
1421
|
+
match_status: "matched" | "only_current" | "only_source"
|
|
1422
|
+
current?: {
|
|
1423
|
+
type: { ... }
|
|
1424
|
+
id: { ... }
|
|
1425
|
+
title: { ... }
|
|
1426
|
+
updated_at?: { ... }
|
|
1427
|
+
updated_by?: { ... }
|
|
1428
|
+
tags?: { ... }
|
|
1429
|
+
aliases?: { ... }
|
|
1430
|
+
purposes?: { ... }
|
|
1431
|
+
link?: { ... }
|
|
1432
|
+
active?: { ... }
|
|
1433
|
+
blueprints?: { ... }
|
|
1434
|
+
metadata?: { ... }
|
|
1435
|
+
}
|
|
1436
|
+
source?: {
|
|
1437
|
+
type: { ... }
|
|
1438
|
+
id: { ... }
|
|
1439
|
+
title: { ... }
|
|
1440
|
+
updated_at?: { ... }
|
|
1441
|
+
updated_by?: { ... }
|
|
1442
|
+
tags?: { ... }
|
|
1443
|
+
aliases?: { ... }
|
|
1444
|
+
purposes?: { ... }
|
|
1445
|
+
link?: { ... }
|
|
1446
|
+
active?: { ... }
|
|
1447
|
+
blueprints?: { ... }
|
|
1448
|
+
metadata?: { ... }
|
|
1449
|
+
}
|
|
1450
|
+
lineage?: {
|
|
1451
|
+
direction: { ... }
|
|
1452
|
+
last_synced_at?: { ... }
|
|
1453
|
+
last_sync_job_id?: { ... }
|
|
1454
|
+
origin?: { ... }
|
|
1455
|
+
}
|
|
1456
|
+
}>
|
|
1457
|
+
counts: {
|
|
1458
|
+
matched: number
|
|
1459
|
+
only_current: number
|
|
1460
|
+
only_source: number
|
|
1461
|
+
}
|
|
1462
|
+
}
|
|
1463
|
+
```
|
|
1464
|
+
|
|
1465
|
+
### `SuggestMatchesRequest`
|
|
1466
|
+
|
|
1467
|
+
Request body for batched heuristic match suggestions
|
|
1468
|
+
|
|
1469
|
+
```ts
|
|
1470
|
+
type SuggestMatchesRequest = {
|
|
1471
|
+
source_org_id: string
|
|
1472
|
+
source_auth_token: string
|
|
1473
|
+
type: "journey" | "automation_flow" | "workflow_definition" | "closing_reason" | "flow_template" | "schema" | "emailtemplate" | "product" | "price" | "tax" | "coupon" | "file" | "document_template" | "webhook" | "saved_view" | "dashboard" | "kanban" | "role" | "usergroup" | "validation_rule" | "integration" | "app" | "designbuilder" | "notification_template" | "custom_variable" | "environment_variable" | "taxonomy" | "taxonomy_classification" | "entity_mapping" | "portal_config" | "target" | "product_recommendation" | "access_token"
|
|
1474
|
+
source_ids: string[]
|
|
1475
|
+
}
|
|
1476
|
+
```
|
|
1477
|
+
|
|
1478
|
+
### `MatchSuggestion`
|
|
1479
|
+
|
|
1480
|
+
Heuristic candidate for one source config (null candidate = no match)
|
|
1481
|
+
|
|
1482
|
+
```ts
|
|
1483
|
+
type MatchSuggestion = {
|
|
1484
|
+
source_id: string
|
|
1485
|
+
candidate?: {
|
|
1486
|
+
id: string
|
|
1487
|
+
title?: string
|
|
1488
|
+
}
|
|
1489
|
+
}
|
|
1490
|
+
```
|
|
1491
|
+
|
|
1492
|
+
### `SuggestMatchesResponse`
|
|
1493
|
+
|
|
1494
|
+
```ts
|
|
1495
|
+
type SuggestMatchesResponse = {
|
|
1496
|
+
type: "journey" | "automation_flow" | "workflow_definition" | "closing_reason" | "flow_template" | "schema" | "emailtemplate" | "product" | "price" | "tax" | "coupon" | "file" | "document_template" | "webhook" | "saved_view" | "dashboard" | "kanban" | "role" | "usergroup" | "validation_rule" | "integration" | "app" | "designbuilder" | "notification_template" | "custom_variable" | "environment_variable" | "taxonomy" | "taxonomy_classification" | "entity_mapping" | "portal_config" | "target" | "product_recommendation" | "access_token"
|
|
1497
|
+
suggestions: Array<{
|
|
1498
|
+
source_id: string
|
|
1499
|
+
candidate?: {
|
|
1500
|
+
id: { ... }
|
|
1501
|
+
title?: { ... }
|
|
1502
|
+
}
|
|
1503
|
+
}>
|
|
1504
|
+
}
|
|
1505
|
+
```
|
|
1506
|
+
|
|
1507
|
+
### `ConfirmLineageRequest`
|
|
1508
|
+
|
|
1509
|
+
Persist a source→target lineage pairing (caller org as target)
|
|
1510
|
+
|
|
1511
|
+
```ts
|
|
1512
|
+
type ConfirmLineageRequest = {
|
|
1513
|
+
type: "journey" | "automation_flow" | "workflow_definition" | "closing_reason" | "flow_template" | "schema" | "emailtemplate" | "product" | "price" | "tax" | "coupon" | "file" | "document_template" | "webhook" | "saved_view" | "dashboard" | "kanban" | "role" | "usergroup" | "validation_rule" | "integration" | "app" | "designbuilder" | "notification_template" | "custom_variable" | "environment_variable" | "taxonomy" | "taxonomy_classification" | "entity_mapping" | "portal_config" | "target" | "product_recommendation" | "access_token"
|
|
1514
|
+
source_org_id: string
|
|
1515
|
+
source_id: string
|
|
1516
|
+
target_id: string
|
|
1517
|
+
}
|
|
1518
|
+
```
|
|
1519
|
+
|
|
1520
|
+
### `LineageEntryResponse`
|
|
1521
|
+
|
|
1522
|
+
A persisted lineage entry
|
|
1523
|
+
|
|
1524
|
+
```ts
|
|
1525
|
+
type LineageEntryResponse = {
|
|
1526
|
+
type: "journey" | "automation_flow" | "workflow_definition" | "closing_reason" | "flow_template" | "schema" | "emailtemplate" | "product" | "price" | "tax" | "coupon" | "file" | "document_template" | "webhook" | "saved_view" | "dashboard" | "kanban" | "role" | "usergroup" | "validation_rule" | "integration" | "app" | "designbuilder" | "notification_template" | "custom_variable" | "environment_variable" | "taxonomy" | "taxonomy_classification" | "entity_mapping" | "portal_config" | "target" | "product_recommendation" | "access_token"
|
|
1527
|
+
target_org_id: string
|
|
1528
|
+
source_org_id: string
|
|
1529
|
+
source_id: string
|
|
1530
|
+
target_id: string
|
|
1531
|
+
last_synced_at?: string // date-time
|
|
1532
|
+
origin?: string
|
|
1533
|
+
}
|
|
1534
|
+
```
|
|
1535
|
+
|
|
1536
|
+
### `BreakLineageResponse`
|
|
1537
|
+
|
|
1538
|
+
```ts
|
|
1539
|
+
type BreakLineageResponse = {
|
|
1540
|
+
deleted: boolean
|
|
1541
|
+
}
|
|
1542
|
+
```
|
|
1543
|
+
|
|
796
1544
|
### `ErrorResponse`
|
|
797
1545
|
|
|
798
1546
|
```ts
|
|
@@ -866,8 +1614,8 @@ type SyncJobRequest = {
|
|
|
866
1614
|
|
|
867
1615
|
### `SyncJobRetryRequest`
|
|
868
1616
|
|
|
869
|
-
Optional body for `retrySyncJob`. Defaults to retrying every
|
|
870
|
-
resource of the original job.
|
|
1617
|
+
Optional body for `retrySyncJob`. Defaults to retrying every unresolved
|
|
1618
|
+
resource of the original job (failed, pending or in_progress).
|
|
871
1619
|
|
|
872
1620
|
|
|
873
1621
|
```ts
|
|
@@ -1035,6 +1783,7 @@ type SyncJobResource = {
|
|
|
1035
1783
|
type: string
|
|
1036
1784
|
source_id: string
|
|
1037
1785
|
target_id?: string
|
|
1786
|
+
title?: string
|
|
1038
1787
|
status: "pending" | "in_progress" | "created" | "patched" | "skipped" | "would_create" | "would_patch" | "would_skip_unchanged" | "would_match_heuristic" | "failed"
|
|
1039
1788
|
phase: "phase_0" | "phase_a" | "phase_a5" | "phase_b" | "finalize"
|
|
1040
1789
|
attempt: number
|
|
@@ -1054,6 +1803,7 @@ type SyncJobResourceListResponse = {
|
|
|
1054
1803
|
type: string
|
|
1055
1804
|
source_id: string
|
|
1056
1805
|
target_id?: string
|
|
1806
|
+
title?: string
|
|
1057
1807
|
status: "pending" | "in_progress" | "created" | "patched" | "skipped" | "would_create" | "would_patch" | "would_skip_unchanged" | "would_match_heuristic" | "failed"
|
|
1058
1808
|
phase: "phase_0" | "phase_a" | "phase_a5" | "phase_b" | "finalize"
|
|
1059
1809
|
attempt: number
|
|
@@ -1062,3 +1812,180 @@ type SyncJobResourceListResponse = {
|
|
|
1062
1812
|
}>
|
|
1063
1813
|
}
|
|
1064
1814
|
```
|
|
1815
|
+
|
|
1816
|
+
### `DeleteJobStatus`
|
|
1817
|
+
|
|
1818
|
+
Lifecycle status of a bulk-delete job.
|
|
1819
|
+
|
|
1820
|
+
```ts
|
|
1821
|
+
type DeleteJobStatus = "pending" | "in_progress" | "succeeded" | "partial" | "failed" | "cancelled"
|
|
1822
|
+
```
|
|
1823
|
+
|
|
1824
|
+
### `DeleteJobResourceStatus`
|
|
1825
|
+
|
|
1826
|
+
Per-resource delete status. `skipped` is used for protected resources
|
|
1827
|
+
that are intentionally not deleted (e.g. built-in schemas).
|
|
1828
|
+
|
|
1829
|
+
|
|
1830
|
+
```ts
|
|
1831
|
+
type DeleteJobResourceStatus = "pending" | "in_progress" | "deleted" | "skipped" | "failed"
|
|
1832
|
+
```
|
|
1833
|
+
|
|
1834
|
+
### `DeleteJobCounts`
|
|
1835
|
+
|
|
1836
|
+
Aggregate counters by resource delete status.
|
|
1837
|
+
|
|
1838
|
+
```ts
|
|
1839
|
+
type DeleteJobCounts = {
|
|
1840
|
+
total: number
|
|
1841
|
+
pending: number
|
|
1842
|
+
in_progress: number
|
|
1843
|
+
deleted: number
|
|
1844
|
+
skipped: number
|
|
1845
|
+
failed: number
|
|
1846
|
+
}
|
|
1847
|
+
```
|
|
1848
|
+
|
|
1849
|
+
### `DeleteJobRequest`
|
|
1850
|
+
|
|
1851
|
+
Request body for `createDeleteJob`.
|
|
1852
|
+
|
|
1853
|
+
```ts
|
|
1854
|
+
type DeleteJobRequest = {
|
|
1855
|
+
name?: string
|
|
1856
|
+
resources: Array<{
|
|
1857
|
+
type: string
|
|
1858
|
+
id: string
|
|
1859
|
+
title?: string
|
|
1860
|
+
}>
|
|
1861
|
+
}
|
|
1862
|
+
```
|
|
1863
|
+
|
|
1864
|
+
### `DeleteJob`
|
|
1865
|
+
|
|
1866
|
+
Bulk-delete job header surfaced by `createDeleteJob`/`getDeleteJob`.
|
|
1867
|
+
|
|
1868
|
+
```ts
|
|
1869
|
+
type DeleteJob = {
|
|
1870
|
+
id: string
|
|
1871
|
+
name?: string
|
|
1872
|
+
status: "pending" | "in_progress" | "succeeded" | "partial" | "failed" | "cancelled"
|
|
1873
|
+
org_id: string
|
|
1874
|
+
counts: {
|
|
1875
|
+
total: number
|
|
1876
|
+
pending: number
|
|
1877
|
+
in_progress: number
|
|
1878
|
+
deleted: number
|
|
1879
|
+
skipped: number
|
|
1880
|
+
failed: number
|
|
1881
|
+
}
|
|
1882
|
+
started_at: string // date-time
|
|
1883
|
+
finished_at?: string // date-time
|
|
1884
|
+
rebuild_triggered?: boolean
|
|
1885
|
+
}
|
|
1886
|
+
```
|
|
1887
|
+
|
|
1888
|
+
### `DeleteJobListResponse`
|
|
1889
|
+
|
|
1890
|
+
Cursor-paginated list of delete jobs.
|
|
1891
|
+
|
|
1892
|
+
```ts
|
|
1893
|
+
type DeleteJobListResponse = {
|
|
1894
|
+
next_cursor?: string
|
|
1895
|
+
results: Array<{
|
|
1896
|
+
id: string
|
|
1897
|
+
name?: string
|
|
1898
|
+
status: "pending" | "in_progress" | "succeeded" | "partial" | "failed" | "cancelled"
|
|
1899
|
+
org_id: string
|
|
1900
|
+
counts: {
|
|
1901
|
+
total: { ... }
|
|
1902
|
+
pending: { ... }
|
|
1903
|
+
in_progress: { ... }
|
|
1904
|
+
deleted: { ... }
|
|
1905
|
+
skipped: { ... }
|
|
1906
|
+
failed: { ... }
|
|
1907
|
+
}
|
|
1908
|
+
started_at: string // date-time
|
|
1909
|
+
finished_at?: string // date-time
|
|
1910
|
+
rebuild_triggered?: boolean
|
|
1911
|
+
}>
|
|
1912
|
+
}
|
|
1913
|
+
```
|
|
1914
|
+
|
|
1915
|
+
### `DeleteJobResource`
|
|
1916
|
+
|
|
1917
|
+
Per-resource row for a delete job.
|
|
1918
|
+
|
|
1919
|
+
```ts
|
|
1920
|
+
type DeleteJobResource = {
|
|
1921
|
+
type: string
|
|
1922
|
+
id: string
|
|
1923
|
+
title?: string
|
|
1924
|
+
status: "pending" | "in_progress" | "deleted" | "skipped" | "failed"
|
|
1925
|
+
attempt: number
|
|
1926
|
+
error?: string
|
|
1927
|
+
updated_at: string // date-time
|
|
1928
|
+
}
|
|
1929
|
+
```
|
|
1930
|
+
|
|
1931
|
+
### `DeleteJobResourceListResponse`
|
|
1932
|
+
|
|
1933
|
+
Cursor-paginated list of delete job resources.
|
|
1934
|
+
|
|
1935
|
+
```ts
|
|
1936
|
+
type DeleteJobResourceListResponse = {
|
|
1937
|
+
next_cursor?: string
|
|
1938
|
+
results: Array<{
|
|
1939
|
+
type: string
|
|
1940
|
+
id: string
|
|
1941
|
+
title?: string
|
|
1942
|
+
status: "pending" | "in_progress" | "deleted" | "skipped" | "failed"
|
|
1943
|
+
attempt: number
|
|
1944
|
+
error?: string
|
|
1945
|
+
updated_at: string // date-time
|
|
1946
|
+
}>
|
|
1947
|
+
}
|
|
1948
|
+
```
|
|
1949
|
+
|
|
1950
|
+
### `SnapshotInventoryItem`
|
|
1951
|
+
|
|
1952
|
+
Minimal identity of a single configuration resource.
|
|
1953
|
+
|
|
1954
|
+
```ts
|
|
1955
|
+
type SnapshotInventoryItem = {
|
|
1956
|
+
type: "journey" | "automation_flow" | "workflow_definition" | "closing_reason" | "flow_template" | "schema" | "emailtemplate" | "product" | "price" | "tax" | "coupon" | "file" | "document_template" | "webhook" | "saved_view" | "dashboard" | "kanban" | "role" | "usergroup" | "validation_rule" | "integration" | "app" | "designbuilder" | "notification_template" | "custom_variable" | "environment_variable" | "taxonomy" | "taxonomy_classification" | "entity_mapping" | "portal_config" | "target" | "product_recommendation" | "access_token"
|
|
1957
|
+
id: string
|
|
1958
|
+
}
|
|
1959
|
+
```
|
|
1960
|
+
|
|
1961
|
+
### `SnapshotInventorySkippedType`
|
|
1962
|
+
|
|
1963
|
+
A type that could not be listed during inventory collection.
|
|
1964
|
+
|
|
1965
|
+
```ts
|
|
1966
|
+
type SnapshotInventorySkippedType = {
|
|
1967
|
+
type: string
|
|
1968
|
+
reason: string
|
|
1969
|
+
}
|
|
1970
|
+
```
|
|
1971
|
+
|
|
1972
|
+
### `ConfigInventoryResponse`
|
|
1973
|
+
|
|
1974
|
+
Fresh inventory of all configuration resources for an org.
|
|
1975
|
+
|
|
1976
|
+
```ts
|
|
1977
|
+
type ConfigInventoryResponse = {
|
|
1978
|
+
inventory_id: string
|
|
1979
|
+
org_id: string
|
|
1980
|
+
indexed_at: string // date-time
|
|
1981
|
+
resources_count: number
|
|
1982
|
+
resources: Array<{
|
|
1983
|
+
type: "journey" | "automation_flow" | "workflow_definition" | "closing_reason" | "flow_template" | "schema" | "emailtemplate" | "product" | "price" | "tax" | "coupon" | "file" | "document_template" | "webhook" | "saved_view" | "dashboard" | "kanban" | "role" | "usergroup" | "validation_rule" | "integration" | "app" | "designbuilder" | "notification_template" | "custom_variable" | "environment_variable" | "taxonomy" | "taxonomy_classification" | "entity_mapping" | "portal_config" | "target" | "product_recommendation" | "access_token"
|
|
1984
|
+
id: string
|
|
1985
|
+
}>
|
|
1986
|
+
skipped_types: Array<{
|
|
1987
|
+
type: string
|
|
1988
|
+
reason: string
|
|
1989
|
+
}>
|
|
1990
|
+
}
|
|
1991
|
+
```
|