@celigo/api-specs 0.2.19 → 0.2.21
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/ai-agent.yml +308 -36
- package/dist/connection.yml +65 -10
- package/dist/flow.yml +18 -4
- package/dist/guardrail.yml +263 -20
- package/dist/import.yml +314 -40
- package/dist/job.yml +168 -110
- package/dist/sync.yml +323 -56
- package/dist/tool.yml +863 -73
- package/package.json +1 -1
- package/schemas.json +1999 -1882
package/dist/tool.yml
CHANGED
|
@@ -382,6 +382,86 @@ paths:
|
|
|
382
382
|
- |-
|
|
383
383
|
Updates an existing tool with the provided configuration.
|
|
384
384
|
This is used for major updates to a tool's structure or behavior.
|
|
385
|
+
patch:
|
|
386
|
+
x-internal: false
|
|
387
|
+
summary: Patch a tool
|
|
388
|
+
description: |-
|
|
389
|
+
Partially updates a tool using a JSON Patch document (RFC 6902).
|
|
390
|
+
The `add`, `remove`, `replace`, and `move` operations are supported
|
|
391
|
+
(`copy` and `test` are rejected), and only on the following whitelisted
|
|
392
|
+
paths:
|
|
393
|
+
|
|
394
|
+
| Path | Description |
|
|
395
|
+
|------|-------------|
|
|
396
|
+
| `/name` | Tool display name |
|
|
397
|
+
| `/description` | Tool description |
|
|
398
|
+
| `/aiDescription` | AI-generated description object |
|
|
399
|
+
| `/input/debugUntil` | Tool Input debug capture expiry (ISO-8601, at most 1 hour in the future; 422 beyond the cap) |
|
|
400
|
+
| `/output/debugUntil` | Tool Output debug capture expiry (ISO-8601, at most 1 hour in the future; 422 beyond the cap) |
|
|
401
|
+
|
|
402
|
+
All other paths are rejected with 422 (`not a whitelisted property`).
|
|
403
|
+
|
|
404
|
+
PATCH is the intended way to update these fields without accidentally
|
|
405
|
+
resetting other tool configuration via `PUT`. In particular, it is how
|
|
406
|
+
you arm and disarm step debug capture: `replace` `/input/debugUntil` or
|
|
407
|
+
`/output/debugUntil` with a future ISO timestamp to start capturing, or
|
|
408
|
+
a past timestamp to stop. While armed, captured logs are readable at
|
|
409
|
+
`GET /v1/tools/{_id}/tool_input/requests` and
|
|
410
|
+
`GET /v1/tools/{_id}/tool_output/requests`.
|
|
411
|
+
operationId: patchTool
|
|
412
|
+
tags:
|
|
413
|
+
- Tools
|
|
414
|
+
parameters:
|
|
415
|
+
- name: _id
|
|
416
|
+
in: path
|
|
417
|
+
description: The unique identifier of the tool
|
|
418
|
+
required: true
|
|
419
|
+
schema:
|
|
420
|
+
type: string
|
|
421
|
+
format: objectId
|
|
422
|
+
x-celigo-refModel: tools
|
|
423
|
+
examples:
|
|
424
|
+
- 69d462d5b9c28ea0b7f82522
|
|
425
|
+
requestBody:
|
|
426
|
+
required: true
|
|
427
|
+
content:
|
|
428
|
+
application/json:
|
|
429
|
+
schema:
|
|
430
|
+
$ref: '#/components/schemas/JsonPatchRequest'
|
|
431
|
+
examples:
|
|
432
|
+
rename:
|
|
433
|
+
summary: Rename a tool
|
|
434
|
+
value:
|
|
435
|
+
- op: replace
|
|
436
|
+
path: /name
|
|
437
|
+
value: Updated Tool Name
|
|
438
|
+
update_description:
|
|
439
|
+
summary: Update tool description
|
|
440
|
+
value:
|
|
441
|
+
- op: replace
|
|
442
|
+
path: /description
|
|
443
|
+
value: Updated tool description
|
|
444
|
+
arm_input_debug:
|
|
445
|
+
summary: Arm input debug capture for 30 minutes
|
|
446
|
+
value:
|
|
447
|
+
- op: replace
|
|
448
|
+
path: /input/debugUntil
|
|
449
|
+
value: '2026-08-25T12:30:00.000Z'
|
|
450
|
+
disarm_output_debug:
|
|
451
|
+
summary: Disarm output debug capture
|
|
452
|
+
value:
|
|
453
|
+
- op: replace
|
|
454
|
+
path: /output/debugUntil
|
|
455
|
+
value: '2020-01-01T00:00:00.000Z'
|
|
456
|
+
responses:
|
|
457
|
+
'204':
|
|
458
|
+
description: Tool patched successfully.
|
|
459
|
+
'401':
|
|
460
|
+
$ref: '#/components/responses/401-unauthorized'
|
|
461
|
+
'404':
|
|
462
|
+
$ref: '#/components/responses/404-not-found'
|
|
463
|
+
'422':
|
|
464
|
+
$ref: '#/components/responses/422-unprocessable-entity'
|
|
385
465
|
delete:
|
|
386
466
|
x-internal: false
|
|
387
467
|
summary: Delete a tool
|
|
@@ -1348,12 +1428,20 @@ paths:
|
|
|
1348
1428
|
summary: List captured debug requests for a tool step
|
|
1349
1429
|
description: |-
|
|
1350
1430
|
Lists the debug request records captured for a specific step of a tool.
|
|
1351
|
-
These are the raw
|
|
1352
|
-
troubleshooting
|
|
1353
|
-
`GET /v1/tools/{_id}/{_stepId}/requests/{key}` to
|
|
1354
|
-
of a single captured request.
|
|
1431
|
+
These are the raw request/response payloads the step processed, retained
|
|
1432
|
+
for troubleshooting while debug capture is active for the step. Use the
|
|
1433
|
+
`key` of an entry with `GET /v1/tools/{_id}/{_stepId}/requests/{key}` to
|
|
1434
|
+
fetch the full detail of a single captured request.
|
|
1435
|
+
|
|
1436
|
+
When more records match than fit in one page, `nextPageURL` returns the
|
|
1437
|
+
relative URL for the next page.
|
|
1355
1438
|
|
|
1356
|
-
|
|
1439
|
+
**Important:** Time parameters (`time_lte`, `time_gt`) must be epoch
|
|
1440
|
+
milliseconds (integers), not ISO 8601 strings. When `time_lte` is
|
|
1441
|
+
provided, `time_gt` is also required.
|
|
1442
|
+
|
|
1443
|
+
Requires the `manage:tool:logs` permission. Returns `{requests: []}` when
|
|
1444
|
+
the step has captured no debug requests.
|
|
1357
1445
|
operationId: listToolStepRequests
|
|
1358
1446
|
tags:
|
|
1359
1447
|
- Tools
|
|
@@ -1372,14 +1460,91 @@ paths:
|
|
|
1372
1460
|
in: path
|
|
1373
1461
|
required: true
|
|
1374
1462
|
description: |-
|
|
1375
|
-
|
|
1376
|
-
|
|
1377
|
-
`
|
|
1463
|
+
The step whose captured logs to list. Either the ObjectId of an
|
|
1464
|
+
export or import step defined directly in this tool's routers, or one
|
|
1465
|
+
of the virtual step ids `tool_input` / `tool_output` (logs captured
|
|
1466
|
+
via `input.debugUntil` / `output.debugUntil`). Steps nested inside a
|
|
1467
|
+
child tool are addressed on that child tool's id. Reserved path
|
|
1468
|
+
segments such as `invocations`, `invoke`, and `test` are not valid
|
|
1469
|
+
step ids.
|
|
1378
1470
|
schema:
|
|
1379
1471
|
type: string
|
|
1380
|
-
format: objectId
|
|
1381
1472
|
examples:
|
|
1382
1473
|
- 67ee026136f4d1eeb529ad63
|
|
1474
|
+
- tool_input
|
|
1475
|
+
- tool_output
|
|
1476
|
+
- name: time_gt
|
|
1477
|
+
in: query
|
|
1478
|
+
required: false
|
|
1479
|
+
description: |-
|
|
1480
|
+
Lower bound of the time window (exclusive), as epoch milliseconds.
|
|
1481
|
+
Required when `time_lte` is provided.
|
|
1482
|
+
schema:
|
|
1483
|
+
type: integer
|
|
1484
|
+
format: int64
|
|
1485
|
+
examples:
|
|
1486
|
+
- 1776917000000
|
|
1487
|
+
- name: time_lte
|
|
1488
|
+
in: query
|
|
1489
|
+
required: false
|
|
1490
|
+
description: |-
|
|
1491
|
+
Upper bound of the time window (inclusive), as epoch milliseconds.
|
|
1492
|
+
Defaults to now if omitted. When provided, `time_gt` is also required.
|
|
1493
|
+
schema:
|
|
1494
|
+
type: integer
|
|
1495
|
+
format: int64
|
|
1496
|
+
examples:
|
|
1497
|
+
- 1776917346304
|
|
1498
|
+
- name: method
|
|
1499
|
+
in: query
|
|
1500
|
+
required: false
|
|
1501
|
+
description: |-
|
|
1502
|
+
Only return records with these HTTP methods. Repeat the parameter to
|
|
1503
|
+
filter on multiple values.
|
|
1504
|
+
style: form
|
|
1505
|
+
explode: true
|
|
1506
|
+
schema:
|
|
1507
|
+
type: array
|
|
1508
|
+
items:
|
|
1509
|
+
type: string
|
|
1510
|
+
examples:
|
|
1511
|
+
- - POST
|
|
1512
|
+
- GET
|
|
1513
|
+
- name: statusCode
|
|
1514
|
+
in: query
|
|
1515
|
+
required: false
|
|
1516
|
+
description: |-
|
|
1517
|
+
Only return records with these response status codes. Repeat the
|
|
1518
|
+
parameter to filter on multiple values.
|
|
1519
|
+
style: form
|
|
1520
|
+
explode: true
|
|
1521
|
+
schema:
|
|
1522
|
+
type: array
|
|
1523
|
+
items:
|
|
1524
|
+
type: string
|
|
1525
|
+
examples:
|
|
1526
|
+
- - '200'
|
|
1527
|
+
- '422'
|
|
1528
|
+
- name: stage
|
|
1529
|
+
in: query
|
|
1530
|
+
required: false
|
|
1531
|
+
description: |-
|
|
1532
|
+
Only return records for these processing stages. Repeat the parameter
|
|
1533
|
+
to filter on multiple values.
|
|
1534
|
+
style: form
|
|
1535
|
+
explode: true
|
|
1536
|
+
schema:
|
|
1537
|
+
type: array
|
|
1538
|
+
items:
|
|
1539
|
+
type: string
|
|
1540
|
+
- name: nextPageToken
|
|
1541
|
+
in: query
|
|
1542
|
+
required: false
|
|
1543
|
+
description: |-
|
|
1544
|
+
Continuation token for pagination. Do not construct this manually —
|
|
1545
|
+
follow the `nextPageURL` returned by the previous page instead.
|
|
1546
|
+
schema:
|
|
1547
|
+
type: string
|
|
1383
1548
|
responses:
|
|
1384
1549
|
'200':
|
|
1385
1550
|
description: |-
|
|
@@ -1396,7 +1561,31 @@ paths:
|
|
|
1396
1561
|
description: Captured debug request records.
|
|
1397
1562
|
items:
|
|
1398
1563
|
type: object
|
|
1564
|
+
description: Summary of one captured debug request.
|
|
1565
|
+
properties:
|
|
1566
|
+
key:
|
|
1567
|
+
type: string
|
|
1568
|
+
description: |-
|
|
1569
|
+
Identifier of the captured record; pass it to
|
|
1570
|
+
`GET /v1/tools/{_id}/{_stepId}/requests/{key}`.
|
|
1571
|
+
time:
|
|
1572
|
+
type: integer
|
|
1573
|
+
description: Capture time as epoch milliseconds.
|
|
1574
|
+
method:
|
|
1575
|
+
type: string
|
|
1576
|
+
description: HTTP method of the captured request.
|
|
1577
|
+
statusCode:
|
|
1578
|
+
type: string
|
|
1579
|
+
description: Response status code of the captured request.
|
|
1580
|
+
stage:
|
|
1581
|
+
type: string
|
|
1582
|
+
description: Processing stage the record was captured in.
|
|
1399
1583
|
additionalProperties: true
|
|
1584
|
+
nextPageURL:
|
|
1585
|
+
type: string
|
|
1586
|
+
description: |-
|
|
1587
|
+
Relative URL of the next page. Present only when more
|
|
1588
|
+
records match than were returned.
|
|
1400
1589
|
required:
|
|
1401
1590
|
- requests
|
|
1402
1591
|
examples:
|
|
@@ -1404,8 +1593,148 @@ paths:
|
|
|
1404
1593
|
summary: No debug requests captured
|
|
1405
1594
|
value:
|
|
1406
1595
|
requests: []
|
|
1596
|
+
populated:
|
|
1597
|
+
summary: Captured debug requests for a tool step
|
|
1598
|
+
value:
|
|
1599
|
+
requests:
|
|
1600
|
+
- key: 5481201053696-a10af1ade8fe477a847771c1e3716e36-200-POST
|
|
1601
|
+
time: 1776917346304
|
|
1602
|
+
method: POST
|
|
1603
|
+
statusCode: '200'
|
|
1604
|
+
'401':
|
|
1605
|
+
$ref: '#/components/responses/401-unauthorized'
|
|
1606
|
+
'403':
|
|
1607
|
+
$ref: '#/components/responses/403-forbidden'
|
|
1608
|
+
'404':
|
|
1609
|
+
$ref: '#/components/responses/404-not-found'
|
|
1610
|
+
'422':
|
|
1611
|
+
description: 'Invalid time filter parameters. Error code: `invalid_or_missing_field`.'
|
|
1612
|
+
content:
|
|
1613
|
+
application/json:
|
|
1614
|
+
schema:
|
|
1615
|
+
$ref: '#/components/schemas/Error'
|
|
1616
|
+
examples:
|
|
1617
|
+
invalid_time:
|
|
1618
|
+
value:
|
|
1619
|
+
errors:
|
|
1620
|
+
- code: invalid_or_missing_field
|
|
1621
|
+
message: time_lte must be an epoch millisecond value, not an ISO string.
|
|
1622
|
+
missing_time_gt:
|
|
1623
|
+
value:
|
|
1624
|
+
errors:
|
|
1625
|
+
- code: invalid_or_missing_field
|
|
1626
|
+
message: 'Invalid or Missing Field: time_gt'
|
|
1627
|
+
delete:
|
|
1628
|
+
x-internal: false
|
|
1629
|
+
summary: Delete captured debug requests for a tool step
|
|
1630
|
+
description: |-
|
|
1631
|
+
Deletes captured debug request records for a specific step of a tool, by
|
|
1632
|
+
their `key` values from `GET /v1/tools/{_id}/{_stepId}/requests`. Between
|
|
1633
|
+
1 and 1000 keys can be deleted per call.
|
|
1634
|
+
|
|
1635
|
+
The response lists the keys that were deleted and, separately, any keys
|
|
1636
|
+
that failed to delete along with the failure reason.
|
|
1637
|
+
|
|
1638
|
+
Requires the `manage:tool:logs:deletion` permission.
|
|
1639
|
+
operationId: deleteToolStepRequests
|
|
1640
|
+
tags:
|
|
1641
|
+
- Tools
|
|
1642
|
+
parameters:
|
|
1643
|
+
- name: _id
|
|
1644
|
+
in: path
|
|
1645
|
+
required: true
|
|
1646
|
+
description: The unique identifier of the tool.
|
|
1647
|
+
schema:
|
|
1648
|
+
type: string
|
|
1649
|
+
format: objectId
|
|
1650
|
+
x-celigo-refModel: tools
|
|
1651
|
+
examples:
|
|
1652
|
+
- 69d462d5b9c28ea0b7f82522
|
|
1653
|
+
- name: _stepId
|
|
1654
|
+
in: path
|
|
1655
|
+
required: true
|
|
1656
|
+
description: |-
|
|
1657
|
+
The step whose captured logs to delete. Either the ObjectId of an
|
|
1658
|
+
export or import step defined directly in this tool's routers, or one
|
|
1659
|
+
of the virtual step ids `tool_input` / `tool_output` (logs captured
|
|
1660
|
+
via `input.debugUntil` / `output.debugUntil`).
|
|
1661
|
+
schema:
|
|
1662
|
+
type: string
|
|
1663
|
+
examples:
|
|
1664
|
+
- 67ee026136f4d1eeb529ad63
|
|
1665
|
+
- tool_input
|
|
1666
|
+
- tool_output
|
|
1667
|
+
requestBody:
|
|
1668
|
+
required: true
|
|
1669
|
+
content:
|
|
1670
|
+
application/json:
|
|
1671
|
+
schema:
|
|
1672
|
+
type: object
|
|
1673
|
+
description: Keys of the captured debug requests to delete.
|
|
1674
|
+
properties:
|
|
1675
|
+
keys:
|
|
1676
|
+
type: array
|
|
1677
|
+
description: |-
|
|
1678
|
+
Keys of the records to delete, from the
|
|
1679
|
+
`GET /v1/tools/{_id}/{_stepId}/requests` listing.
|
|
1680
|
+
minItems: 1
|
|
1681
|
+
maxItems: 1000
|
|
1682
|
+
items:
|
|
1683
|
+
type: string
|
|
1684
|
+
required:
|
|
1685
|
+
- keys
|
|
1686
|
+
examples:
|
|
1687
|
+
default:
|
|
1688
|
+
summary: Delete two captured debug requests
|
|
1689
|
+
value:
|
|
1690
|
+
keys:
|
|
1691
|
+
- 5481201053696-a10af1ade8fe477a847771c1e3716e36-200-POST
|
|
1692
|
+
- 5481201048878-b21bf2bef9ff588b958882d2f4827f47-422-POST
|
|
1693
|
+
responses:
|
|
1694
|
+
'200':
|
|
1695
|
+
description: |-
|
|
1696
|
+
Deletion outcome. `deleted` lists the removed keys; `errors` lists
|
|
1697
|
+
keys that could not be removed with the failure reason.
|
|
1698
|
+
content:
|
|
1699
|
+
application/json:
|
|
1700
|
+
schema:
|
|
1701
|
+
type: object
|
|
1702
|
+
description: Deletion result envelope.
|
|
1703
|
+
properties:
|
|
1704
|
+
deleted:
|
|
1705
|
+
type: array
|
|
1706
|
+
description: Keys of the records that were deleted.
|
|
1707
|
+
items:
|
|
1708
|
+
type: string
|
|
1709
|
+
errors:
|
|
1710
|
+
type: array
|
|
1711
|
+
description: Records that failed to delete.
|
|
1712
|
+
items:
|
|
1713
|
+
type: object
|
|
1714
|
+
properties:
|
|
1715
|
+
key:
|
|
1716
|
+
type: string
|
|
1717
|
+
description: Key of the record that failed to delete.
|
|
1718
|
+
error:
|
|
1719
|
+
type: string
|
|
1720
|
+
description: Failure reason.
|
|
1721
|
+
required:
|
|
1722
|
+
- deleted
|
|
1723
|
+
- errors
|
|
1724
|
+
examples:
|
|
1725
|
+
default:
|
|
1726
|
+
summary: All requested records deleted
|
|
1727
|
+
value:
|
|
1728
|
+
deleted:
|
|
1729
|
+
- 5481201053696-a10af1ade8fe477a847771c1e3716e36-200-POST
|
|
1730
|
+
- 5481201048878-b21bf2bef9ff588b958882d2f4827f47-422-POST
|
|
1731
|
+
errors: []
|
|
1732
|
+
'400':
|
|
1733
|
+
$ref: '#/components/responses/400-bad-request'
|
|
1407
1734
|
'401':
|
|
1408
1735
|
$ref: '#/components/responses/401-unauthorized'
|
|
1736
|
+
'403':
|
|
1737
|
+
$ref: '#/components/responses/403-forbidden'
|
|
1409
1738
|
'404':
|
|
1410
1739
|
$ref: '#/components/responses/404-not-found'
|
|
1411
1740
|
/v1/tools/{_id}/{_stepId}/requests/{key}:
|
|
@@ -1416,6 +1745,14 @@ paths:
|
|
|
1416
1745
|
Returns the full detail of a single captured debug request for a tool
|
|
1417
1746
|
step, identified by its `key`. Obtain the `key` from
|
|
1418
1747
|
`GET /v1/tools/{_id}/{_stepId}/requests`.
|
|
1748
|
+
|
|
1749
|
+
The record carries the captured request/response payloads for the step,
|
|
1750
|
+
plus the `key`, record `id`, and capture `time`. For `tool_input`,
|
|
1751
|
+
`tool_output`, and ToolImport steps the stored body is the in-memory JSON
|
|
1752
|
+
record (not adaptor-masked). Router Import/Export bubbles keep existing
|
|
1753
|
+
adaptor masking.
|
|
1754
|
+
|
|
1755
|
+
Requires the `manage:tool:logs` permission.
|
|
1419
1756
|
operationId: getToolStepRequest
|
|
1420
1757
|
tags:
|
|
1421
1758
|
- Tools
|
|
@@ -1434,14 +1771,19 @@ paths:
|
|
|
1434
1771
|
in: path
|
|
1435
1772
|
required: true
|
|
1436
1773
|
description: |-
|
|
1437
|
-
|
|
1438
|
-
|
|
1439
|
-
`
|
|
1774
|
+
The step the captured request belongs to. Either the ObjectId of an
|
|
1775
|
+
export or import step defined directly in this tool's routers, or one
|
|
1776
|
+
of the virtual step ids `tool_input` / `tool_output` (logs captured
|
|
1777
|
+
via `input.debugUntil` / `output.debugUntil`). Steps nested inside a
|
|
1778
|
+
child tool are addressed on that child tool's id. Reserved path
|
|
1779
|
+
segments such as `invocations`, `invoke`, and `test` are not valid
|
|
1780
|
+
step ids.
|
|
1440
1781
|
schema:
|
|
1441
1782
|
type: string
|
|
1442
|
-
format: objectId
|
|
1443
1783
|
examples:
|
|
1444
1784
|
- 67ee026136f4d1eeb529ad63
|
|
1785
|
+
- tool_input
|
|
1786
|
+
- tool_output
|
|
1445
1787
|
- name: key
|
|
1446
1788
|
in: path
|
|
1447
1789
|
required: true
|
|
@@ -1457,18 +1799,131 @@ paths:
|
|
|
1457
1799
|
application/json:
|
|
1458
1800
|
schema:
|
|
1459
1801
|
type: object
|
|
1460
|
-
description:
|
|
1802
|
+
description: |-
|
|
1803
|
+
A single captured debug request record, including the captured
|
|
1804
|
+
request/response payloads.
|
|
1805
|
+
properties:
|
|
1806
|
+
key:
|
|
1807
|
+
type: string
|
|
1808
|
+
description: Echoes the `key` path parameter.
|
|
1809
|
+
id:
|
|
1810
|
+
type: string
|
|
1811
|
+
description: Internal storage id parsed from the log filename.
|
|
1812
|
+
time:
|
|
1813
|
+
type: integer
|
|
1814
|
+
format: int64
|
|
1815
|
+
description: Epoch milliseconds when this pair was stored.
|
|
1816
|
+
request:
|
|
1817
|
+
type: object
|
|
1818
|
+
description: |-
|
|
1819
|
+
The captured request envelope. Synthetic `tool_input` /
|
|
1820
|
+
`tool_output` / ToolImport logs store the in-memory JSON
|
|
1821
|
+
record; router Import/Export bubbles store the adaptor HTTP
|
|
1822
|
+
request.
|
|
1823
|
+
properties:
|
|
1824
|
+
method:
|
|
1825
|
+
type: string
|
|
1826
|
+
description: HTTP method (`GET`, `POST`, …). Synthetic captures use `POST`.
|
|
1827
|
+
examples:
|
|
1828
|
+
- POST
|
|
1829
|
+
url:
|
|
1830
|
+
type: string
|
|
1831
|
+
description: |-
|
|
1832
|
+
Fully-resolved URL sent. Present on adaptor HTTP
|
|
1833
|
+
captures; omitted on synthetic `tool_input` /
|
|
1834
|
+
`tool_output` / ToolImport logs.
|
|
1835
|
+
headers:
|
|
1836
|
+
type: object
|
|
1837
|
+
description: |-
|
|
1838
|
+
Headers sent with the request. Adaptor HTTP captures
|
|
1839
|
+
mask credentials; synthetic captures have no adaptor
|
|
1840
|
+
masking.
|
|
1841
|
+
additionalProperties: true
|
|
1842
|
+
body:
|
|
1843
|
+
description: |-
|
|
1844
|
+
Captured request payload. Object for synthetic
|
|
1845
|
+
`tool_input` / `tool_output` / ToolImport logs (the
|
|
1846
|
+
in-memory JSON record). String for adaptor HTTP
|
|
1847
|
+
router-bubble captures.
|
|
1848
|
+
response:
|
|
1849
|
+
type: object
|
|
1850
|
+
description: The captured response envelope.
|
|
1851
|
+
properties:
|
|
1852
|
+
statusCode:
|
|
1853
|
+
type: integer
|
|
1854
|
+
description: HTTP status code (`200` on success, `422` on schema/transform failure for synthetic captures).
|
|
1855
|
+
examples:
|
|
1856
|
+
- 200
|
|
1857
|
+
headers:
|
|
1858
|
+
type: object
|
|
1859
|
+
description: Response headers. Empty object on synthetic captures that did not issue HTTP.
|
|
1860
|
+
additionalProperties: true
|
|
1861
|
+
body:
|
|
1862
|
+
description: |-
|
|
1863
|
+
Captured response payload. Object for synthetic
|
|
1864
|
+
`tool_input` / `tool_output` / ToolImport logs. String
|
|
1865
|
+
for adaptor HTTP router-bubble captures.
|
|
1866
|
+
receivedAt:
|
|
1867
|
+
type: integer
|
|
1868
|
+
format: int64
|
|
1869
|
+
description: Epoch milliseconds when this pair was captured. Present on synthetic logs.
|
|
1870
|
+
context:
|
|
1871
|
+
type: object
|
|
1872
|
+
description: |-
|
|
1873
|
+
Run correlation for synthetic logs keyed by tool id. Present
|
|
1874
|
+
on `tool_input` / `tool_output` / ToolImport captures so the
|
|
1875
|
+
originating flow or job can be recovered; omitted on adaptor
|
|
1876
|
+
HTTP router-bubble logs.
|
|
1877
|
+
properties:
|
|
1878
|
+
_rootContainerId:
|
|
1879
|
+
type: string
|
|
1880
|
+
description: Owning flow, API, or tool id of the run that produced this capture.
|
|
1881
|
+
_jobId:
|
|
1882
|
+
type: string
|
|
1883
|
+
description: Job id of the run that produced this capture.
|
|
1461
1884
|
additionalProperties: true
|
|
1462
1885
|
examples:
|
|
1463
|
-
|
|
1464
|
-
summary:
|
|
1886
|
+
adaptor_http:
|
|
1887
|
+
summary: Router-bubble HTTP capture
|
|
1888
|
+
value:
|
|
1889
|
+
key: 5481201053696-a10af1ade8fe477a847771c1e3716e36-200-POST
|
|
1890
|
+
id: a10af1ade8fe477a847771c1e3716e36
|
|
1891
|
+
time: 1776917346304
|
|
1892
|
+
request:
|
|
1893
|
+
method: POST
|
|
1894
|
+
url: https://httpbin.org/post
|
|
1895
|
+
headers:
|
|
1896
|
+
content-type: application/json
|
|
1897
|
+
body: '{"orderId":"SO-1042"}'
|
|
1898
|
+
response:
|
|
1899
|
+
statusCode: 200
|
|
1900
|
+
headers:
|
|
1901
|
+
content-type: application/json
|
|
1902
|
+
body: '{"ok":true}'
|
|
1903
|
+
tool_input:
|
|
1904
|
+
summary: Synthetic Tool Input capture
|
|
1465
1905
|
value:
|
|
1466
|
-
key:
|
|
1467
|
-
|
|
1468
|
-
|
|
1469
|
-
|
|
1906
|
+
key: 5481201053696-b20bf2bde8fe477a847771c1e3716e36-200-POST
|
|
1907
|
+
id: b20bf2bde8fe477a847771c1e3716e36
|
|
1908
|
+
time: 1776917346304
|
|
1909
|
+
request:
|
|
1910
|
+
method: POST
|
|
1911
|
+
headers: {}
|
|
1912
|
+
body:
|
|
1913
|
+
customerId: CUST-1001
|
|
1914
|
+
response:
|
|
1915
|
+
statusCode: 200
|
|
1916
|
+
headers: {}
|
|
1917
|
+
receivedAt: 1776917346304
|
|
1918
|
+
body:
|
|
1919
|
+
customerId: CUST-1001
|
|
1920
|
+
validated: true
|
|
1921
|
+
context:
|
|
1922
|
+
_jobId: 69d462d5b9c28ea0b7f82533
|
|
1470
1923
|
'401':
|
|
1471
1924
|
$ref: '#/components/responses/401-unauthorized'
|
|
1925
|
+
'403':
|
|
1926
|
+
$ref: '#/components/responses/403-forbidden'
|
|
1472
1927
|
'404':
|
|
1473
1928
|
$ref: '#/components/responses/404-not-found'
|
|
1474
1929
|
components:
|
|
@@ -3894,6 +4349,18 @@ components:
|
|
|
3894
4349
|
format: email
|
|
3895
4350
|
transform:
|
|
3896
4351
|
$ref: '#/components/schemas/Transform'
|
|
4352
|
+
debugUntil:
|
|
4353
|
+
type: string
|
|
4354
|
+
format: date-time
|
|
4355
|
+
description: |
|
|
4356
|
+
Enables debug capture for the tool input stage until this timestamp.
|
|
4357
|
+
While it is in the future, invocations write input-stage
|
|
4358
|
+
request/response logs, listed at
|
|
4359
|
+
`GET /v1/tools/{_id}/tool_input/requests`. At most 1 hour in the
|
|
4360
|
+
future. A past timestamp (or omitting the field) stops capture.
|
|
4361
|
+
Arm/disarm with `PATCH /v1/tools/{_id}` path `/input/debugUntil`.
|
|
4362
|
+
examples:
|
|
4363
|
+
- '2026-08-25T12:30:00.000Z'
|
|
3897
4364
|
mockInput:
|
|
3898
4365
|
type: object
|
|
3899
4366
|
description: |
|
|
@@ -4039,6 +4506,18 @@ components:
|
|
|
4039
4506
|
examples:
|
|
4040
4507
|
- postProcessOutput
|
|
4041
4508
|
- validateOutput
|
|
4509
|
+
debugUntil:
|
|
4510
|
+
type: string
|
|
4511
|
+
format: date-time
|
|
4512
|
+
description: |
|
|
4513
|
+
Enables debug capture for the tool output stage until this timestamp.
|
|
4514
|
+
While it is in the future, invocations write output-stage
|
|
4515
|
+
request/response logs, listed at
|
|
4516
|
+
`GET /v1/tools/{_id}/tool_output/requests`. At most 1 hour in the
|
|
4517
|
+
future. A past timestamp (or omitting the field) stops capture.
|
|
4518
|
+
Arm/disarm with `PATCH /v1/tools/{_id}` path `/output/debugUntil`.
|
|
4519
|
+
examples:
|
|
4520
|
+
- '2026-08-25T12:30:00.000Z'
|
|
4042
4521
|
mockInput:
|
|
4043
4522
|
type: object
|
|
4044
4523
|
description: |
|
|
@@ -4597,6 +5076,41 @@ components:
|
|
|
4597
5076
|
- message
|
|
4598
5077
|
required:
|
|
4599
5078
|
- errors
|
|
5079
|
+
JsonPatchOperation:
|
|
5080
|
+
type: object
|
|
5081
|
+
description: A single JSON Patch operation (RFC 6902).
|
|
5082
|
+
required:
|
|
5083
|
+
- op
|
|
5084
|
+
- path
|
|
5085
|
+
properties:
|
|
5086
|
+
op:
|
|
5087
|
+
type: string
|
|
5088
|
+
enum:
|
|
5089
|
+
- replace
|
|
5090
|
+
- add
|
|
5091
|
+
- remove
|
|
5092
|
+
x-enumDescriptions:
|
|
5093
|
+
replace: Replaces the value at the specified path.
|
|
5094
|
+
add: Sets the value at the specified path.
|
|
5095
|
+
remove: Removes the value at the specified path.
|
|
5096
|
+
description: The operation to perform.
|
|
5097
|
+
path:
|
|
5098
|
+
type: string
|
|
5099
|
+
description: |-
|
|
5100
|
+
JSON Pointer (RFC 6901) to the field to patch. Only
|
|
5101
|
+
whitelisted paths are accepted — unlisted paths return
|
|
5102
|
+
`422` with `"<path> is not a whitelisted property"`.
|
|
5103
|
+
value:
|
|
5104
|
+
description: The new value to set. Required for `replace` and `add`, omit for `remove`.
|
|
5105
|
+
JsonPatchRequest:
|
|
5106
|
+
type: array
|
|
5107
|
+
description: |-
|
|
5108
|
+
A JSON Patch document (RFC 6902). Send an array of patch
|
|
5109
|
+
operations on whitelisted fields — all other paths are rejected
|
|
5110
|
+
with 422.
|
|
5111
|
+
minItems: 1
|
|
5112
|
+
items:
|
|
5113
|
+
$ref: '#/components/schemas/JsonPatchOperation'
|
|
4600
5114
|
IAResourceResponse:
|
|
4601
5115
|
type: object
|
|
4602
5116
|
description: Integration app response fields for resources that are part of integration apps
|
|
@@ -4887,11 +5401,13 @@ components:
|
|
|
4887
5401
|
When true, rate-limit errors from the target system trigger automatic recovery: concurrency
|
|
4888
5402
|
drops to 1, the rate-limited requests are retried with doubling waits (1 to 1024 minutes,
|
|
4889
5403
|
after which the flag switches itself off), and concurrency climbs back toward
|
|
4890
|
-
`targetConcurrencyLevel`. While true, `
|
|
4891
|
-
|
|
5404
|
+
`targetConcurrencyLevel`. While true, `targetConcurrencyLevel` is the throughput lever: a
|
|
5405
|
+
`concurrencyLevel` sent in a PUT is ignored, and one sent in a PATCH is stored but the
|
|
5406
|
+
recovery machinery moves it back toward the target.
|
|
4892
5407
|
x-celigo-ai-guidance:
|
|
4893
|
-
- To change throughput while this is true, write `targetConcurrencyLevel`; a `concurrencyLevel`
|
|
4894
|
-
- Turning it on copies `concurrencyLevel` into `targetConcurrencyLevel`; turning it off
|
|
5408
|
+
- To change throughput while this is true, write `targetConcurrencyLevel`; a `concurrencyLevel` sent in a PUT returns 200 and changes nothing.
|
|
5409
|
+
- Turning it on copies `concurrencyLevel` into `targetConcurrencyLevel`; turning it off unsets the target and leaves `concurrencyLevel` at its current value, which may be below the old target if a recovery was in progress. A `targetConcurrencyLevel` written while this is false is unset by the save.
|
|
5410
|
+
- These four settings (`concurrencyLevel`, `targetConcurrencyLevel`, `_borrowConcurrencyFromConnectionId`, this flag) accept a credential-free `PATCH /v1/connections/{_id}`. A PUT must re-send the credentials — omitting them or echoing their masked `******` values clears them.
|
|
4895
5411
|
enableMicroBatchForOneToMany:
|
|
4896
5412
|
type: boolean
|
|
4897
5413
|
default: true
|
|
@@ -6168,7 +6684,7 @@ components:
|
|
|
6168
6684
|
Higher values increase throughput but may trigger API rate limits.
|
|
6169
6685
|
Set this based on the target API's rate limit documentation.
|
|
6170
6686
|
Values above the account's licensed maximum (25 standard, 50 with an Environments license) are silently clamped down.
|
|
6171
|
-
Platform-managed while `autoRecoverRateLimitErrors` is true —
|
|
6687
|
+
Platform-managed while `autoRecoverRateLimitErrors` is true — a PUT ignores the value and the recovery machinery moves it toward the target; set `targetConcurrencyLevel` instead.
|
|
6172
6688
|
minimum: 1
|
|
6173
6689
|
maximum: 50
|
|
6174
6690
|
default: 25
|
|
@@ -16602,7 +17118,7 @@ components:
|
|
|
16602
17118
|
For most file imports, you need at minimum:
|
|
16603
17119
|
- `fileName`: The output file name (supports Handlebars like `{{timestamp}}`)
|
|
16604
17120
|
- `type`: The file format (json, csv, xml, xlsx)
|
|
16605
|
-
- `
|
|
17121
|
+
- `aggregation.type`: How the run's records are batched into files (`all` for one file per run)
|
|
16606
17122
|
|
|
16607
17123
|
**Example (S3 Import)**
|
|
16608
17124
|
|
|
@@ -16610,7 +17126,7 @@ components:
|
|
|
16610
17126
|
{
|
|
16611
17127
|
"file": {
|
|
16612
17128
|
"fileName": "customers-{{timestamp}}.json",
|
|
16613
|
-
"
|
|
17129
|
+
"aggregation": { "type": "all" },
|
|
16614
17130
|
"type": "json"
|
|
16615
17131
|
},
|
|
16616
17132
|
"s3": {
|
|
@@ -16652,18 +17168,22 @@ components:
|
|
|
16652
17168
|
skipAggregation:
|
|
16653
17169
|
type: boolean
|
|
16654
17170
|
description: |-
|
|
16655
|
-
|
|
16656
|
-
|
|
16657
|
-
|
|
16658
|
-
|
|
16659
|
-
|
|
16660
|
-
|
|
16661
|
-
**When to use**
|
|
16662
|
-
- **`false`**: Standard batch imports where all records go into one file
|
|
16663
|
-
- **`true`**: When each record needs its own file (e.g., individual documents)
|
|
16664
|
-
|
|
16665
|
-
**Default:** `false`
|
|
17171
|
+
Legacy companion of `aggregation.type`: `true` when the run's records are written one
|
|
17172
|
+
file per page, `false` when they are combined across the run or grouped by key.
|
|
17173
|
+
Validation reads the value sent — an EDI file definition needs `true` unless
|
|
17174
|
+
`aggregation.type` is `key`, and `batchSize` needs `true` — then the save rewrites it
|
|
17175
|
+
from `aggregation.type`, so send the two as a consistent pair.
|
|
16666
17176
|
default: false
|
|
17177
|
+
x-celigo-ai-guidance:
|
|
17178
|
+
- |-
|
|
17179
|
+
Send `skipAggregation` and `aggregation.type` as a consistent pair, exactly as the UI
|
|
17180
|
+
does: `page` with `true`; `all` or `key` with `false`. Validation reads the SENT flag —
|
|
17181
|
+
a `file.type: filedefinition` import saved with `page` and no `skipAggregation: true`
|
|
17182
|
+
fails with 422 `not_supported` ("Aggregation is not supported for EDI files, please set
|
|
17183
|
+
skipAggregation to true in Imports"), and `batchSize` fails with 422 `not_supported`
|
|
17184
|
+
("File imports do not support batching with aggregation") unless the sent flag is
|
|
17185
|
+
`true`. The SAVED flag is then derived from `aggregation.type`, so this flag alone never
|
|
17186
|
+
says which mode is active — read `aggregation.type`. It does not mean one file per record.
|
|
16667
17187
|
type:
|
|
16668
17188
|
type: string
|
|
16669
17189
|
enum:
|
|
@@ -16769,7 +17289,15 @@ components:
|
|
|
16769
17289
|
- When target system has file size limitations
|
|
16770
17290
|
|
|
16771
17291
|
**Note**
|
|
16772
|
-
-
|
|
17292
|
+
- Offered when records are written one file per page (`aggregation.type: page` with
|
|
17293
|
+
`skipAggregation: true`)
|
|
17294
|
+
x-celigo-ai-guidance:
|
|
17295
|
+
- |-
|
|
17296
|
+
Probed for `all` and `page`: the save rejects `batchSize` with 422 `not_supported`
|
|
17297
|
+
("File imports do not support batching with aggregation") when the sent
|
|
17298
|
+
`skipAggregation` is not `true`, and accepts it with `page` + `skipAggregation: true`.
|
|
17299
|
+
The `key` + `batchSize` combination has not been probed (it needs a B2B Manager
|
|
17300
|
+
account) — treat it as unverified, neither allowed nor forbidden.
|
|
16773
17301
|
encrypt:
|
|
16774
17302
|
type: boolean
|
|
16775
17303
|
description: |-
|
|
@@ -16875,21 +17403,45 @@ components:
|
|
|
16875
17403
|
aggregation:
|
|
16876
17404
|
type: object
|
|
16877
17405
|
description: |-
|
|
16878
|
-
Controls how records are batched into output files
|
|
16879
|
-
|
|
17406
|
+
Controls how a flow run's records are batched into output files — the transfer form's
|
|
17407
|
+
"How many files would you like to generate?" setting. The legacy `skipAggregation` flag
|
|
17408
|
+
mirrors `type` and is maintained by the platform.
|
|
16880
17409
|
properties:
|
|
16881
17410
|
type:
|
|
16882
17411
|
type: string
|
|
16883
17412
|
enum:
|
|
16884
17413
|
- all
|
|
16885
17414
|
- page
|
|
17415
|
+
- key
|
|
16886
17416
|
x-enumDescriptions:
|
|
16887
|
-
all:
|
|
16888
|
-
page:
|
|
16889
|
-
|
|
17417
|
+
all: One file per flow run — every record from the run (per export, or per request on real-time flows) in a single file
|
|
17418
|
+
page: One file per page of records
|
|
17419
|
+
key: One file per aggregation key — EDI file definitions only; records sharing the key derived from the file definition's document type are combined into one document
|
|
17420
|
+
description: |-
|
|
17421
|
+
Which batches of a run's records become separate output files. EDI file definitions
|
|
17422
|
+
(`file.type: filedefinition`) are written per page or per key, never per run; `key`
|
|
17423
|
+
is accepted only for them and only when the account has B2B Manager. The grouping
|
|
17424
|
+
key and the line-item loop it merges come from the EDI file definition's document
|
|
17425
|
+
type, so there is no separate key field to configure.
|
|
16890
17426
|
examples:
|
|
16891
17427
|
- all
|
|
16892
17428
|
- page
|
|
17429
|
+
- key
|
|
17430
|
+
x-celigo-ai-guidance:
|
|
17431
|
+
- |-
|
|
17432
|
+
Validated on save: an unknown value fails with 422 `enum`; `key` fails with 422
|
|
17433
|
+
`not_supported` unless `file.type` is `filedefinition` ("Aggregation type key is
|
|
17434
|
+
only supported for file type filedefinition") and the account has B2B Manager
|
|
17435
|
+
("Aggregation type key is only supported for B2B Manager").
|
|
17436
|
+
- |-
|
|
17437
|
+
For `file.type: filedefinition` send `page` (with `skipAggregation: true`) or `key`
|
|
17438
|
+
(with `false`); `all` is not an EDI option — the validator enforces this through the
|
|
17439
|
+
`skipAggregation` rule (see that field). For every other file type the choices are
|
|
17440
|
+
`all` and `page`. The UI offers exactly these splits.
|
|
17441
|
+
- |-
|
|
17442
|
+
A user asking where the "aggregation key" is configured is asking about this
|
|
17443
|
+
field: the key itself is derived from the file definition's document type, never
|
|
17444
|
+
entered.
|
|
16893
17445
|
lookups:
|
|
16894
17446
|
type: array
|
|
16895
17447
|
description: |-
|
|
@@ -17140,14 +17692,22 @@ components:
|
|
|
17140
17692
|
AI Agent configuration used by both AiAgentImport and GuardrailImport (ai_agent type).
|
|
17141
17693
|
|
|
17142
17694
|
Configures which AI provider and model to use, along with instructions, parameter
|
|
17143
|
-
tuning, output format, and available tools.
|
|
17144
|
-
|
|
17145
|
-
|
|
17146
|
-
- **
|
|
17147
|
-
|
|
17148
|
-
|
|
17149
|
-
|
|
17150
|
-
|
|
17695
|
+
tuning, output format, and available tools. Providers come in two families with
|
|
17696
|
+
two configuration formats:
|
|
17697
|
+
|
|
17698
|
+
- **Built-in providers** — each has its own configuration block.
|
|
17699
|
+
- **openai**: OpenAI models (GPT-4.1, GPT-5, etc.). Configure via the `openai` object.
|
|
17700
|
+
- **gemini**: Google Gemini models via the LiteLLM proxy. Configure via `litellm` with overrides in `litellm._overrides.gemini`.
|
|
17701
|
+
- **anthropic**: Anthropic Claude models via the LiteLLM proxy. Configure via `litellm` with overrides in `litellm._overrides.anthropic`.
|
|
17702
|
+
- **Catalog providers** — `mistral`, `xai`, `huggingface`, `deepseek`, `cohere`, `groq`. Added
|
|
17703
|
+
as catalog data rather than platform code, they share one generic flat format:
|
|
17704
|
+
`model`, `modelOptions`, `instructions`, `output`, and the `tools` / `prompts` /
|
|
17705
|
+
`resources` arrays directly on this object.
|
|
17706
|
+
|
|
17707
|
+
A `_connectionId` on the parent import selects bring-your-own-key (BYOK)
|
|
17708
|
+
credentials. Without one, built-in providers run on platform-managed
|
|
17709
|
+
credentials; catalog providers have no platform-managed credentials, so they
|
|
17710
|
+
save without a connection but cannot run until one is attached.
|
|
17151
17711
|
required:
|
|
17152
17712
|
- provider
|
|
17153
17713
|
properties:
|
|
@@ -17157,18 +17717,224 @@ components:
|
|
|
17157
17717
|
- openai
|
|
17158
17718
|
- gemini
|
|
17159
17719
|
- anthropic
|
|
17720
|
+
- mistral
|
|
17721
|
+
- xai
|
|
17722
|
+
- huggingface
|
|
17723
|
+
- deepseek
|
|
17724
|
+
- cohere
|
|
17725
|
+
- groq
|
|
17160
17726
|
x-enumDescriptions:
|
|
17161
|
-
openai: Use OpenAI models via the OpenAI Responses API.
|
|
17162
|
-
gemini: Use Google Gemini models via the LiteLLM proxy.
|
|
17163
|
-
anthropic: Use Anthropic Claude models via the LiteLLM proxy.
|
|
17727
|
+
openai: Use OpenAI models via the OpenAI Responses API (built-in; `openai` block).
|
|
17728
|
+
gemini: Use Google Gemini models via the LiteLLM proxy (built-in; `litellm` block).
|
|
17729
|
+
anthropic: Use Anthropic Claude models via the LiteLLM proxy (built-in; `litellm` block).
|
|
17730
|
+
mistral: Use Mistral models (catalog provider; generic flat format, BYOK).
|
|
17731
|
+
xai: Use xAI Grok models (catalog provider; generic flat format, BYOK).
|
|
17732
|
+
huggingface: Use Hugging Face inference endpoint models (catalog provider; generic flat format, BYOK).
|
|
17733
|
+
deepseek: Use DeepSeek models (catalog provider; generic flat format, BYOK).
|
|
17734
|
+
cohere: Use Cohere models (catalog provider; generic flat format, BYOK).
|
|
17735
|
+
groq: Use Groq-hosted models (catalog provider; generic flat format, BYOK).
|
|
17164
17736
|
description: AI provider to use.
|
|
17165
17737
|
x-celigo-ai-guidance:
|
|
17166
17738
|
- |-
|
|
17167
|
-
|
|
17168
|
-
|
|
17169
|
-
|
|
17170
|
-
-
|
|
17171
|
-
|
|
17739
|
+
The provider decides the configuration format, and the server rejects a
|
|
17740
|
+
mismatch with 422 `invalid_provider_config_format`: `openai` needs the
|
|
17741
|
+
`openai` block, `gemini` and `anthropic` need the `litellm` block (Gemini- or
|
|
17742
|
+
Claude-specific settings under `litellm._overrides`), and the catalog
|
|
17743
|
+
providers (`mistral`, `xai`, `huggingface`, `deepseek`, `cohere`, `groq`) need the
|
|
17744
|
+
generic flat format — `model` and `modelOptions` directly on this object,
|
|
17745
|
+
never an `openai` or `litellm` block.
|
|
17746
|
+
- |-
|
|
17747
|
+
Catalog providers are BYOK-only at run time: the agent saves without a
|
|
17748
|
+
`_connectionId`, but its first run fails with 422 `invalid_request` ("No API
|
|
17749
|
+
key configured for provider …"). Always attach an HTTP connection to the
|
|
17750
|
+
vendor's API (token auth) when the provider is a catalog provider.
|
|
17751
|
+
model:
|
|
17752
|
+
type: string
|
|
17753
|
+
description: |-
|
|
17754
|
+
Model identifier for a catalog provider (generic flat format) — for example
|
|
17755
|
+
`grok-4.6`. Built-in providers set the model inside their own block
|
|
17756
|
+
(`openai.model`, `litellm.model`) instead.
|
|
17757
|
+
x-celigo-ai-guidance:
|
|
17758
|
+
- |-
|
|
17759
|
+
Required for every catalog provider — omitting it or sending an empty string
|
|
17760
|
+
fails the save with 422 `missing_required_field`.
|
|
17761
|
+
- |-
|
|
17762
|
+
Without a `_connectionId` on the parent import the model must be one the
|
|
17763
|
+
catalog lists for the provider: an unknown id fails the save with 422
|
|
17764
|
+
`model_not_found`, a listed-but-disabled id with 422 `model_disabled`. With a
|
|
17765
|
+
`_connectionId` (BYOK) any model string saves — the server does not check it
|
|
17766
|
+
against the catalog or the vendor.
|
|
17767
|
+
modelOptions:
|
|
17768
|
+
type: object
|
|
17769
|
+
description: |-
|
|
17770
|
+
Model tuning for a catalog provider (generic flat format). Which keys, values, and
|
|
17771
|
+
ranges are accepted is defined per catalog model and validated on save when the
|
|
17772
|
+
model is a catalog entry.
|
|
17773
|
+
properties:
|
|
17774
|
+
maxOutputTokens:
|
|
17775
|
+
type: number
|
|
17776
|
+
description: Maximum number of tokens the model may generate.
|
|
17777
|
+
temperature:
|
|
17778
|
+
type: number
|
|
17779
|
+
description: Sampling temperature.
|
|
17780
|
+
topP:
|
|
17781
|
+
type: number
|
|
17782
|
+
description: Nucleus sampling threshold.
|
|
17783
|
+
reasoning_effort:
|
|
17784
|
+
type: string
|
|
17785
|
+
enum:
|
|
17786
|
+
- low
|
|
17787
|
+
- medium
|
|
17788
|
+
- high
|
|
17789
|
+
- xhigh
|
|
17790
|
+
x-enumDescriptions:
|
|
17791
|
+
low: Minimal reasoning before answering.
|
|
17792
|
+
medium: Moderate reasoning.
|
|
17793
|
+
high: Extensive reasoning.
|
|
17794
|
+
xhigh: Maximum reasoning.
|
|
17795
|
+
description: Reasoning depth for models that expose it.
|
|
17796
|
+
x-celigo-ai-guidance:
|
|
17797
|
+
- |-
|
|
17798
|
+
When the model is a catalog entry, the server validates this object against
|
|
17799
|
+
that model's schema and fails the save with 422 `invalid_model_options`
|
|
17800
|
+
naming the key: unknown keys are rejected, `reasoning_effort` must be one of
|
|
17801
|
+
the enum values where the model accepts it at all (xAI's `grok-4.6` does;
|
|
17802
|
+
DeepSeek's `deepseek-chat` rejects the key), and numeric bounds apply —
|
|
17803
|
+
on `grok-4.6`, `temperature` ≤ 2, `topP` ≤ 1, `maxOutputTokens` ≥ 100.
|
|
17804
|
+
- |-
|
|
17805
|
+
With a `_connectionId` and a model the catalog does not list, the object is
|
|
17806
|
+
passed through unvalidated — send only options the vendor's API accepts.
|
|
17807
|
+
instructions:
|
|
17808
|
+
type: string
|
|
17809
|
+
description: |-
|
|
17810
|
+
System prompt for a catalog provider (generic flat format). Built-in providers
|
|
17811
|
+
set it inside their own block (`openai.instructions`,
|
|
17812
|
+
`litellm._overrides.anthropic.systemInstruction`).
|
|
17813
|
+
output:
|
|
17814
|
+
type: object
|
|
17815
|
+
description: |-
|
|
17816
|
+
Output format for a catalog provider (generic flat format). Built-in providers
|
|
17817
|
+
configure it inside their own block (`openai.output`, `litellm.responseFormat`).
|
|
17818
|
+
properties:
|
|
17819
|
+
format:
|
|
17820
|
+
type: object
|
|
17821
|
+
description: Controls the structure of the model's output.
|
|
17822
|
+
properties:
|
|
17823
|
+
type:
|
|
17824
|
+
type: string
|
|
17825
|
+
enum:
|
|
17826
|
+
- text
|
|
17827
|
+
- json_schema
|
|
17828
|
+
x-enumDescriptions:
|
|
17829
|
+
text: Free-form text.
|
|
17830
|
+
json_schema: Structured JSON conforming to `jsonSchema`.
|
|
17831
|
+
description: Output type.
|
|
17832
|
+
x-celigo-ai-guidance:
|
|
17833
|
+
- |-
|
|
17834
|
+
`blob` is not accepted here — the save fails with 422
|
|
17835
|
+
`unsupported_output_format` naming the model (verified on `grok-4.6`).
|
|
17836
|
+
name:
|
|
17837
|
+
type: string
|
|
17838
|
+
description: Name of the JSON schema, for `json_schema` output.
|
|
17839
|
+
strict:
|
|
17840
|
+
type: boolean
|
|
17841
|
+
description: When true, the model must conform exactly to `jsonSchema`.
|
|
17842
|
+
jsonSchema:
|
|
17843
|
+
type: object
|
|
17844
|
+
additionalProperties: true
|
|
17845
|
+
description: JSON Schema the structured output must conform to, for `json_schema` output.
|
|
17846
|
+
verbose:
|
|
17847
|
+
type: string
|
|
17848
|
+
description: Level of detail in the model's response, for models that expose it.
|
|
17849
|
+
tools:
|
|
17850
|
+
type: array
|
|
17851
|
+
description: |-
|
|
17852
|
+
Tools available to a catalog-provider agent (generic flat format). Entries mirror
|
|
17853
|
+
the built-in providers' tool entries: a Celigo Tool by `_toolId`, an MCP server by
|
|
17854
|
+
`_mcpConnectionId`, or a vendor web-search tool.
|
|
17855
|
+
items:
|
|
17856
|
+
type: object
|
|
17857
|
+
properties:
|
|
17858
|
+
type:
|
|
17859
|
+
type: string
|
|
17860
|
+
enum:
|
|
17861
|
+
- tool
|
|
17862
|
+
- mcp
|
|
17863
|
+
- web_search
|
|
17864
|
+
x-enumDescriptions:
|
|
17865
|
+
tool: Reference a reusable Celigo Tool resource.
|
|
17866
|
+
mcp: Connect to an MCP server for additional external tools.
|
|
17867
|
+
web_search: Search the web for real-time information, where the vendor's model supports it.
|
|
17868
|
+
description: Type of tool entry.
|
|
17869
|
+
tool:
|
|
17870
|
+
type: object
|
|
17871
|
+
description: Reference to a Celigo Tool resource, used when type is "tool".
|
|
17872
|
+
properties:
|
|
17873
|
+
_toolId:
|
|
17874
|
+
type: string
|
|
17875
|
+
format: objectId
|
|
17876
|
+
x-celigo-refModel: tools
|
|
17877
|
+
description: The Celigo Tool to call.
|
|
17878
|
+
mcp:
|
|
17879
|
+
type: object
|
|
17880
|
+
description: MCP server connection, used when type is "mcp".
|
|
17881
|
+
properties:
|
|
17882
|
+
_mcpConnectionId:
|
|
17883
|
+
type: string
|
|
17884
|
+
format: objectId
|
|
17885
|
+
x-celigo-refModel: connections
|
|
17886
|
+
description: Connection to the MCP server.
|
|
17887
|
+
allowedTools:
|
|
17888
|
+
type: array
|
|
17889
|
+
description: |-
|
|
17890
|
+
Specific tools to allow from the MCP server (all if omitted). Each entry
|
|
17891
|
+
is either a plain tool name or an object carrying display metadata.
|
|
17892
|
+
items:
|
|
17893
|
+
type:
|
|
17894
|
+
- string
|
|
17895
|
+
- object
|
|
17896
|
+
config:
|
|
17897
|
+
type: object
|
|
17898
|
+
additionalProperties: true
|
|
17899
|
+
description: Tool-specific options for vendor-native tools (for example web-search settings).
|
|
17900
|
+
x-celigo-ai-guidance:
|
|
17901
|
+
- |-
|
|
17902
|
+
References are checked on save: an unknown `_toolId` or `_mcpConnectionId`
|
|
17903
|
+
fails with 422 `invalid_ref` naming the array index.
|
|
17904
|
+
prompts:
|
|
17905
|
+
type: array
|
|
17906
|
+
description: |-
|
|
17907
|
+
MCP prompt entries available to a catalog-provider agent (generic flat format).
|
|
17908
|
+
Each entry references one MCP connection and the prompt names allowed from it.
|
|
17909
|
+
items:
|
|
17910
|
+
type: object
|
|
17911
|
+
properties:
|
|
17912
|
+
type:
|
|
17913
|
+
type: string
|
|
17914
|
+
enum:
|
|
17915
|
+
- mcp
|
|
17916
|
+
x-enumDescriptions:
|
|
17917
|
+
mcp: Reference prompts exposed by an MCP server.
|
|
17918
|
+
description: Type of prompt entry. Always "mcp".
|
|
17919
|
+
mcp:
|
|
17920
|
+
type: object
|
|
17921
|
+
properties:
|
|
17922
|
+
_mcpConnectionId:
|
|
17923
|
+
type: string
|
|
17924
|
+
format: objectId
|
|
17925
|
+
x-celigo-refModel: connections
|
|
17926
|
+
description: Connection to the MCP server that exposes the prompts.
|
|
17927
|
+
allowedPrompts:
|
|
17928
|
+
type: array
|
|
17929
|
+
description: Prompt names the agent may fetch from the server.
|
|
17930
|
+
items:
|
|
17931
|
+
type: string
|
|
17932
|
+
x-celigo-ai-guidance:
|
|
17933
|
+
- |-
|
|
17934
|
+
An unknown `_mcpConnectionId` fails the save with 422 `invalid_ref` naming
|
|
17935
|
+
the array index.
|
|
17936
|
+
resources:
|
|
17937
|
+
$ref: '#/components/schemas/McpResources'
|
|
17172
17938
|
openai:
|
|
17173
17939
|
type: object
|
|
17174
17940
|
description: |
|
|
@@ -17199,10 +17965,11 @@ components:
|
|
|
17199
17965
|
x-celigo-ai-guidance:
|
|
17200
17966
|
- |-
|
|
17201
17967
|
With platform-managed credentials (no `_connectionId` on the parent
|
|
17202
|
-
import), the model must be
|
|
17203
|
-
unlisted model
|
|
17204
|
-
|
|
17205
|
-
|
|
17968
|
+
import), the model must be one the platform hosts. The save does not
|
|
17969
|
+
check this — an unlisted model saves, and the agent's first run fails
|
|
17970
|
+
with 422 `invalid_model`, whose message lists the hosted models. A
|
|
17971
|
+
BYOK connection bypasses the hosted list and the model string is
|
|
17972
|
+
passed through to the provider as-is.
|
|
17206
17973
|
reasoning:
|
|
17207
17974
|
type: object
|
|
17208
17975
|
description: Controls depth of reasoning for complex tasks.
|
|
@@ -17605,6 +18372,13 @@ components:
|
|
|
17605
18372
|
- claude-sonnet-4-6
|
|
17606
18373
|
- claude-opus-4-7
|
|
17607
18374
|
x-celigo-ui-override: Required by the AI agent configuration form. Encoded here to mirror the form so builders produce connectable configurations.
|
|
18375
|
+
x-celigo-ai-guidance:
|
|
18376
|
+
- |-
|
|
18377
|
+
With platform-managed credentials (no `_connectionId` on the parent
|
|
18378
|
+
import), the model must be one the platform hosts for the provider —
|
|
18379
|
+
Gemini and Anthropic Claude both have a hosted list. The save does not
|
|
18380
|
+
check this — an unlisted model saves, and the agent's first run fails
|
|
18381
|
+
with 422 `invalid_model`, whose message lists the hosted models.
|
|
17608
18382
|
temperature:
|
|
17609
18383
|
type: number
|
|
17610
18384
|
minimum: 0
|
|
@@ -18259,6 +19033,22 @@ components:
|
|
|
18259
19033
|
litellm:
|
|
18260
19034
|
required:
|
|
18261
19035
|
- model
|
|
19036
|
+
else:
|
|
19037
|
+
if:
|
|
19038
|
+
properties:
|
|
19039
|
+
provider:
|
|
19040
|
+
enum:
|
|
19041
|
+
- mistral
|
|
19042
|
+
- xai
|
|
19043
|
+
- huggingface
|
|
19044
|
+
- deepseek
|
|
19045
|
+
- cohere
|
|
19046
|
+
- groq
|
|
19047
|
+
required:
|
|
19048
|
+
- provider
|
|
19049
|
+
then:
|
|
19050
|
+
required:
|
|
19051
|
+
- model
|
|
18262
19052
|
GuardrailConfig:
|
|
18263
19053
|
type: object
|
|
18264
19054
|
description: |-
|
|
@@ -20028,7 +20818,7 @@ components:
|
|
|
20028
20818
|
MongodbImport: MongoDB database import for document-based operations.
|
|
20029
20819
|
DynamodbImport: Amazon DynamoDB import for NoSQL table operations.
|
|
20030
20820
|
WrapperImport: Custom adaptor import built outside of Celigo (rarely used).
|
|
20031
|
-
AiAgentImport: AI agent import using OpenAI, Gemini,
|
|
20821
|
+
AiAgentImport: AI agent import using OpenAI, Gemini, Anthropic Claude, or a BYOK catalog provider (Mistral, xAI, Hugging Face, DeepSeek, Cohere, Groq) for data processing.
|
|
20032
20822
|
GuardrailImport: Safety and compliance check import for PII detection, moderation, or AI evaluation.
|
|
20033
20823
|
FileSystemImport: Local or network file system import.
|
|
20034
20824
|
ToolImport: Import that executes a reusable Celigo Tool resource.
|
|
@@ -33152,9 +33942,9 @@ components:
|
|
|
33152
33942
|
errors:
|
|
33153
33943
|
- code: dependencies_not_deleted
|
|
33154
33944
|
message: export 6902d88c10b42b2eaac9b2a1 must be deleted before you can delete connection 6398ddf316be761fb16a6523
|
|
33155
|
-
|
|
33945
|
+
422-unprocessable-entity:
|
|
33156
33946
|
description: |
|
|
33157
|
-
|
|
33947
|
+
Unprocessable entity. The request was well-formed but was unable to be followed due to semantic errors.
|
|
33158
33948
|
content:
|
|
33159
33949
|
application/json:
|
|
33160
33950
|
schema:
|
|
@@ -33163,11 +33953,11 @@ components:
|
|
|
33163
33953
|
default:
|
|
33164
33954
|
value:
|
|
33165
33955
|
errors:
|
|
33166
|
-
- code:
|
|
33167
|
-
message:
|
|
33168
|
-
|
|
33956
|
+
- code: unprocessable_entity
|
|
33957
|
+
message: The request could not be processed due to a semantic error.
|
|
33958
|
+
403-forbidden:
|
|
33169
33959
|
description: |
|
|
33170
|
-
|
|
33960
|
+
Forbidden. The authenticated caller does not have permission to perform this operation.
|
|
33171
33961
|
content:
|
|
33172
33962
|
application/json:
|
|
33173
33963
|
schema:
|
|
@@ -33176,7 +33966,7 @@ components:
|
|
|
33176
33966
|
default:
|
|
33177
33967
|
value:
|
|
33178
33968
|
errors:
|
|
33179
|
-
- code:
|
|
33180
|
-
message:
|
|
33969
|
+
- code: forbidden
|
|
33970
|
+
message: You do not have permission to access this resource.
|
|
33181
33971
|
x-enable-proxy: true
|
|
33182
33972
|
x-internal: false
|