@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.
@@ -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
- too_many:
1986
+ invalid_id:
1415
1987
  value:
1416
1988
  errors:
1417
- - code: validation_failed
1418
- message: Validation failed. _groupIds cannot exceed 100 entries per request.
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: MCP server not found in this account.
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: not_found
1434
- message: MCP server not found in this account.
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
- Google Cloud project id for Google Cloud Storage connections
6470
- (assistant `googlecloudstorage`, or a `baseURI` pointing at
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 (provider custom_oauth2). Omitting it fails the save
6478
- with 422 project_id_missing on http.unencrypted.googleProjectId
6479
- — "Default project ID is required on OAuth Google Cloud Storage
6480
- connections (http.unencrypted.googleProjectId)." With a
6481
- googleserviceaccount iClient the server fills this from the
6482
- key's project_id. Any other provider fails with 422
6483
- invalid_field on http._iClientId — "IClient provider must be
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 the `googleserviceaccount` key
6531
- a Google Cloud Storage connection uses), or the `awsIam` role for `auth.type` `awsiam`.
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 and
6535
- `GET /v1/iclients` does not list it, yet the connection saves with it). Omit for every
6536
- other auth type. On a Shopify connection `settings.appType` says which of the two it
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, for one): the
6571
- connection saves with that id from the connecting account even though
6572
- `GET /v1/iclients/{_id}` on it is 404 there, so do not refuse a `public` Shopify
6573
- connection on this rule.
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
- 404-not-found:
10830
+ 403-forbidden:
9741
10831
  description: |
9742
- Not found. The requested resource does not exist or is not visible to the caller.
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: not_found
9752
- message: The requested resource was not found.
9753
- 403-forbidden:
10841
+ - code: forbidden
10842
+ message: You do not have permission to access this resource.
10843
+ 404-not-found:
9754
10844
  description: |
9755
- Forbidden. The authenticated caller does not have permission to perform this operation.
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: forbidden
9765
- message: You do not have permission to access this resource.
10854
+ - code: not_found
10855
+ message: The requested resource was not found.
9766
10856
  x-enable-proxy: true
9767
10857
  x-internal: false