@celigo/api-specs 0.2.192 → 0.2.194
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/api.yml +75 -20
- package/dist/connection.yml +76 -21
- package/dist/enduser.yml +75 -20
- package/dist/mcp-server.yml +1130 -40
- package/dist/tool.yml +75 -20
- package/package.json +1 -1
- package/schemas.json +2 -2
package/dist/mcp-server.yml
CHANGED
|
@@ -226,6 +226,118 @@ paths:
|
|
|
226
226
|
$ref: '#/components/responses/401-unauthorized'
|
|
227
227
|
'422':
|
|
228
228
|
$ref: '#/components/responses/422-unprocessable-entity'
|
|
229
|
+
/v1/mcpservers/logs/filter-options:
|
|
230
|
+
get:
|
|
231
|
+
x-internal: false
|
|
232
|
+
operationId: getMcpServerRequestLogFilterOptions
|
|
233
|
+
tags:
|
|
234
|
+
- MCP Servers
|
|
235
|
+
summary: Get MCP request log filter options
|
|
236
|
+
description: |-
|
|
237
|
+
Returns the filter values to offer for `GET /v1/mcpservers/{_id}/logs`: the JSON-RPC
|
|
238
|
+
methods to pick from and the closed set of `status` outcomes. The `method` list is not
|
|
239
|
+
an allow-list — the list operation's `method` filter also takes the underscore form
|
|
240
|
+
(`tools_call`), methods this endpoint does not list (`initialize`), and an unknown value,
|
|
241
|
+
which returns an empty page. The options are the same for every MCP server, so this
|
|
242
|
+
endpoint takes no server id.
|
|
243
|
+
parameters:
|
|
244
|
+
- name: type
|
|
245
|
+
in: query
|
|
246
|
+
required: false
|
|
247
|
+
description: Return only one option list. Omit to return both.
|
|
248
|
+
schema:
|
|
249
|
+
type: string
|
|
250
|
+
enum:
|
|
251
|
+
- method
|
|
252
|
+
- status
|
|
253
|
+
x-enumDescriptions:
|
|
254
|
+
method: Return only the `method` list.
|
|
255
|
+
status: Return only the `status` list.
|
|
256
|
+
examples:
|
|
257
|
+
- method
|
|
258
|
+
responses:
|
|
259
|
+
'200':
|
|
260
|
+
description: Filter values. A list is present when `type` is omitted or names it.
|
|
261
|
+
content:
|
|
262
|
+
application/json:
|
|
263
|
+
schema:
|
|
264
|
+
type: object
|
|
265
|
+
description: Filter values by filter name.
|
|
266
|
+
properties:
|
|
267
|
+
method:
|
|
268
|
+
type: array
|
|
269
|
+
description: |-
|
|
270
|
+
JSON-RPC methods to offer for the `method` filter; see the list operation
|
|
271
|
+
for every value the filter takes. Present when `type` is omitted or is
|
|
272
|
+
`method`.
|
|
273
|
+
items:
|
|
274
|
+
type: string
|
|
275
|
+
enum:
|
|
276
|
+
- tools/list
|
|
277
|
+
- tools/call
|
|
278
|
+
- prompts/list
|
|
279
|
+
- prompts/get
|
|
280
|
+
- resources/list
|
|
281
|
+
- resources/read
|
|
282
|
+
x-enumDescriptions:
|
|
283
|
+
tools/list: Requests listing the server's tools.
|
|
284
|
+
tools/call: Requests running a tool.
|
|
285
|
+
prompts/list: Requests listing the server's prompts.
|
|
286
|
+
prompts/get: Requests fetching a prompt.
|
|
287
|
+
resources/list: Requests listing the server's resources.
|
|
288
|
+
resources/read: Requests reading a resource.
|
|
289
|
+
status:
|
|
290
|
+
type: array
|
|
291
|
+
description: |-
|
|
292
|
+
Outcomes the `status` filter accepts — a closed set; any other value is
|
|
293
|
+
rejected with 422. Present when `type` is omitted or is `status`.
|
|
294
|
+
items:
|
|
295
|
+
type: string
|
|
296
|
+
enum:
|
|
297
|
+
- success
|
|
298
|
+
- error
|
|
299
|
+
- blocked
|
|
300
|
+
x-enumDescriptions:
|
|
301
|
+
success: Requests that completed without an error.
|
|
302
|
+
error: Requests that failed.
|
|
303
|
+
blocked: Requests rejected before they ran by a traffic limit, an access or OAuth scope check, or the network policy.
|
|
304
|
+
examples:
|
|
305
|
+
default:
|
|
306
|
+
value:
|
|
307
|
+
method:
|
|
308
|
+
- tools/list
|
|
309
|
+
- tools/call
|
|
310
|
+
- prompts/list
|
|
311
|
+
- prompts/get
|
|
312
|
+
- resources/list
|
|
313
|
+
- resources/read
|
|
314
|
+
status:
|
|
315
|
+
- success
|
|
316
|
+
- error
|
|
317
|
+
- blocked
|
|
318
|
+
status_only:
|
|
319
|
+
summary: type=status
|
|
320
|
+
value:
|
|
321
|
+
status:
|
|
322
|
+
- success
|
|
323
|
+
- error
|
|
324
|
+
- blocked
|
|
325
|
+
'401':
|
|
326
|
+
$ref: '#/components/responses/401-unauthorized'
|
|
327
|
+
'403':
|
|
328
|
+
$ref: '#/components/responses/403-forbidden'
|
|
329
|
+
'422':
|
|
330
|
+
description: '`type` is not `method` or `status`.'
|
|
331
|
+
content:
|
|
332
|
+
application/json:
|
|
333
|
+
schema:
|
|
334
|
+
$ref: '#/components/schemas/Error'
|
|
335
|
+
examples:
|
|
336
|
+
invalid_type:
|
|
337
|
+
value:
|
|
338
|
+
errors:
|
|
339
|
+
- code: invalid_query_params
|
|
340
|
+
message: type is not valid.
|
|
229
341
|
/v1/mcpservers/{_id}:
|
|
230
342
|
get:
|
|
231
343
|
x-internal: false
|
|
@@ -1400,28 +1512,490 @@ paths:
|
|
|
1400
1512
|
capabilities:
|
|
1401
1513
|
- pset:6a7b8c9d0e1f2a3b4c5d6e7f
|
|
1402
1514
|
'400':
|
|
1403
|
-
description: |-
|
|
1404
|
-
Validation failed. Pre-flight failures (invalid MCP server id,
|
|
1405
|
-
invalid request body, more than 100 or duplicate `_groupIds`, unknown
|
|
1406
|
-
group ids, capabilities that do not resolve on this server) return a
|
|
1407
|
-
bare `errors` array; a mid-batch failure returns the result body with
|
|
1408
|
-
partial progress plus `errors`.
|
|
1515
|
+
description: |-
|
|
1516
|
+
Validation failed. Pre-flight failures (invalid MCP server id,
|
|
1517
|
+
invalid request body, more than 100 or duplicate `_groupIds`, unknown
|
|
1518
|
+
group ids, capabilities that do not resolve on this server) return a
|
|
1519
|
+
bare `errors` array; a mid-batch failure returns the result body with
|
|
1520
|
+
partial progress plus `errors`.
|
|
1521
|
+
content:
|
|
1522
|
+
application/json:
|
|
1523
|
+
schema:
|
|
1524
|
+
$ref: '#/components/schemas/Error'
|
|
1525
|
+
examples:
|
|
1526
|
+
too_many:
|
|
1527
|
+
value:
|
|
1528
|
+
errors:
|
|
1529
|
+
- code: validation_failed
|
|
1530
|
+
message: Validation failed. _groupIds cannot exceed 100 entries per request.
|
|
1531
|
+
'401':
|
|
1532
|
+
$ref: '#/components/responses/401-unauthorized'
|
|
1533
|
+
'403':
|
|
1534
|
+
$ref: '#/components/responses/403-forbidden'
|
|
1535
|
+
'404':
|
|
1536
|
+
description: MCP server not found in this account.
|
|
1537
|
+
content:
|
|
1538
|
+
application/json:
|
|
1539
|
+
schema:
|
|
1540
|
+
$ref: '#/components/schemas/Error'
|
|
1541
|
+
examples:
|
|
1542
|
+
server_not_found:
|
|
1543
|
+
value:
|
|
1544
|
+
errors:
|
|
1545
|
+
- code: not_found
|
|
1546
|
+
message: MCP server not found in this account.
|
|
1547
|
+
/v1/mcpservers/{_id}/logs:
|
|
1548
|
+
get:
|
|
1549
|
+
x-internal: false
|
|
1550
|
+
operationId: listMcpServerRequestLogs
|
|
1551
|
+
tags:
|
|
1552
|
+
- MCP Servers
|
|
1553
|
+
summary: List MCP server request logs
|
|
1554
|
+
description: |-
|
|
1555
|
+
Lists the MCP JSON-RPC requests this server handled, newest first, 50 per page. Follow
|
|
1556
|
+
`nextPageURL` for the next page. Entries are summaries; when `hasPayload` is true, read
|
|
1557
|
+
the stored request and response with `GET /v1/mcpservers/{_id}/logs/{key}`. Requires
|
|
1558
|
+
MCP operations access on the account.
|
|
1559
|
+
parameters:
|
|
1560
|
+
- name: _id
|
|
1561
|
+
in: path
|
|
1562
|
+
required: true
|
|
1563
|
+
description: MCP server ID.
|
|
1564
|
+
schema:
|
|
1565
|
+
type: string
|
|
1566
|
+
format: objectId
|
|
1567
|
+
x-celigo-refModel: mcpservers
|
|
1568
|
+
examples:
|
|
1569
|
+
- 69eb9fb5b4fc023618e490b8
|
|
1570
|
+
- name: time_gt
|
|
1571
|
+
in: query
|
|
1572
|
+
required: false
|
|
1573
|
+
description: Only return requests recorded after this time (exclusive), as epoch milliseconds.
|
|
1574
|
+
schema:
|
|
1575
|
+
type: integer
|
|
1576
|
+
format: int64
|
|
1577
|
+
examples:
|
|
1578
|
+
- 1792700000000
|
|
1579
|
+
- name: time_lte
|
|
1580
|
+
in: query
|
|
1581
|
+
required: false
|
|
1582
|
+
description: Only return requests recorded at or before this time (inclusive), as epoch milliseconds.
|
|
1583
|
+
schema:
|
|
1584
|
+
type: integer
|
|
1585
|
+
format: int64
|
|
1586
|
+
examples:
|
|
1587
|
+
- 1792786400000
|
|
1588
|
+
- name: method
|
|
1589
|
+
in: query
|
|
1590
|
+
required: false
|
|
1591
|
+
description: |-
|
|
1592
|
+
Only return requests with these JSON-RPC methods. Repeat the parameter for several
|
|
1593
|
+
values. Get the values from `GET /v1/mcpservers/logs/filter-options`; the
|
|
1594
|
+
underscore form the listing returns (`tools_call`) is accepted too, and so is a
|
|
1595
|
+
method filter-options does not list but rows carry, such as `initialize`. A value
|
|
1596
|
+
no request carries is not rejected: the page is empty.
|
|
1597
|
+
style: form
|
|
1598
|
+
explode: true
|
|
1599
|
+
schema:
|
|
1600
|
+
type: array
|
|
1601
|
+
items:
|
|
1602
|
+
type: string
|
|
1603
|
+
examples:
|
|
1604
|
+
- - tools/call
|
|
1605
|
+
- name: status
|
|
1606
|
+
in: query
|
|
1607
|
+
required: false
|
|
1608
|
+
description: Only return requests with these outcomes. Repeat the parameter for several values.
|
|
1609
|
+
style: form
|
|
1610
|
+
explode: true
|
|
1611
|
+
schema:
|
|
1612
|
+
type: array
|
|
1613
|
+
items:
|
|
1614
|
+
type: string
|
|
1615
|
+
enum:
|
|
1616
|
+
- success
|
|
1617
|
+
- error
|
|
1618
|
+
- blocked
|
|
1619
|
+
x-enumDescriptions:
|
|
1620
|
+
success: Requests that completed without an error.
|
|
1621
|
+
error: Requests that failed.
|
|
1622
|
+
blocked: Requests rejected before they ran by a traffic limit, an access or OAuth scope check, or the network policy.
|
|
1623
|
+
examples:
|
|
1624
|
+
- - error
|
|
1625
|
+
- blocked
|
|
1626
|
+
- name: entityName
|
|
1627
|
+
in: query
|
|
1628
|
+
required: false
|
|
1629
|
+
description: |-
|
|
1630
|
+
Only return requests that targeted this tool or prompt name, or resource URI.
|
|
1631
|
+
Exact match after trimming whitespace; pass it once.
|
|
1632
|
+
schema:
|
|
1633
|
+
type: string
|
|
1634
|
+
examples:
|
|
1635
|
+
- get_customer
|
|
1636
|
+
- name: nextPageToken
|
|
1637
|
+
in: query
|
|
1638
|
+
required: false
|
|
1639
|
+
description: Continuation token. Follow the `nextPageURL` of the previous page instead of constructing it.
|
|
1640
|
+
schema:
|
|
1641
|
+
type: string
|
|
1642
|
+
responses:
|
|
1643
|
+
'200':
|
|
1644
|
+
description: One page of request summaries.
|
|
1645
|
+
content:
|
|
1646
|
+
application/json:
|
|
1647
|
+
schema:
|
|
1648
|
+
$ref: '#/components/schemas/MCPServerRequestLogsResponse'
|
|
1649
|
+
examples:
|
|
1650
|
+
populated:
|
|
1651
|
+
value:
|
|
1652
|
+
requests:
|
|
1653
|
+
- time: 1792745012345
|
|
1654
|
+
method: tools_call
|
|
1655
|
+
status: success
|
|
1656
|
+
invocationId: a1b2c3d4e5f60718293a4b5c
|
|
1657
|
+
hasPayload: true
|
|
1658
|
+
key: 5465373387655-3f2a9c0d1e4b4c6f8a7b9d0e1f2a3b4c-tools_call-S
|
|
1659
|
+
entityName: get_customer
|
|
1660
|
+
assetType: IO Tool
|
|
1661
|
+
entityId: 65a98d1ef2b40000098c3a4d
|
|
1662
|
+
opStartedAt: 1792745012100
|
|
1663
|
+
opEndedAt: 1792745012340
|
|
1664
|
+
authType: apiToken
|
|
1665
|
+
accessToken:
|
|
1666
|
+
_id: 66b0c1d2e3f4a5b6c7d8e9f0
|
|
1667
|
+
name: MCP client token
|
|
1668
|
+
deleted: false
|
|
1669
|
+
nextPageURL: /v1/mcpservers/69eb9fb5b4fc023618e490b8/logs?nextPageToken=eyJ0IjoxNzkyNzQ1MDEyMzQ1LCJoIjoiMTIzNDU2Nzg5In0
|
|
1670
|
+
empty:
|
|
1671
|
+
value:
|
|
1672
|
+
requests: []
|
|
1673
|
+
'400':
|
|
1674
|
+
description: The MCP server ID is not a valid ObjectId.
|
|
1675
|
+
content:
|
|
1676
|
+
application/json:
|
|
1677
|
+
schema:
|
|
1678
|
+
$ref: '#/components/schemas/Error'
|
|
1679
|
+
examples:
|
|
1680
|
+
invalid_id:
|
|
1681
|
+
value:
|
|
1682
|
+
errors:
|
|
1683
|
+
- code: invalid_ref
|
|
1684
|
+
message: Please provide a valid _mcpServerId.
|
|
1685
|
+
'401':
|
|
1686
|
+
$ref: '#/components/responses/401-unauthorized'
|
|
1687
|
+
'403':
|
|
1688
|
+
$ref: '#/components/responses/403-forbidden'
|
|
1689
|
+
'404':
|
|
1690
|
+
description: No MCP server with this ID is visible to the caller. Checked before the query parameters.
|
|
1691
|
+
content:
|
|
1692
|
+
application/json:
|
|
1693
|
+
schema:
|
|
1694
|
+
$ref: '#/components/schemas/Error'
|
|
1695
|
+
examples:
|
|
1696
|
+
not_found:
|
|
1697
|
+
value:
|
|
1698
|
+
errors:
|
|
1699
|
+
- code: invalid_ref
|
|
1700
|
+
message: McpServer not found.
|
|
1701
|
+
'422':
|
|
1702
|
+
description: |-
|
|
1703
|
+
A query parameter is invalid — `time_gt` or `time_lte` is not epoch milliseconds,
|
|
1704
|
+
`status` has an unknown value, `entityName` is repeated, or `nextPageToken` is not a
|
|
1705
|
+
token from `nextPageURL`. The message names the parameter.
|
|
1706
|
+
content:
|
|
1707
|
+
application/json:
|
|
1708
|
+
schema:
|
|
1709
|
+
$ref: '#/components/schemas/Error'
|
|
1710
|
+
examples:
|
|
1711
|
+
invalid_status:
|
|
1712
|
+
value:
|
|
1713
|
+
errors:
|
|
1714
|
+
- code: invalid_query_params
|
|
1715
|
+
message: status is not valid.
|
|
1716
|
+
'500':
|
|
1717
|
+
description: The request log store could not be queried.
|
|
1718
|
+
content:
|
|
1719
|
+
application/json:
|
|
1720
|
+
schema:
|
|
1721
|
+
$ref: '#/components/schemas/Error'
|
|
1722
|
+
examples:
|
|
1723
|
+
query_failed:
|
|
1724
|
+
value:
|
|
1725
|
+
errors:
|
|
1726
|
+
- code: clickhouse_error
|
|
1727
|
+
message: Unable to retrieve the request logs.
|
|
1728
|
+
store_unavailable:
|
|
1729
|
+
value:
|
|
1730
|
+
errors:
|
|
1731
|
+
- code: clickhouse_connection_not_established
|
|
1732
|
+
message: ClickHouse connection is not established
|
|
1733
|
+
/v1/mcpservers/{_id}/logs/purge:
|
|
1734
|
+
post:
|
|
1735
|
+
x-internal: false
|
|
1736
|
+
operationId: purgeMcpServerRequestLogs
|
|
1737
|
+
tags:
|
|
1738
|
+
- MCP Servers
|
|
1739
|
+
summary: Purge MCP server request log payloads
|
|
1740
|
+
description: |-
|
|
1741
|
+
Permanently deletes the stored request/response payloads of this server's requests
|
|
1742
|
+
recorded between `time_gte` and `time_lte`, both inclusive. The listing rows stay in
|
|
1743
|
+
`GET /v1/mcpservers/{_id}/logs` with `hasPayload` false. Also queues deletion of the run
|
|
1744
|
+
logs of each enabled Tool on the server for the same window; a Tool whose deletion
|
|
1745
|
+
could not be queued is reported in `errors[]` without failing the call. Writes a
|
|
1746
|
+
`purgelogs` audit entry. The window is passed as query parameters; a request body is
|
|
1747
|
+
ignored. Up to 10,000 payloads per call — narrow the window when the range holds more.
|
|
1748
|
+
Requires MCP operations access on the account.
|
|
1749
|
+
parameters:
|
|
1750
|
+
- name: _id
|
|
1751
|
+
in: path
|
|
1752
|
+
required: true
|
|
1753
|
+
description: MCP server ID.
|
|
1754
|
+
schema:
|
|
1755
|
+
type: string
|
|
1756
|
+
format: objectId
|
|
1757
|
+
x-celigo-refModel: mcpservers
|
|
1758
|
+
examples:
|
|
1759
|
+
- 69eb9fb5b4fc023618e490b8
|
|
1760
|
+
- name: time_gte
|
|
1761
|
+
in: query
|
|
1762
|
+
required: true
|
|
1763
|
+
description: Start of the window (inclusive), as an ISO 8601 date-time. Epoch milliseconds are rejected.
|
|
1764
|
+
schema:
|
|
1765
|
+
type: string
|
|
1766
|
+
format: date-time
|
|
1767
|
+
examples:
|
|
1768
|
+
- '2026-10-01T00:00:00Z'
|
|
1769
|
+
- name: time_lte
|
|
1770
|
+
in: query
|
|
1771
|
+
required: true
|
|
1772
|
+
description: End of the window (inclusive), as an ISO 8601 date-time. Must not be before `time_gte` or in the future.
|
|
1773
|
+
schema:
|
|
1774
|
+
type: string
|
|
1775
|
+
format: date-time
|
|
1776
|
+
examples:
|
|
1777
|
+
- '2026-10-22T23:59:59Z'
|
|
1778
|
+
responses:
|
|
1779
|
+
'200':
|
|
1780
|
+
description: Purge outcome. `purged` is empty when the window held no stored payloads.
|
|
1781
|
+
content:
|
|
1782
|
+
application/json:
|
|
1783
|
+
schema:
|
|
1784
|
+
type: object
|
|
1785
|
+
description: Purge result envelope.
|
|
1786
|
+
required:
|
|
1787
|
+
- purged
|
|
1788
|
+
- errors
|
|
1789
|
+
properties:
|
|
1790
|
+
purged:
|
|
1791
|
+
type: array
|
|
1792
|
+
description: Log keys whose payloads were deleted.
|
|
1793
|
+
items:
|
|
1794
|
+
type: string
|
|
1795
|
+
errors:
|
|
1796
|
+
type: array
|
|
1797
|
+
description: Tools whose run-log deletion could not be queued. Empty when every Tool was queued.
|
|
1798
|
+
items:
|
|
1799
|
+
type: object
|
|
1800
|
+
required:
|
|
1801
|
+
- code
|
|
1802
|
+
- message
|
|
1803
|
+
- _toolId
|
|
1804
|
+
properties:
|
|
1805
|
+
code:
|
|
1806
|
+
type: string
|
|
1807
|
+
description: Always `tool_log_purge_failed`.
|
|
1808
|
+
examples:
|
|
1809
|
+
- tool_log_purge_failed
|
|
1810
|
+
message:
|
|
1811
|
+
type: string
|
|
1812
|
+
description: Human-readable description of the failure.
|
|
1813
|
+
examples:
|
|
1814
|
+
- Unable to queue Tool Builder log deletion for the selected range.
|
|
1815
|
+
_toolId:
|
|
1816
|
+
type: string
|
|
1817
|
+
format: objectId
|
|
1818
|
+
x-celigo-refModel: tools
|
|
1819
|
+
description: Tool whose run logs were not queued for deletion. Retrying the purge with the same window queues it again.
|
|
1820
|
+
examples:
|
|
1821
|
+
- 65a98d1ef2b40000098c3a4d
|
|
1822
|
+
examples:
|
|
1823
|
+
default:
|
|
1824
|
+
value:
|
|
1825
|
+
purged:
|
|
1826
|
+
- 5465373387655-3f2a9c0d1e4b4c6f8a7b9d0e1f2a3b4c-tools_call-S
|
|
1827
|
+
errors: []
|
|
1828
|
+
tool_cascade_failed:
|
|
1829
|
+
summary: Payloads purged, one Tool not queued
|
|
1830
|
+
value:
|
|
1831
|
+
purged:
|
|
1832
|
+
- 5465373387655-3f2a9c0d1e4b4c6f8a7b9d0e1f2a3b4c-tools_call-S
|
|
1833
|
+
errors:
|
|
1834
|
+
- code: tool_log_purge_failed
|
|
1835
|
+
message: Unable to queue Tool Builder log deletion for the selected range.
|
|
1836
|
+
_toolId: 65a98d1ef2b40000098c3a4d
|
|
1837
|
+
'400':
|
|
1838
|
+
description: |-
|
|
1839
|
+
Invalid request, checked in this order — the MCP server ID is not a valid ObjectId;
|
|
1840
|
+
`time_gte` or `time_lte` is missing or not a date-time (the message names the
|
|
1841
|
+
parameter); the window is reversed or ends in the future;
|
|
1842
|
+
or, after the server is found, the window holds more than 10,000 payloads.
|
|
1843
|
+
content:
|
|
1844
|
+
application/json:
|
|
1845
|
+
schema:
|
|
1846
|
+
$ref: '#/components/schemas/Error'
|
|
1847
|
+
examples:
|
|
1848
|
+
invalid_id:
|
|
1849
|
+
value:
|
|
1850
|
+
errors:
|
|
1851
|
+
- code: invalid_ref
|
|
1852
|
+
message: Please provide a valid _mcpServerId.
|
|
1853
|
+
missing_time_gte:
|
|
1854
|
+
value:
|
|
1855
|
+
errors:
|
|
1856
|
+
- code: invalid_query_params
|
|
1857
|
+
message: time_gte is not valid.
|
|
1858
|
+
invalid_range:
|
|
1859
|
+
value:
|
|
1860
|
+
errors:
|
|
1861
|
+
- code: invalid_query_params
|
|
1862
|
+
message: time_gte and time_lte must be valid ISO datetimes, a non-future window, with time_gte <= time_lte.
|
|
1863
|
+
range_too_large:
|
|
1864
|
+
value:
|
|
1865
|
+
errors:
|
|
1866
|
+
- code: invalid_request
|
|
1867
|
+
message: The selected range contains too many request logs to purge in one call. Narrow the date range.
|
|
1868
|
+
'401':
|
|
1869
|
+
$ref: '#/components/responses/401-unauthorized'
|
|
1870
|
+
'403':
|
|
1871
|
+
$ref: '#/components/responses/403-forbidden'
|
|
1872
|
+
'404':
|
|
1873
|
+
description: No MCP server with this ID is visible to the caller. Checked after the time window.
|
|
1874
|
+
content:
|
|
1875
|
+
application/json:
|
|
1876
|
+
schema:
|
|
1877
|
+
$ref: '#/components/schemas/Error'
|
|
1878
|
+
examples:
|
|
1879
|
+
not_found:
|
|
1880
|
+
value:
|
|
1881
|
+
errors:
|
|
1882
|
+
- code: invalid_ref
|
|
1883
|
+
message: McpServer not found.
|
|
1884
|
+
'500':
|
|
1885
|
+
description: |-
|
|
1886
|
+
The request log store could not be queried, or payload deletion failed partway.
|
|
1887
|
+
Payloads deleted before the failure stay deleted; retry the same window.
|
|
1888
|
+
content:
|
|
1889
|
+
application/json:
|
|
1890
|
+
schema:
|
|
1891
|
+
$ref: '#/components/schemas/Error'
|
|
1892
|
+
examples:
|
|
1893
|
+
purge_failed:
|
|
1894
|
+
value:
|
|
1895
|
+
errors:
|
|
1896
|
+
- code: log_purge_failed
|
|
1897
|
+
message: Unable to purge the request log.
|
|
1898
|
+
query_failed:
|
|
1899
|
+
value:
|
|
1900
|
+
errors:
|
|
1901
|
+
- code: clickhouse_error
|
|
1902
|
+
message: Unable to retrieve the request logs.
|
|
1903
|
+
/v1/mcpservers/{_id}/logs/{key}:
|
|
1904
|
+
get:
|
|
1905
|
+
x-internal: false
|
|
1906
|
+
operationId: getMcpServerRequestLog
|
|
1907
|
+
tags:
|
|
1908
|
+
- MCP Servers
|
|
1909
|
+
summary: Get an MCP server request log
|
|
1910
|
+
description: |-
|
|
1911
|
+
Returns the stored request and response for one MCP request, looked up by a `key` from
|
|
1912
|
+
`GET /v1/mcpservers/{_id}/logs`. Only entries with `hasPayload` true have a key. A key
|
|
1913
|
+
whose payload was purged, a key that names no stored payload, and a malformed key all
|
|
1914
|
+
answer `422` `log_file_unavailable`. The stored `Authorization` request header is
|
|
1915
|
+
masked. Requires MCP operations access on the account.
|
|
1916
|
+
parameters:
|
|
1917
|
+
- name: _id
|
|
1918
|
+
in: path
|
|
1919
|
+
required: true
|
|
1920
|
+
description: MCP server ID.
|
|
1921
|
+
schema:
|
|
1922
|
+
type: string
|
|
1923
|
+
format: objectId
|
|
1924
|
+
x-celigo-refModel: mcpservers
|
|
1925
|
+
examples:
|
|
1926
|
+
- 69eb9fb5b4fc023618e490b8
|
|
1927
|
+
- name: key
|
|
1928
|
+
in: path
|
|
1929
|
+
required: true
|
|
1930
|
+
description: Log key from the `GET /v1/mcpservers/{_id}/logs` listing, used exactly as returned.
|
|
1931
|
+
schema:
|
|
1932
|
+
type: string
|
|
1933
|
+
examples:
|
|
1934
|
+
- 5465373387655-3f2a9c0d1e4b4c6f8a7b9d0e1f2a3b4c-tools_call-S
|
|
1935
|
+
responses:
|
|
1936
|
+
'200':
|
|
1937
|
+
description: The stored record with the fields decoded from `key` added.
|
|
1938
|
+
content:
|
|
1939
|
+
application/json:
|
|
1940
|
+
schema:
|
|
1941
|
+
$ref: '#/components/schemas/MCPServerRequestLogDetail'
|
|
1942
|
+
examples:
|
|
1943
|
+
default:
|
|
1944
|
+
value:
|
|
1945
|
+
key: 5465373387655-3f2a9c0d1e4b4c6f8a7b9d0e1f2a3b4c-tools_call-S
|
|
1946
|
+
id: 3f2a9c0d1e4b4c6f8a7b9d0e1f2a3b4c
|
|
1947
|
+
time: 1792745012345
|
|
1948
|
+
method: tools_call
|
|
1949
|
+
status: success
|
|
1950
|
+
request:
|
|
1951
|
+
headers:
|
|
1952
|
+
content-type: application/json
|
|
1953
|
+
authorization: Bearer ********
|
|
1954
|
+
body: '{"jsonrpc":"2.0","id":7,"method":"tools/call","params":{"name":"get_customer","arguments":{"customerId":"C-1042"}}}'
|
|
1955
|
+
httpVersion: '1.1'
|
|
1956
|
+
url: /customer-integration
|
|
1957
|
+
clientAddress: 203.0.113.7
|
|
1958
|
+
size: 234
|
|
1959
|
+
response:
|
|
1960
|
+
body: '{"jsonrpc":"2.0","id":7,"result":{"content":[{"type":"text","text":"{\"customerId\":\"C-1042\"}"}]}}'
|
|
1961
|
+
headers:
|
|
1962
|
+
content-type: application/json
|
|
1963
|
+
size: 196
|
|
1964
|
+
entityName: get_customer
|
|
1965
|
+
assetType: IO Tool
|
|
1966
|
+
_byUserId: 624774a6a7574d3ed9f9a5cc
|
|
1967
|
+
_accessTokenId: 66b0c1d2e3f4a5b6c7d8e9f0
|
|
1968
|
+
_agentId: null
|
|
1969
|
+
clientName: null
|
|
1970
|
+
clientVersion: null
|
|
1971
|
+
sourceType: celigo
|
|
1972
|
+
upstreamHost: null
|
|
1973
|
+
_connectionId: null
|
|
1974
|
+
authMode: null
|
|
1975
|
+
upstreamMs: null
|
|
1976
|
+
errorCategory: null
|
|
1977
|
+
traceId: 7f9c2e1a4b3d4c5e
|
|
1978
|
+
purgeAt: 1795337012345
|
|
1979
|
+
'400':
|
|
1980
|
+
description: The MCP server ID is not a valid ObjectId.
|
|
1409
1981
|
content:
|
|
1410
1982
|
application/json:
|
|
1411
1983
|
schema:
|
|
1412
1984
|
$ref: '#/components/schemas/Error'
|
|
1413
1985
|
examples:
|
|
1414
|
-
|
|
1986
|
+
invalid_id:
|
|
1415
1987
|
value:
|
|
1416
1988
|
errors:
|
|
1417
|
-
- code:
|
|
1418
|
-
message:
|
|
1989
|
+
- code: invalid_ref
|
|
1990
|
+
message: Please provide a valid _mcpServerId.
|
|
1419
1991
|
'401':
|
|
1420
1992
|
$ref: '#/components/responses/401-unauthorized'
|
|
1421
1993
|
'403':
|
|
1422
1994
|
$ref: '#/components/responses/403-forbidden'
|
|
1423
1995
|
'404':
|
|
1424
|
-
description:
|
|
1996
|
+
description: |-
|
|
1997
|
+
No MCP server with this ID is visible to the caller. A key with no stored payload is a
|
|
1998
|
+
`422`, not a `404`.
|
|
1425
1999
|
content:
|
|
1426
2000
|
application/json:
|
|
1427
2001
|
schema:
|
|
@@ -1430,8 +2004,40 @@ paths:
|
|
|
1430
2004
|
server_not_found:
|
|
1431
2005
|
value:
|
|
1432
2006
|
errors:
|
|
1433
|
-
- code:
|
|
1434
|
-
message:
|
|
2007
|
+
- code: invalid_ref
|
|
2008
|
+
message: McpServer not found.
|
|
2009
|
+
'422':
|
|
2010
|
+
description: |-
|
|
2011
|
+
The stored payload could not be read (`log_file_unavailable` — the answer for a purged
|
|
2012
|
+
key, a key that names no stored payload, and a malformed key), or could not be parsed
|
|
2013
|
+
(`invalid_log_file`).
|
|
2014
|
+
content:
|
|
2015
|
+
application/json:
|
|
2016
|
+
schema:
|
|
2017
|
+
$ref: '#/components/schemas/Error'
|
|
2018
|
+
examples:
|
|
2019
|
+
unavailable:
|
|
2020
|
+
value:
|
|
2021
|
+
errors:
|
|
2022
|
+
- code: log_file_unavailable
|
|
2023
|
+
message: Unable to retrieve the log file.
|
|
2024
|
+
unparseable:
|
|
2025
|
+
value:
|
|
2026
|
+
errors:
|
|
2027
|
+
- code: invalid_log_file
|
|
2028
|
+
message: Unable to parse. Masked secret keys can cause parsing errors, update the access token or private field to view the data.
|
|
2029
|
+
'500':
|
|
2030
|
+
description: The request log store could not be queried while locating the payload.
|
|
2031
|
+
content:
|
|
2032
|
+
application/json:
|
|
2033
|
+
schema:
|
|
2034
|
+
$ref: '#/components/schemas/Error'
|
|
2035
|
+
examples:
|
|
2036
|
+
query_failed:
|
|
2037
|
+
value:
|
|
2038
|
+
errors:
|
|
2039
|
+
- code: clickhouse_error
|
|
2040
|
+
message: Unable to retrieve the request logs.
|
|
1435
2041
|
components:
|
|
1436
2042
|
securitySchemes:
|
|
1437
2043
|
bearerAuth:
|
|
@@ -6466,23 +7072,51 @@ components:
|
|
|
6466
7072
|
googleProjectId:
|
|
6467
7073
|
type: string
|
|
6468
7074
|
description: |-
|
|
6469
|
-
|
|
6470
|
-
|
|
6471
|
-
`storage.googleapis.com`)
|
|
7075
|
+
Default project ID of a Google Cloud Storage connection (assistant
|
|
7076
|
+
`googlecloudstorage`, or a `baseURI` pointing at
|
|
7077
|
+
`storage.googleapis.com`): the Google Cloud project whose buckets the
|
|
7078
|
+
export and import forms list. It does not limit access — the
|
|
7079
|
+
connection reaches any bucket the authorized Google account or
|
|
7080
|
+
service account may use. Set by the caller on the OAuth 2.0 auth type
|
|
7081
|
+
(Celigo's published Google Cloud Storage iClient or an account-owned
|
|
7082
|
+
`custom_oauth2` iClient). On the Google service account auth type the
|
|
7083
|
+
server stores the key's `project_id` on create and on any save that
|
|
7084
|
+
changes or omits `http.unencrypted`; a save that re-sends the stored
|
|
7085
|
+
`http.unencrypted` unchanged keeps the stored value, even though the
|
|
7086
|
+
response body can echo the key's — read the connection back. Trimmed
|
|
7087
|
+
on save; no format is enforced (the connection form warns on a value
|
|
7088
|
+
outside Google's project-id format and still saves it).
|
|
6472
7089
|
examples:
|
|
6473
7090
|
- my-gcs-project
|
|
6474
7091
|
x-celigo-ai-guidance:
|
|
6475
7092
|
- |-
|
|
6476
7093
|
Required when the GCS connection authenticates through an OAuth
|
|
6477
|
-
iClient
|
|
6478
|
-
|
|
6479
|
-
|
|
6480
|
-
|
|
6481
|
-
|
|
6482
|
-
|
|
6483
|
-
|
|
7094
|
+
iClient — Celigo's published Google Cloud Storage iClient (the id
|
|
7095
|
+
the connector pre-configures on `http._iClientId` when
|
|
7096
|
+
`http.auth.type` is `oauth`) or an account-owned iClient with
|
|
7097
|
+
provider custom_oauth2. Omitting it, or sending only whitespace,
|
|
7098
|
+
fails the save with 422 project_id_missing on
|
|
7099
|
+
http.unencrypted.googleProjectId — "Default project ID is
|
|
7100
|
+
required on OAuth Google Cloud Storage connections
|
|
7101
|
+
(http.unencrypted.googleProjectId)." — on create and on every
|
|
7102
|
+
later PUT. With a googleserviceaccount iClient the server stores
|
|
7103
|
+
the key's project_id on create (a value sent on create is
|
|
7104
|
+
replaced by it) and on any later save that changes or omits
|
|
7105
|
+
`http.unencrypted` — the next bullet has the PUT that does not
|
|
7106
|
+
re-fill it. Any other provider fails with 422 invalid_field
|
|
7107
|
+
on http._iClientId — "IClient provider must be
|
|
6484
7108
|
googleserviceaccount or custom_oauth2 for Google Cloud Storage
|
|
6485
7109
|
connections."
|
|
7110
|
+
- |-
|
|
7111
|
+
When a PUT moves the connection from an OAuth iClient to a
|
|
7112
|
+
googleserviceaccount iClient, drop `http.unencrypted` (or change
|
|
7113
|
+
it) in the same PUT: the server's fill from the key is written
|
|
7114
|
+
only when `http.unencrypted` is absent or changed, so a PUT that
|
|
7115
|
+
re-sends the stored object unchanged keeps the OAuth-era project
|
|
7116
|
+
id beside the service account (the 200 body still echoes the
|
|
7117
|
+
key's — only a GET shows what persisted). Moving the other way
|
|
7118
|
+
(service account → OAuth) needs the project id in the PUT, or it
|
|
7119
|
+
is the 422 above.
|
|
6486
7120
|
unencryptedFields:
|
|
6487
7121
|
type: array
|
|
6488
7122
|
description: |
|
|
@@ -6527,13 +7161,20 @@ components:
|
|
|
6527
7161
|
description: |-
|
|
6528
7162
|
iClient that holds the credentials this connection signs with: the OAuth 2.0 client for
|
|
6529
7163
|
`auth.type` `oauth` (including the `azureserviceprincipal` service principal an Azure
|
|
6530
|
-
Data Lake Storage Gen2 connection authenticates with and
|
|
6531
|
-
|
|
7164
|
+
Data Lake Storage Gen2 connection authenticates with and, on a Google Cloud Storage
|
|
7165
|
+
connection, either the `googleserviceaccount` key of its Google service account auth
|
|
7166
|
+
type or — its OAuth 2.0 auth type — Celigo's published Google Cloud Storage iClient,
|
|
7167
|
+
which the connector pre-configures, or an account-owned `custom_oauth2` iClient), or
|
|
7168
|
+
the `awsIam` role for `auth.type` `awsiam`.
|
|
6532
7169
|
Must belong to the same account as the connection — or be the iClient Celigo publishes
|
|
6533
7170
|
with a pre-built OAuth HTTP connector (pre-configured by the connector; from the
|
|
6534
|
-
connecting account `GET /v1/iclients/{_id}` on it is 404 resource_not_found
|
|
6535
|
-
`GET /v1/iclients` does not list it, yet the
|
|
6536
|
-
|
|
7171
|
+
connecting account `GET /v1/iclients/{_id}` on it is 404 — resource_not_found or
|
|
7172
|
+
invalid_ref "IClient not found." — and `GET /v1/iclients` does not list it, yet the
|
|
7173
|
+
connection saves with it). Omit for every other auth type. A Google Cloud Storage
|
|
7174
|
+
connection stores `auth.type` `oauth` under both of its auth types; the referenced
|
|
7175
|
+
iClient's provider tells them apart, and switching is a PUT that changes `_iClientId`
|
|
7176
|
+
(see `unencrypted.googleProjectId` for what travels with it). On a Shopify connection
|
|
7177
|
+
`settings.appType` says which of the two it
|
|
6537
7178
|
is: `public` rides Celigo's published Shopify app (installed from the Shopify App
|
|
6538
7179
|
Store), `custom` rides the account's own iClient — the Shopify app the customer created
|
|
6539
7180
|
in the Shopify dev dashboard — with `auth.oauth.scope` chosen on the connection. A
|
|
@@ -6548,7 +7189,7 @@ components:
|
|
|
6548
7189
|
published app and carry no `settings.appType`.
|
|
6549
7190
|
examples:
|
|
6550
7191
|
- 6203a7e4f321d800129a1b8e
|
|
6551
|
-
x-celigo-ui-override: 'Required by the connection form for oauth (subForms/httpOAuth.js: required true, iClient filter provider custom_oauth2, or googleserviceaccount / azureserviceprincipal for the GCS and ADLS Gen2 variants) and for awsIam (subForms/httpAwsIam.js: required true, filter provider awsIam). For oauth the API creates the connection without it and the authorization is completed afterward; for awsiam the API also rejects its absence (see the if/then rule on this schema).'
|
|
7192
|
+
x-celigo-ui-override: 'Required by the connection form for oauth (subForms/httpOAuth.js: required true, iClient filter provider custom_oauth2 — on a Google Cloud Storage connection''s OAuth 2.0 auth type too, where Simple view pre-selects Celigo''s published iClient and hides the picker — or googleserviceaccount / azureserviceprincipal for the GCS Google service account and ADLS Gen2 variants) and for awsIam (subForms/httpAwsIam.js: required true, filter provider awsIam). For oauth the API creates the connection without it and the authorization is completed afterward; for awsiam the API also rejects its absence (see the if/then rule on this schema).'
|
|
6552
7193
|
x-celigo-ai-guidance:
|
|
6553
7194
|
- |-
|
|
6554
7195
|
For auth.type "awsiam" the referenced iClient must have provider "awsIam" (any other
|
|
@@ -6567,10 +7208,30 @@ components:
|
|
|
6567
7208
|
The iClient must belong to the same account as the connection — an iClient id from
|
|
6568
7209
|
another account fails with 422 invalid_ref "The referenced IClient must belong to the
|
|
6569
7210
|
same user." The one exception is the iClient a pre-built OAuth HTTP connector
|
|
6570
|
-
pre-configures (Celigo's published app — the Shopify Public App's
|
|
6571
|
-
connection saves with that id from the
|
|
6572
|
-
`GET /v1/iclients/{_id}` on it is 404 there, so do not
|
|
6573
|
-
connection
|
|
7211
|
+
pre-configures (Celigo's published app — the Shopify Public App's and the Google Cloud
|
|
7212
|
+
Storage OAuth 2.0 iClient, for two): the connection saves with that id from the
|
|
7213
|
+
connecting account even though `GET /v1/iclients/{_id}` on it is 404 there, so do not
|
|
7214
|
+
refuse a `public` Shopify connection or an OAuth 2.0 Google Cloud Storage connection on
|
|
7215
|
+
this rule. Read the id from the connector's metadata
|
|
7216
|
+
(`GET /v1/httpconnectors/{_id}?returnEverything=true`,
|
|
7217
|
+
`supportedBy.connection.preConfiguredFields` entry for `http._iClientId`), never from
|
|
7218
|
+
a hard-coded value.
|
|
7219
|
+
- |-
|
|
7220
|
+
A Google Cloud Storage connection (assistant "googlecloudstorage", or any http.baseURI
|
|
7221
|
+
containing "storage.googleapis.com") references either a googleserviceaccount iClient
|
|
7222
|
+
of the same account (its Google service account auth type — no authorization step; the
|
|
7223
|
+
server stores the key's project_id in `unencrypted.googleProjectId` on create and
|
|
7224
|
+
whenever `http.unencrypted` changes or is omitted — see that field) or an OAuth iClient
|
|
7225
|
+
with `unencrypted.googleProjectId` set (its OAuth 2.0 auth type — Celigo's published
|
|
7226
|
+
iClient, or an account-owned custom_oauth2 one — authorized afterwards in a browser;
|
|
7227
|
+
until then `POST /v1/connections/{_id}/ping` answers `missing_token`). The server
|
|
7228
|
+
checks the provider only — a custom_oauth2 iClient registered for a different HTTP
|
|
7229
|
+
connector (`_httpConnectorId`) also saves on a GCS connection — so bind an iClient
|
|
7230
|
+
with no connector or the Google Cloud Storage connector's. The connection document
|
|
7231
|
+
keeps `auth.oauth.scope` as sent (a GCS connection saved without it stores none), so
|
|
7232
|
+
send the Cloud Storage scopes on the OAuth 2.0 auth type
|
|
7233
|
+
(https://www.googleapis.com/auth/devstorage.read_write, …read_only or
|
|
7234
|
+
…full_control); a service account connection carries none.
|
|
6574
7235
|
- |-
|
|
6575
7236
|
On a Shopify connection keep `settings.appType` and `_iClientId` in step the way the
|
|
6576
7237
|
form does — `public` with the connector's published iClient, `custom` with an
|
|
@@ -9676,6 +10337,435 @@ components:
|
|
|
9676
10337
|
message:
|
|
9677
10338
|
type: string
|
|
9678
10339
|
description: Human-readable error message.
|
|
10340
|
+
MCPServerRequestLogEntry:
|
|
10341
|
+
type: object
|
|
10342
|
+
description: |-
|
|
10343
|
+
Summary row in the `GET /v1/mcpservers/{_id}/logs` listing — one MCP JSON-RPC request
|
|
10344
|
+
the server handled. The stored request/response payload is only on
|
|
10345
|
+
`GET /v1/mcpservers/{_id}/logs/{key}`, and only when `hasPayload` is true.
|
|
10346
|
+
required:
|
|
10347
|
+
- time
|
|
10348
|
+
- method
|
|
10349
|
+
- status
|
|
10350
|
+
- invocationId
|
|
10351
|
+
- hasPayload
|
|
10352
|
+
- entityName
|
|
10353
|
+
- assetType
|
|
10354
|
+
- entityId
|
|
10355
|
+
- opStartedAt
|
|
10356
|
+
- opEndedAt
|
|
10357
|
+
- authType
|
|
10358
|
+
properties:
|
|
10359
|
+
time:
|
|
10360
|
+
type: integer
|
|
10361
|
+
format: int64
|
|
10362
|
+
description: Epoch milliseconds when the request was recorded. The listing is sorted on this value, newest first.
|
|
10363
|
+
examples:
|
|
10364
|
+
- 1792745012345
|
|
10365
|
+
method:
|
|
10366
|
+
type:
|
|
10367
|
+
- string
|
|
10368
|
+
- 'null'
|
|
10369
|
+
description: |-
|
|
10370
|
+
JSON-RPC method of the request, with `/` replaced by `_` (`tools_call`,
|
|
10371
|
+
`resources_read`). A JSON-RPC batch is recorded as one row with method `batch`.
|
|
10372
|
+
examples:
|
|
10373
|
+
- tools_call
|
|
10374
|
+
status:
|
|
10375
|
+
type: string
|
|
10376
|
+
enum:
|
|
10377
|
+
- success
|
|
10378
|
+
- error
|
|
10379
|
+
- blocked
|
|
10380
|
+
x-enumDescriptions:
|
|
10381
|
+
success: The request completed without an error.
|
|
10382
|
+
error: The request failed.
|
|
10383
|
+
blocked: The request was rejected before it ran by a traffic limit, an access or OAuth scope check, or the network policy.
|
|
10384
|
+
description: Outcome of the request. Filter on it with the `status` query parameter.
|
|
10385
|
+
examples:
|
|
10386
|
+
- success
|
|
10387
|
+
invocationId:
|
|
10388
|
+
type: string
|
|
10389
|
+
description: |-
|
|
10390
|
+
Invocation id of the downstream tool run that served a `tools/call`. Empty string
|
|
10391
|
+
when the request produced no downstream invocation.
|
|
10392
|
+
examples:
|
|
10393
|
+
- ''
|
|
10394
|
+
- a1b2c3d4e5f60718293a4b5c
|
|
10395
|
+
hasPayload:
|
|
10396
|
+
type: boolean
|
|
10397
|
+
description: |-
|
|
10398
|
+
When true, the request/response payload is stored and `key` is set; read it with
|
|
10399
|
+
`GET /v1/mcpservers/{_id}/logs/{key}`. False when the payload was never stored (the
|
|
10400
|
+
server's logging mode skipped it) or has been purged.
|
|
10401
|
+
examples:
|
|
10402
|
+
- true
|
|
10403
|
+
key:
|
|
10404
|
+
type: string
|
|
10405
|
+
description: |-
|
|
10406
|
+
Opaque log key. Pass it to `GET /v1/mcpservers/{_id}/logs/{key}`; use it exactly as
|
|
10407
|
+
returned. Present when `hasPayload` is true.
|
|
10408
|
+
examples:
|
|
10409
|
+
- 5465373387655-3f2a9c0d1e4b4c6f8a7b9d0e1f2a3b4c-tools_call-S
|
|
10410
|
+
entityName:
|
|
10411
|
+
type:
|
|
10412
|
+
- string
|
|
10413
|
+
- 'null'
|
|
10414
|
+
description: |-
|
|
10415
|
+
Capability the request targeted — the tool or prompt name for `tools/call` and
|
|
10416
|
+
`prompts/get`, or the resource URI for `resources/read`. Null for list methods.
|
|
10417
|
+
examples:
|
|
10418
|
+
- get_customer
|
|
10419
|
+
assetType:
|
|
10420
|
+
type:
|
|
10421
|
+
- string
|
|
10422
|
+
- 'null'
|
|
10423
|
+
enum:
|
|
10424
|
+
- IO Tool
|
|
10425
|
+
- API
|
|
10426
|
+
- Prompt
|
|
10427
|
+
- Resource
|
|
10428
|
+
- null
|
|
10429
|
+
x-enumDescriptions:
|
|
10430
|
+
IO Tool: A `tools/call` served by a Celigo Tool.
|
|
10431
|
+
API: A `tools/call` served by a builder-mode API.
|
|
10432
|
+
Prompt: A `prompts/get` request.
|
|
10433
|
+
Resource: A `resources/read` request.
|
|
10434
|
+
description: |-
|
|
10435
|
+
Kind of capability the request reached. Null for list methods and for tools
|
|
10436
|
+
proxied from an upstream MCP server.
|
|
10437
|
+
examples:
|
|
10438
|
+
- IO Tool
|
|
10439
|
+
entityId:
|
|
10440
|
+
type:
|
|
10441
|
+
- string
|
|
10442
|
+
- 'null'
|
|
10443
|
+
description: |-
|
|
10444
|
+
Identifies the Tool (`assetType` `IO Tool`) or builder-mode API (`assetType` `API`)
|
|
10445
|
+
that served a `tools/call`. Null otherwise.
|
|
10446
|
+
examples:
|
|
10447
|
+
- 65a98d1ef2b40000098c3a4d
|
|
10448
|
+
opStartedAt:
|
|
10449
|
+
type:
|
|
10450
|
+
- integer
|
|
10451
|
+
- 'null'
|
|
10452
|
+
format: int64
|
|
10453
|
+
description: Epoch milliseconds when the operation started. Null when not recorded.
|
|
10454
|
+
examples:
|
|
10455
|
+
- 1792745012100
|
|
10456
|
+
opEndedAt:
|
|
10457
|
+
type:
|
|
10458
|
+
- integer
|
|
10459
|
+
- 'null'
|
|
10460
|
+
format: int64
|
|
10461
|
+
description: Epoch milliseconds when the operation ended. Null when not recorded.
|
|
10462
|
+
examples:
|
|
10463
|
+
- 1792745012340
|
|
10464
|
+
authType:
|
|
10465
|
+
type:
|
|
10466
|
+
- string
|
|
10467
|
+
- 'null'
|
|
10468
|
+
enum:
|
|
10469
|
+
- oauth
|
|
10470
|
+
- apiToken
|
|
10471
|
+
- null
|
|
10472
|
+
x-enumDescriptions:
|
|
10473
|
+
oauth: The caller authenticated with an MCP OAuth token.
|
|
10474
|
+
apiToken: The caller authenticated with an API token.
|
|
10475
|
+
description: How the MCP client authenticated. Null when neither applies.
|
|
10476
|
+
examples:
|
|
10477
|
+
- apiToken
|
|
10478
|
+
byUser:
|
|
10479
|
+
type: object
|
|
10480
|
+
description: User who made the request. Present when set.
|
|
10481
|
+
required:
|
|
10482
|
+
- _id
|
|
10483
|
+
- name
|
|
10484
|
+
- email
|
|
10485
|
+
- deleted
|
|
10486
|
+
properties:
|
|
10487
|
+
_id:
|
|
10488
|
+
type: string
|
|
10489
|
+
format: objectId
|
|
10490
|
+
x-celigo-refModel: users
|
|
10491
|
+
description: User who made the request.
|
|
10492
|
+
examples:
|
|
10493
|
+
- 624774a6a7574d3ed9f9a5cc
|
|
10494
|
+
name:
|
|
10495
|
+
type:
|
|
10496
|
+
- string
|
|
10497
|
+
- 'null'
|
|
10498
|
+
description: Display name of the user. Null when the user record is gone or has no name.
|
|
10499
|
+
examples:
|
|
10500
|
+
- Jane Doe
|
|
10501
|
+
email:
|
|
10502
|
+
type:
|
|
10503
|
+
- string
|
|
10504
|
+
- 'null'
|
|
10505
|
+
description: Email of the user. Null when the user record is gone.
|
|
10506
|
+
examples:
|
|
10507
|
+
- jane.doe@example.com
|
|
10508
|
+
deleted:
|
|
10509
|
+
type: boolean
|
|
10510
|
+
description: When true, the user has been deleted or could not be found.
|
|
10511
|
+
examples:
|
|
10512
|
+
- false
|
|
10513
|
+
accessToken:
|
|
10514
|
+
type: object
|
|
10515
|
+
description: API token the request authenticated with. Present when set.
|
|
10516
|
+
required:
|
|
10517
|
+
- _id
|
|
10518
|
+
- name
|
|
10519
|
+
- deleted
|
|
10520
|
+
properties:
|
|
10521
|
+
_id:
|
|
10522
|
+
type: string
|
|
10523
|
+
format: objectId
|
|
10524
|
+
x-celigo-refModel: accesstokens
|
|
10525
|
+
description: API token the request authenticated with.
|
|
10526
|
+
examples:
|
|
10527
|
+
- 66b0c1d2e3f4a5b6c7d8e9f0
|
|
10528
|
+
name:
|
|
10529
|
+
type:
|
|
10530
|
+
- string
|
|
10531
|
+
- 'null'
|
|
10532
|
+
description: Name of the token. Null when the token record is gone or has no name.
|
|
10533
|
+
examples:
|
|
10534
|
+
- MCP client token
|
|
10535
|
+
deleted:
|
|
10536
|
+
type: boolean
|
|
10537
|
+
description: When true, the token has been deleted or could not be found.
|
|
10538
|
+
examples:
|
|
10539
|
+
- false
|
|
10540
|
+
MCPServerRequestLogsResponse:
|
|
10541
|
+
type: object
|
|
10542
|
+
description: |-
|
|
10543
|
+
Envelope returned by `GET /v1/mcpservers/{_id}/logs`. Each page holds at most 50
|
|
10544
|
+
entries; `requests[]` is empty when no request matches.
|
|
10545
|
+
required:
|
|
10546
|
+
- requests
|
|
10547
|
+
properties:
|
|
10548
|
+
requests:
|
|
10549
|
+
type: array
|
|
10550
|
+
description: Request summaries, newest first.
|
|
10551
|
+
items:
|
|
10552
|
+
$ref: '#/components/schemas/MCPServerRequestLogEntry'
|
|
10553
|
+
nextPageURL:
|
|
10554
|
+
type: string
|
|
10555
|
+
description: |-
|
|
10556
|
+
Relative URL of the next page, repeating the current filters with a continuation
|
|
10557
|
+
token. Present when more entries remain. Follow it as returned; do not construct it.
|
|
10558
|
+
examples:
|
|
10559
|
+
- /v1/mcpservers/69eb9fb5b4fc023618e490b8/logs?status=error&nextPageToken=eyJ0IjoxNzkyNzQ1MDEyMzQ1LCJoIjoiMTIzNDU2Nzg5In0
|
|
10560
|
+
MCPServerRequestLogDetail:
|
|
10561
|
+
type: object
|
|
10562
|
+
description: |-
|
|
10563
|
+
Stored request/response payload for one MCP request, returned by
|
|
10564
|
+
`GET /v1/mcpservers/{_id}/logs/{key}`. The stored record is returned as-is with `key`,
|
|
10565
|
+
`id`, `time`, `method`, and `status` decoded from the log key. Records written by older
|
|
10566
|
+
releases may lack some of the other fields.
|
|
10567
|
+
required:
|
|
10568
|
+
- key
|
|
10569
|
+
- id
|
|
10570
|
+
- time
|
|
10571
|
+
- method
|
|
10572
|
+
- status
|
|
10573
|
+
properties:
|
|
10574
|
+
key:
|
|
10575
|
+
type: string
|
|
10576
|
+
description: Echoes the `key` path parameter.
|
|
10577
|
+
examples:
|
|
10578
|
+
- 5465373387655-3f2a9c0d1e4b4c6f8a7b9d0e1f2a3b4c-tools_call-S
|
|
10579
|
+
id:
|
|
10580
|
+
type: string
|
|
10581
|
+
description: Storage id of this record — the second segment of `key`.
|
|
10582
|
+
examples:
|
|
10583
|
+
- 3f2a9c0d1e4b4c6f8a7b9d0e1f2a3b4c
|
|
10584
|
+
time:
|
|
10585
|
+
type: integer
|
|
10586
|
+
format: int64
|
|
10587
|
+
description: Epoch milliseconds when the request was recorded, decoded from `key`.
|
|
10588
|
+
examples:
|
|
10589
|
+
- 1792745012345
|
|
10590
|
+
method:
|
|
10591
|
+
type: string
|
|
10592
|
+
description: JSON-RPC method with `/` replaced by `_`, decoded from `key`.
|
|
10593
|
+
examples:
|
|
10594
|
+
- tools_call
|
|
10595
|
+
status:
|
|
10596
|
+
type: string
|
|
10597
|
+
enum:
|
|
10598
|
+
- success
|
|
10599
|
+
- error
|
|
10600
|
+
- blocked
|
|
10601
|
+
x-enumDescriptions:
|
|
10602
|
+
success: The request completed without an error.
|
|
10603
|
+
error: The request failed.
|
|
10604
|
+
blocked: The request was rejected before it ran by a traffic limit, an access or OAuth scope check, or the network policy.
|
|
10605
|
+
description: Outcome of the request, decoded from `key`. Same values as the listing's `status`.
|
|
10606
|
+
examples:
|
|
10607
|
+
- success
|
|
10608
|
+
request:
|
|
10609
|
+
type: object
|
|
10610
|
+
description: |-
|
|
10611
|
+
Inbound HTTP request as stored — `headers` (the `Authorization` value masked), `body`
|
|
10612
|
+
(the JSON-RPC body as a string), `httpVersion`, `url`, `clientAddress`, and `size`.
|
|
10613
|
+
additionalProperties: true
|
|
10614
|
+
response:
|
|
10615
|
+
type: object
|
|
10616
|
+
description: Response the MCP server sent as stored — `body` (a string), `headers`, and `size`.
|
|
10617
|
+
additionalProperties: true
|
|
10618
|
+
entityName:
|
|
10619
|
+
type:
|
|
10620
|
+
- string
|
|
10621
|
+
- 'null'
|
|
10622
|
+
description: Tool or prompt name, or resource URI, the request targeted. Null for list methods.
|
|
10623
|
+
examples:
|
|
10624
|
+
- get_customer
|
|
10625
|
+
assetType:
|
|
10626
|
+
type:
|
|
10627
|
+
- string
|
|
10628
|
+
- 'null'
|
|
10629
|
+
enum:
|
|
10630
|
+
- IO Tool
|
|
10631
|
+
- API
|
|
10632
|
+
- Prompt
|
|
10633
|
+
- Resource
|
|
10634
|
+
- null
|
|
10635
|
+
x-enumDescriptions:
|
|
10636
|
+
IO Tool: A `tools/call` served by a Celigo Tool.
|
|
10637
|
+
API: A `tools/call` served by a builder-mode API.
|
|
10638
|
+
Prompt: A `prompts/get` request.
|
|
10639
|
+
Resource: A `resources/read` request.
|
|
10640
|
+
description: Kind of capability the request reached. Same values as the listing's `assetType`.
|
|
10641
|
+
examples:
|
|
10642
|
+
- IO Tool
|
|
10643
|
+
_byUserId:
|
|
10644
|
+
type:
|
|
10645
|
+
- string
|
|
10646
|
+
- 'null'
|
|
10647
|
+
format: objectId
|
|
10648
|
+
x-celigo-refModel: users
|
|
10649
|
+
description: |-
|
|
10650
|
+
User who made the request. Unlike the listing, the detail returns the raw id
|
|
10651
|
+
without name or email.
|
|
10652
|
+
examples:
|
|
10653
|
+
- 624774a6a7574d3ed9f9a5cc
|
|
10654
|
+
_accessTokenId:
|
|
10655
|
+
type:
|
|
10656
|
+
- string
|
|
10657
|
+
- 'null'
|
|
10658
|
+
format: objectId
|
|
10659
|
+
x-celigo-refModel: accesstokens
|
|
10660
|
+
description: API token the request authenticated with. Null for other authentication types.
|
|
10661
|
+
examples:
|
|
10662
|
+
- 66b0c1d2e3f4a5b6c7d8e9f0
|
|
10663
|
+
_agentId:
|
|
10664
|
+
type:
|
|
10665
|
+
- string
|
|
10666
|
+
- 'null'
|
|
10667
|
+
description: |-
|
|
10668
|
+
Celigo agent the MCP client identified itself as with the `x-celigo-agent-id` request
|
|
10669
|
+
header. Null when the request carried none.
|
|
10670
|
+
examples:
|
|
10671
|
+
- null
|
|
10672
|
+
clientName:
|
|
10673
|
+
type:
|
|
10674
|
+
- string
|
|
10675
|
+
- 'null'
|
|
10676
|
+
description: Name the MCP client reported in an `initialize` request. Null for other methods.
|
|
10677
|
+
examples:
|
|
10678
|
+
- claude-desktop
|
|
10679
|
+
clientVersion:
|
|
10680
|
+
type:
|
|
10681
|
+
- string
|
|
10682
|
+
- 'null'
|
|
10683
|
+
description: Version the MCP client reported in an `initialize` request. Null for other methods.
|
|
10684
|
+
examples:
|
|
10685
|
+
- 1.4.2
|
|
10686
|
+
sourceType:
|
|
10687
|
+
type:
|
|
10688
|
+
- string
|
|
10689
|
+
- 'null'
|
|
10690
|
+
enum:
|
|
10691
|
+
- celigo
|
|
10692
|
+
- upstream
|
|
10693
|
+
- null
|
|
10694
|
+
x-enumDescriptions:
|
|
10695
|
+
celigo: The capability is served by Celigo.
|
|
10696
|
+
upstream: The capability is proxied from an upstream MCP server.
|
|
10697
|
+
description: Where the targeted capability is served from. Null when it could not be determined.
|
|
10698
|
+
examples:
|
|
10699
|
+
- celigo
|
|
10700
|
+
upstreamHost:
|
|
10701
|
+
type:
|
|
10702
|
+
- string
|
|
10703
|
+
- 'null'
|
|
10704
|
+
description: Host of the upstream MCP server the request was proxied to. Null when the request was not proxied.
|
|
10705
|
+
examples:
|
|
10706
|
+
- null
|
|
10707
|
+
_connectionId:
|
|
10708
|
+
type:
|
|
10709
|
+
- string
|
|
10710
|
+
- 'null'
|
|
10711
|
+
format: objectId
|
|
10712
|
+
x-celigo-refModel: connections
|
|
10713
|
+
description: |-
|
|
10714
|
+
`mcp`-type connection the request was proxied through. Null when the request was not
|
|
10715
|
+
proxied.
|
|
10716
|
+
examples:
|
|
10717
|
+
- null
|
|
10718
|
+
authMode:
|
|
10719
|
+
type:
|
|
10720
|
+
- string
|
|
10721
|
+
- 'null'
|
|
10722
|
+
enum:
|
|
10723
|
+
- parent
|
|
10724
|
+
- null
|
|
10725
|
+
x-enumDescriptions:
|
|
10726
|
+
parent: The request was proxied to the upstream MCP server with the server's own connection credentials.
|
|
10727
|
+
description: How a proxied request authenticated upstream. Null when the request was not proxied.
|
|
10728
|
+
examples:
|
|
10729
|
+
- null
|
|
10730
|
+
upstreamMs:
|
|
10731
|
+
type:
|
|
10732
|
+
- integer
|
|
10733
|
+
- 'null'
|
|
10734
|
+
description: Latency of the hop to the upstream MCP server, in milliseconds. Null when the request was not proxied.
|
|
10735
|
+
examples:
|
|
10736
|
+
- null
|
|
10737
|
+
errorCategory:
|
|
10738
|
+
type:
|
|
10739
|
+
- string
|
|
10740
|
+
- 'null'
|
|
10741
|
+
description: Category of the failure. Null when the request succeeded or was blocked.
|
|
10742
|
+
examples:
|
|
10743
|
+
- null
|
|
10744
|
+
traceId:
|
|
10745
|
+
type:
|
|
10746
|
+
- string
|
|
10747
|
+
- 'null'
|
|
10748
|
+
description: Trace id of the request for cross-service correlation.
|
|
10749
|
+
examples:
|
|
10750
|
+
- 7f9c2e1a4b3d4c5e
|
|
10751
|
+
purgeAt:
|
|
10752
|
+
type:
|
|
10753
|
+
- integer
|
|
10754
|
+
- 'null'
|
|
10755
|
+
format: int64
|
|
10756
|
+
description: Epoch milliseconds when this record expires under the account's data retention period.
|
|
10757
|
+
examples:
|
|
10758
|
+
- 1795337012345
|
|
10759
|
+
limitType:
|
|
10760
|
+
type:
|
|
10761
|
+
- string
|
|
10762
|
+
- 'null'
|
|
10763
|
+
description: Traffic limit that rejected the request. Present when a traffic limit blocked it.
|
|
10764
|
+
denial:
|
|
10765
|
+
type: object
|
|
10766
|
+
description: Details of the access check that rejected the request. Present when an access check blocked it.
|
|
10767
|
+
additionalProperties: true
|
|
10768
|
+
additionalProperties: true
|
|
9679
10769
|
responses:
|
|
9680
10770
|
401-unauthorized:
|
|
9681
10771
|
description: |-
|
|
@@ -9737,9 +10827,9 @@ components:
|
|
|
9737
10827
|
errors:
|
|
9738
10828
|
- code: unprocessable_entity
|
|
9739
10829
|
message: The request could not be processed due to a semantic error.
|
|
9740
|
-
|
|
10830
|
+
403-forbidden:
|
|
9741
10831
|
description: |
|
|
9742
|
-
|
|
10832
|
+
Forbidden. The authenticated caller does not have permission to perform this operation.
|
|
9743
10833
|
content:
|
|
9744
10834
|
application/json:
|
|
9745
10835
|
schema:
|
|
@@ -9748,11 +10838,11 @@ components:
|
|
|
9748
10838
|
default:
|
|
9749
10839
|
value:
|
|
9750
10840
|
errors:
|
|
9751
|
-
- code:
|
|
9752
|
-
message:
|
|
9753
|
-
|
|
10841
|
+
- code: forbidden
|
|
10842
|
+
message: You do not have permission to access this resource.
|
|
10843
|
+
404-not-found:
|
|
9754
10844
|
description: |
|
|
9755
|
-
|
|
10845
|
+
Not found. The requested resource does not exist or is not visible to the caller.
|
|
9756
10846
|
content:
|
|
9757
10847
|
application/json:
|
|
9758
10848
|
schema:
|
|
@@ -9761,7 +10851,7 @@ components:
|
|
|
9761
10851
|
default:
|
|
9762
10852
|
value:
|
|
9763
10853
|
errors:
|
|
9764
|
-
- code:
|
|
9765
|
-
message:
|
|
10854
|
+
- code: not_found
|
|
10855
|
+
message: The requested resource was not found.
|
|
9766
10856
|
x-enable-proxy: true
|
|
9767
10857
|
x-internal: false
|