@nvisy/sdk 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -196,24 +196,13 @@ interface paths {
196
196
  get: {
197
197
  parameters: {
198
198
  query?: {
199
+ /** @description The maximum number of records to return (1-100, default: 20). */
200
+ limit?: number | null;
199
201
  /**
200
- * @description The number of records to skip before starting to return results.
201
- *
202
- * For performance reasons, this is limited to prevent expensive deep
203
- * pagination queries. Consider using cursor-based pagination for
204
- * better performance when dealing with large datasets.
205
- *
206
- * **Performance Impact**: High offsets require the database to scan
207
- * and skip many records, which can be slow for large tables.
208
- */
209
- offset?: number | null;
210
- /**
211
- * @description The maximum number of records to return in a single request.
212
- *
213
- * This is balanced between usability and performance. Very large limits
214
- * can cause memory pressure and slow response times.
202
+ * @description Cursor pointing to the last item of the previous page.
203
+ * Obtain this from the `nextCursor` field in the response.
215
204
  */
216
- limit?: number | null;
205
+ after?: string | null;
217
206
  };
218
207
  header?: never;
219
208
  path?: never;
@@ -221,12 +210,19 @@ interface paths {
221
210
  };
222
211
  requestBody?: never;
223
212
  responses: {
213
+ /**
214
+ * @description Generic paginated response wrapper.
215
+ *
216
+ * Provides a consistent structure for all paginated API responses with
217
+ * cursor-based pagination support. When `next_cursor` is present, there
218
+ * are more items to fetch.
219
+ */
224
220
  200: {
225
221
  headers: {
226
222
  [name: string]: unknown;
227
223
  };
228
224
  content: {
229
- "application/json": components["schemas"]["ApiToken"][];
225
+ "application/json": components["schemas"]["ApiTokensPage"];
230
226
  };
231
227
  };
232
228
  /**
@@ -264,7 +260,7 @@ interface paths {
264
260
  put?: never;
265
261
  /**
266
262
  * Create API token
267
- * @description Creates a new API token. The full token is only shown once upon creation.
263
+ * @description Creates a new API token. The JWT token is only shown once upon creation.
268
264
  */
269
265
  post: {
270
266
  parameters: {
@@ -280,13 +276,13 @@ interface paths {
280
276
  };
281
277
  };
282
278
  responses: {
283
- /** @description Response when creating a new API token (includes actual tokens, shown only once). */
279
+ /** @description API token with JWT token string (only returned on creation). */
284
280
  201: {
285
281
  headers: {
286
282
  [name: string]: unknown;
287
283
  };
288
284
  content: {
289
- "application/json": components["schemas"]["ApiTokenWithSecret"];
285
+ "application/json": components["schemas"]["ApiTokenWithJWT"];
290
286
  };
291
287
  };
292
288
  /**
@@ -327,7 +323,7 @@ interface paths {
327
323
  patch?: never;
328
324
  trace?: never;
329
325
  };
330
- "/api-tokens/{access_token}/": {
326
+ "/api-tokens/{tokenId}/": {
331
327
  parameters: {
332
328
  query?: never;
333
329
  header?: never;
@@ -342,7 +338,10 @@ interface paths {
342
338
  parameters: {
343
339
  query?: never;
344
340
  header?: never;
345
- path?: never;
341
+ path: {
342
+ /** @description Unique identifier of the API token. */
343
+ tokenId: string;
344
+ };
346
345
  cookie?: never;
347
346
  };
348
347
  requestBody?: never;
@@ -398,7 +397,10 @@ interface paths {
398
397
  parameters: {
399
398
  query?: never;
400
399
  header?: never;
401
- path?: never;
400
+ path: {
401
+ /** @description Unique identifier of the API token. */
402
+ tokenId: string;
403
+ };
402
404
  cookie?: never;
403
405
  };
404
406
  requestBody?: never;
@@ -461,13 +463,16 @@ interface paths {
461
463
  head?: never;
462
464
  /**
463
465
  * Update API token
464
- * @description Updates an existing API token's name or description.
466
+ * @description Updates an existing API token's name.
465
467
  */
466
468
  patch: {
467
469
  parameters: {
468
470
  query?: never;
469
471
  header?: never;
470
- path?: never;
472
+ path: {
473
+ /** @description Unique identifier of the API token. */
474
+ tokenId: string;
475
+ };
471
476
  cookie?: never;
472
477
  };
473
478
  /** @description Request to update an existing API token. */
@@ -549,24 +554,13 @@ interface paths {
549
554
  get: {
550
555
  parameters: {
551
556
  query?: {
557
+ /** @description The maximum number of records to return (1-100, default: 20). */
558
+ limit?: number | null;
552
559
  /**
553
- * @description The number of records to skip before starting to return results.
554
- *
555
- * For performance reasons, this is limited to prevent expensive deep
556
- * pagination queries. Consider using cursor-based pagination for
557
- * better performance when dealing with large datasets.
558
- *
559
- * **Performance Impact**: High offsets require the database to scan
560
- * and skip many records, which can be slow for large tables.
561
- */
562
- offset?: number | null;
563
- /**
564
- * @description The maximum number of records to return in a single request.
565
- *
566
- * This is balanced between usability and performance. Very large limits
567
- * can cause memory pressure and slow response times.
560
+ * @description Cursor pointing to the last item of the previous page.
561
+ * Obtain this from the `nextCursor` field in the response.
568
562
  */
569
- limit?: number | null;
563
+ after?: string | null;
570
564
  };
571
565
  header?: never;
572
566
  path?: never;
@@ -574,12 +568,19 @@ interface paths {
574
568
  };
575
569
  requestBody?: never;
576
570
  responses: {
571
+ /**
572
+ * @description Generic paginated response wrapper.
573
+ *
574
+ * Provides a consistent structure for all paginated API responses with
575
+ * cursor-based pagination support. When `next_cursor` is present, there
576
+ * are more items to fetch.
577
+ */
577
578
  200: {
578
579
  headers: {
579
580
  [name: string]: unknown;
580
581
  };
581
582
  content: {
582
- "application/json": components["schemas"]["Workspace"][];
583
+ "application/json": components["schemas"]["WorkspacesPage"];
583
584
  };
584
585
  };
585
586
  /**
@@ -616,17 +617,6 @@ interface paths {
616
617
  *
617
618
  * Creates a new workspace with the specified configuration. The creator is
618
619
  * automatically added as an owner of the workspace.
619
- *
620
- * # Example
621
- *
622
- * ```json
623
- * {
624
- * "displayName": "My Workspace",
625
- * "description": "A sample workspace",
626
- * "keepForSec": 86400,
627
- * "autoCleanup": true
628
- * }
629
- * ```
630
620
  */
631
621
  requestBody: {
632
622
  content: {
@@ -681,7 +671,7 @@ interface paths {
681
671
  patch?: never;
682
672
  trace?: never;
683
673
  };
684
- "/workspaces/{workspace_id}/": {
674
+ "/workspaces/{workspaceId}/": {
685
675
  parameters: {
686
676
  query?: never;
687
677
  header?: never;
@@ -852,15 +842,6 @@ interface paths {
852
842
  * @description Request payload to update an existing workspace.
853
843
  *
854
844
  * All fields are optional; only provided fields will be updated.
855
- *
856
- * # Example
857
- *
858
- * ```json
859
- * {
860
- * "displayName": "Updated Workspace Name",
861
- * "enableComments": true
862
- * }
863
- * ```
864
845
  */
865
846
  requestBody: {
866
847
  content: {
@@ -926,7 +907,155 @@ interface paths {
926
907
  };
927
908
  trace?: never;
928
909
  };
929
- "/workspaces/{workspace_id}/integrations/": {
910
+ "/workspaces/{workspaceId}/notifications": {
911
+ parameters: {
912
+ query?: never;
913
+ header?: never;
914
+ path?: never;
915
+ cookie?: never;
916
+ };
917
+ /**
918
+ * Get notification settings
919
+ * @description Returns the notification settings for the authenticated user in a workspace.
920
+ */
921
+ get: {
922
+ parameters: {
923
+ query?: never;
924
+ header?: never;
925
+ path: {
926
+ /** @description Unique identifier of the workspace. */
927
+ workspaceId: string;
928
+ };
929
+ cookie?: never;
930
+ };
931
+ requestBody?: never;
932
+ responses: {
933
+ /** @description Response for notification settings within a workspace. */
934
+ 200: {
935
+ headers: {
936
+ [name: string]: unknown;
937
+ };
938
+ content: {
939
+ "application/json": components["schemas"]["NotificationSettings"];
940
+ };
941
+ };
942
+ /**
943
+ * @description HTTP error response representation with security-conscious design.
944
+ *
945
+ * This struct contains all the information needed to serialize an error
946
+ * response, including the error name, message, HTTP status code, resource
947
+ * information, and user-friendly messages.
948
+ */
949
+ 401: {
950
+ headers: {
951
+ [name: string]: unknown;
952
+ };
953
+ content: {
954
+ "application/json": components["schemas"]["ErrorResponse"];
955
+ };
956
+ };
957
+ /**
958
+ * @description HTTP error response representation with security-conscious design.
959
+ *
960
+ * This struct contains all the information needed to serialize an error
961
+ * response, including the error name, message, HTTP status code, resource
962
+ * information, and user-friendly messages.
963
+ */
964
+ 404: {
965
+ headers: {
966
+ [name: string]: unknown;
967
+ };
968
+ content: {
969
+ "application/json": components["schemas"]["ErrorResponse"];
970
+ };
971
+ };
972
+ };
973
+ };
974
+ put?: never;
975
+ post?: never;
976
+ delete?: never;
977
+ options?: never;
978
+ head?: never;
979
+ /**
980
+ * Update notification settings
981
+ * @description Updates the notification settings for the authenticated user in a workspace.
982
+ */
983
+ patch: {
984
+ parameters: {
985
+ query?: never;
986
+ header?: never;
987
+ path: {
988
+ /** @description Unique identifier of the workspace. */
989
+ workspaceId: string;
990
+ };
991
+ cookie?: never;
992
+ };
993
+ /** @description Request payload for updating notification settings. */
994
+ requestBody: {
995
+ content: {
996
+ "application/json": components["schemas"]["UpdateNotificationSettings"];
997
+ };
998
+ };
999
+ responses: {
1000
+ /** @description Response for notification settings within a workspace. */
1001
+ 200: {
1002
+ headers: {
1003
+ [name: string]: unknown;
1004
+ };
1005
+ content: {
1006
+ "application/json": components["schemas"]["NotificationSettings"];
1007
+ };
1008
+ };
1009
+ /**
1010
+ * @description HTTP error response representation with security-conscious design.
1011
+ *
1012
+ * This struct contains all the information needed to serialize an error
1013
+ * response, including the error name, message, HTTP status code, resource
1014
+ * information, and user-friendly messages.
1015
+ */
1016
+ 400: {
1017
+ headers: {
1018
+ [name: string]: unknown;
1019
+ };
1020
+ content: {
1021
+ "application/json": components["schemas"]["ErrorResponse"];
1022
+ };
1023
+ };
1024
+ /**
1025
+ * @description HTTP error response representation with security-conscious design.
1026
+ *
1027
+ * This struct contains all the information needed to serialize an error
1028
+ * response, including the error name, message, HTTP status code, resource
1029
+ * information, and user-friendly messages.
1030
+ */
1031
+ 401: {
1032
+ headers: {
1033
+ [name: string]: unknown;
1034
+ };
1035
+ content: {
1036
+ "application/json": components["schemas"]["ErrorResponse"];
1037
+ };
1038
+ };
1039
+ /**
1040
+ * @description HTTP error response representation with security-conscious design.
1041
+ *
1042
+ * This struct contains all the information needed to serialize an error
1043
+ * response, including the error name, message, HTTP status code, resource
1044
+ * information, and user-friendly messages.
1045
+ */
1046
+ 404: {
1047
+ headers: {
1048
+ [name: string]: unknown;
1049
+ };
1050
+ content: {
1051
+ "application/json": components["schemas"]["ErrorResponse"];
1052
+ };
1053
+ };
1054
+ };
1055
+ };
1056
+ trace?: never;
1057
+ };
1058
+ "/workspaces/{workspaceId}/integrations/": {
930
1059
  parameters: {
931
1060
  query?: never;
932
1061
  header?: never;
@@ -940,26 +1069,13 @@ interface paths {
940
1069
  get: {
941
1070
  parameters: {
942
1071
  query?: {
943
- /** @description Filter by integration type. */
944
- integrationType?: components["schemas"]["IntegrationType"] | null;
945
- /**
946
- * @description The number of records to skip before starting to return results.
947
- *
948
- * For performance reasons, this is limited to prevent expensive deep
949
- * pagination queries. Consider using cursor-based pagination for
950
- * better performance when dealing with large datasets.
951
- *
952
- * **Performance Impact**: High offsets require the database to scan
953
- * and skip many records, which can be slow for large tables.
954
- */
955
- offset?: number | null;
1072
+ /** @description The maximum number of records to return (1-100, default: 20). */
1073
+ limit?: number | null;
956
1074
  /**
957
- * @description The maximum number of records to return in a single request.
958
- *
959
- * This is balanced between usability and performance. Very large limits
960
- * can cause memory pressure and slow response times.
1075
+ * @description Cursor pointing to the last item of the previous page.
1076
+ * Obtain this from the `nextCursor` field in the response.
961
1077
  */
962
- limit?: number | null;
1078
+ after?: string | null;
963
1079
  };
964
1080
  header?: never;
965
1081
  path: {
@@ -970,12 +1086,19 @@ interface paths {
970
1086
  };
971
1087
  requestBody?: never;
972
1088
  responses: {
1089
+ /**
1090
+ * @description Generic paginated response wrapper.
1091
+ *
1092
+ * Provides a consistent structure for all paginated API responses with
1093
+ * cursor-based pagination support. When `next_cursor` is present, there
1094
+ * are more items to fetch.
1095
+ */
973
1096
  200: {
974
1097
  headers: {
975
1098
  [name: string]: unknown;
976
1099
  };
977
1100
  content: {
978
- "application/json": components["schemas"]["Integration"][];
1101
+ "application/json": components["schemas"]["IntegrationsPage"];
979
1102
  };
980
1103
  };
981
1104
  /**
@@ -1109,7 +1232,7 @@ interface paths {
1109
1232
  patch?: never;
1110
1233
  trace?: never;
1111
1234
  };
1112
- "/integrations/{integration_id}/": {
1235
+ "/integrations/{integrationId}/": {
1113
1236
  parameters: {
1114
1237
  query?: never;
1115
1238
  header?: never;
@@ -1371,7 +1494,7 @@ interface paths {
1371
1494
  patch?: never;
1372
1495
  trace?: never;
1373
1496
  };
1374
- "/integrations/{integration_id}/credentials/": {
1497
+ "/integrations/{integrationId}/credentials/": {
1375
1498
  parameters: {
1376
1499
  query?: never;
1377
1500
  header?: never;
@@ -1478,7 +1601,7 @@ interface paths {
1478
1601
  };
1479
1602
  trace?: never;
1480
1603
  };
1481
- "/workspaces/{workspace_id}/runs/": {
1604
+ "/workspaces/{workspaceId}/runs/": {
1482
1605
  parameters: {
1483
1606
  query?: never;
1484
1607
  header?: never;
@@ -1492,24 +1615,13 @@ interface paths {
1492
1615
  get: {
1493
1616
  parameters: {
1494
1617
  query?: {
1618
+ /** @description The maximum number of records to return (1-100, default: 20). */
1619
+ limit?: number | null;
1495
1620
  /**
1496
- * @description The number of records to skip before starting to return results.
1497
- *
1498
- * For performance reasons, this is limited to prevent expensive deep
1499
- * pagination queries. Consider using cursor-based pagination for
1500
- * better performance when dealing with large datasets.
1501
- *
1502
- * **Performance Impact**: High offsets require the database to scan
1503
- * and skip many records, which can be slow for large tables.
1504
- */
1505
- offset?: number | null;
1506
- /**
1507
- * @description The maximum number of records to return in a single request.
1508
- *
1509
- * This is balanced between usability and performance. Very large limits
1510
- * can cause memory pressure and slow response times.
1621
+ * @description Cursor pointing to the last item of the previous page.
1622
+ * Obtain this from the `nextCursor` field in the response.
1511
1623
  */
1512
- limit?: number | null;
1624
+ after?: string | null;
1513
1625
  };
1514
1626
  header?: never;
1515
1627
  path: {
@@ -1520,12 +1632,19 @@ interface paths {
1520
1632
  };
1521
1633
  requestBody?: never;
1522
1634
  responses: {
1635
+ /**
1636
+ * @description Generic paginated response wrapper.
1637
+ *
1638
+ * Provides a consistent structure for all paginated API responses with
1639
+ * cursor-based pagination support. When `next_cursor` is present, there
1640
+ * are more items to fetch.
1641
+ */
1523
1642
  200: {
1524
1643
  headers: {
1525
1644
  [name: string]: unknown;
1526
1645
  };
1527
1646
  content: {
1528
- "application/json": components["schemas"]["IntegrationRun"][];
1647
+ "application/json": components["schemas"]["IntegrationRunsPage"];
1529
1648
  };
1530
1649
  };
1531
1650
  /**
@@ -1568,7 +1687,7 @@ interface paths {
1568
1687
  patch?: never;
1569
1688
  trace?: never;
1570
1689
  };
1571
- "/runs/{run_id}": {
1690
+ "/runs/{runId}": {
1572
1691
  parameters: {
1573
1692
  query?: never;
1574
1693
  header?: never;
@@ -1655,7 +1774,7 @@ interface paths {
1655
1774
  patch?: never;
1656
1775
  trace?: never;
1657
1776
  };
1658
- "/workspaces/{workspace_id}/invites/": {
1777
+ "/workspaces/{workspaceId}/invites/": {
1659
1778
  parameters: {
1660
1779
  query?: never;
1661
1780
  header?: never;
@@ -1675,24 +1794,13 @@ interface paths {
1675
1794
  sortBy?: components["schemas"]["InviteSortField"] | null;
1676
1795
  /** @description Sort order (asc or desc). */
1677
1796
  order?: components["schemas"]["SortOrder"] | null;
1797
+ /** @description The maximum number of records to return (1-100, default: 20). */
1798
+ limit?: number | null;
1678
1799
  /**
1679
- * @description The number of records to skip before starting to return results.
1680
- *
1681
- * For performance reasons, this is limited to prevent expensive deep
1682
- * pagination queries. Consider using cursor-based pagination for
1683
- * better performance when dealing with large datasets.
1684
- *
1685
- * **Performance Impact**: High offsets require the database to scan
1686
- * and skip many records, which can be slow for large tables.
1687
- */
1688
- offset?: number | null;
1689
- /**
1690
- * @description The maximum number of records to return in a single request.
1691
- *
1692
- * This is balanced between usability and performance. Very large limits
1693
- * can cause memory pressure and slow response times.
1800
+ * @description Cursor pointing to the last item of the previous page.
1801
+ * Obtain this from the `nextCursor` field in the response.
1694
1802
  */
1695
- limit?: number | null;
1803
+ after?: string | null;
1696
1804
  };
1697
1805
  header?: never;
1698
1806
  path: {
@@ -1703,12 +1811,19 @@ interface paths {
1703
1811
  };
1704
1812
  requestBody?: never;
1705
1813
  responses: {
1814
+ /**
1815
+ * @description Generic paginated response wrapper.
1816
+ *
1817
+ * Provides a consistent structure for all paginated API responses with
1818
+ * cursor-based pagination support. When `next_cursor` is present, there
1819
+ * are more items to fetch.
1820
+ */
1706
1821
  200: {
1707
1822
  headers: {
1708
1823
  [name: string]: unknown;
1709
1824
  };
1710
1825
  content: {
1711
- "application/json": components["schemas"]["Invite"][];
1826
+ "application/json": components["schemas"]["InvitesPage"];
1712
1827
  };
1713
1828
  };
1714
1829
  /**
@@ -1848,7 +1963,7 @@ interface paths {
1848
1963
  patch?: never;
1849
1964
  trace?: never;
1850
1965
  };
1851
- "/workspaces/{workspace_id}/invites/code/": {
1966
+ "/workspaces/{workspaceId}/invites/code/": {
1852
1967
  parameters: {
1853
1968
  query?: never;
1854
1969
  header?: never;
@@ -1940,7 +2055,7 @@ interface paths {
1940
2055
  patch?: never;
1941
2056
  trace?: never;
1942
2057
  };
1943
- "/invites/{invite_id}/": {
2058
+ "/invites/{inviteId}/": {
1944
2059
  parameters: {
1945
2060
  query?: never;
1946
2061
  header?: never;
@@ -1949,12 +2064,11 @@ interface paths {
1949
2064
  };
1950
2065
  get?: never;
1951
2066
  put?: never;
1952
- post?: never;
1953
2067
  /**
1954
- * Cancel invitation
1955
- * @description Permanently cancels a pending invitation. The invitee will no longer be able to accept it.
2068
+ * Reply to invitation
2069
+ * @description Allows the invitee to accept or decline a workspace invitation.
1956
2070
  */
1957
- delete: {
2071
+ post: {
1958
2072
  parameters: {
1959
2073
  query?: never;
1960
2074
  header?: never;
@@ -1964,14 +2078,27 @@ interface paths {
1964
2078
  };
1965
2079
  cookie?: never;
1966
2080
  };
1967
- requestBody?: never;
2081
+ /** @description Request to respond to a workspace invitation. */
2082
+ requestBody: {
2083
+ content: {
2084
+ "application/json": components["schemas"]["ReplyInvite"];
2085
+ };
2086
+ };
1968
2087
  responses: {
1969
- /** @description no content */
2088
+ /**
2089
+ * @description Workspace invite with complete information.
2090
+ *
2091
+ * This response includes all the essential information about an
2092
+ * invitation, including the unique invite ID that can be used to track or cancel
2093
+ * the invitation later.
2094
+ */
1970
2095
  200: {
1971
2096
  headers: {
1972
2097
  [name: string]: unknown;
1973
2098
  };
1974
- content?: never;
2099
+ content: {
2100
+ "application/json": components["schemas"]["Invite"];
2101
+ };
1975
2102
  };
1976
2103
  /**
1977
2104
  * @description HTTP error response representation with security-conscious design.
@@ -1980,7 +2107,7 @@ interface paths {
1980
2107
  * response, including the error name, message, HTTP status code, resource
1981
2108
  * information, and user-friendly messages.
1982
2109
  */
1983
- 401: {
2110
+ 400: {
1984
2111
  headers: {
1985
2112
  [name: string]: unknown;
1986
2113
  };
@@ -1995,7 +2122,7 @@ interface paths {
1995
2122
  * response, including the error name, message, HTTP status code, resource
1996
2123
  * information, and user-friendly messages.
1997
2124
  */
1998
- 403: {
2125
+ 401: {
1999
2126
  headers: {
2000
2127
  [name: string]: unknown;
2001
2128
  };
@@ -2020,29 +2147,11 @@ interface paths {
2020
2147
  };
2021
2148
  };
2022
2149
  };
2023
- options?: never;
2024
- head?: never;
2025
- patch?: never;
2026
- trace?: never;
2027
- };
2028
- "/invites/{invite_id}/reply/": {
2029
- parameters: {
2030
- query?: never;
2031
- header?: never;
2032
- path?: never;
2033
- cookie?: never;
2034
- };
2035
- get?: never;
2036
- put?: never;
2037
- post?: never;
2038
- delete?: never;
2039
- options?: never;
2040
- head?: never;
2041
2150
  /**
2042
- * Reply to invitation
2043
- * @description Allows the invitee to accept or decline a workspace invitation.
2151
+ * Cancel invitation
2152
+ * @description Permanently cancels a pending invitation. The invitee will no longer be able to accept it.
2044
2153
  */
2045
- patch: {
2154
+ delete: {
2046
2155
  parameters: {
2047
2156
  query?: never;
2048
2157
  header?: never;
@@ -2052,27 +2161,14 @@ interface paths {
2052
2161
  };
2053
2162
  cookie?: never;
2054
2163
  };
2055
- /** @description Request to respond to a workspace invitation. */
2056
- requestBody: {
2057
- content: {
2058
- "application/json": components["schemas"]["ReplyInvite"];
2059
- };
2060
- };
2164
+ requestBody?: never;
2061
2165
  responses: {
2062
- /**
2063
- * @description Workspace invite with complete information.
2064
- *
2065
- * This response includes all the essential information about an
2066
- * invitation, including the unique invite ID that can be used to track or cancel
2067
- * the invitation later.
2068
- */
2166
+ /** @description no content */
2069
2167
  200: {
2070
2168
  headers: {
2071
2169
  [name: string]: unknown;
2072
2170
  };
2073
- content: {
2074
- "application/json": components["schemas"]["Invite"];
2075
- };
2171
+ content?: never;
2076
2172
  };
2077
2173
  /**
2078
2174
  * @description HTTP error response representation with security-conscious design.
@@ -2081,7 +2177,7 @@ interface paths {
2081
2177
  * response, including the error name, message, HTTP status code, resource
2082
2178
  * information, and user-friendly messages.
2083
2179
  */
2084
- 400: {
2180
+ 401: {
2085
2181
  headers: {
2086
2182
  [name: string]: unknown;
2087
2183
  };
@@ -2096,7 +2192,7 @@ interface paths {
2096
2192
  * response, including the error name, message, HTTP status code, resource
2097
2193
  * information, and user-friendly messages.
2098
2194
  */
2099
- 401: {
2195
+ 403: {
2100
2196
  headers: {
2101
2197
  [name: string]: unknown;
2102
2198
  };
@@ -2121,20 +2217,84 @@ interface paths {
2121
2217
  };
2122
2218
  };
2123
2219
  };
2220
+ options?: never;
2221
+ head?: never;
2222
+ patch?: never;
2124
2223
  trace?: never;
2125
2224
  };
2126
- "/invites/{invite_code}/join/": {
2225
+ "/invites/code/{inviteCode}/": {
2127
2226
  parameters: {
2128
2227
  query?: never;
2129
2228
  header?: never;
2130
2229
  path?: never;
2131
2230
  cookie?: never;
2132
2231
  };
2133
- get?: never;
2232
+ /**
2233
+ * Preview invite
2234
+ * @description Returns workspace information for an invite code, allowing users to preview the workspace before joining. Does not require authentication.
2235
+ */
2236
+ get: {
2237
+ parameters: {
2238
+ query?: never;
2239
+ header?: never;
2240
+ path: {
2241
+ /** @description The invite code to use for joining the workspace. */
2242
+ inviteCode: string;
2243
+ };
2244
+ cookie?: never;
2245
+ };
2246
+ requestBody?: never;
2247
+ responses: {
2248
+ /**
2249
+ * @description Preview of an invite with workspace details for display before joining.
2250
+ *
2251
+ * This is a public-facing response that shows workspace information
2252
+ * to help users decide whether to join via an invite code.
2253
+ */
2254
+ 200: {
2255
+ headers: {
2256
+ [name: string]: unknown;
2257
+ };
2258
+ content: {
2259
+ "application/json": components["schemas"]["InvitePreview"];
2260
+ };
2261
+ };
2262
+ /**
2263
+ * @description HTTP error response representation with security-conscious design.
2264
+ *
2265
+ * This struct contains all the information needed to serialize an error
2266
+ * response, including the error name, message, HTTP status code, resource
2267
+ * information, and user-friendly messages.
2268
+ */
2269
+ 400: {
2270
+ headers: {
2271
+ [name: string]: unknown;
2272
+ };
2273
+ content: {
2274
+ "application/json": components["schemas"]["ErrorResponse"];
2275
+ };
2276
+ };
2277
+ /**
2278
+ * @description HTTP error response representation with security-conscious design.
2279
+ *
2280
+ * This struct contains all the information needed to serialize an error
2281
+ * response, including the error name, message, HTTP status code, resource
2282
+ * information, and user-friendly messages.
2283
+ */
2284
+ 404: {
2285
+ headers: {
2286
+ [name: string]: unknown;
2287
+ };
2288
+ content: {
2289
+ "application/json": components["schemas"]["ErrorResponse"];
2290
+ };
2291
+ };
2292
+ };
2293
+ };
2134
2294
  put?: never;
2135
2295
  /**
2136
- * Join via invite code
2137
- * @description Joins a workspace using a valid invite code. The user becomes a member with the role specified in the code.
2296
+ * Reply to invite code
2297
+ * @description Accepts or declines a workspace invite code. If accepted (the default when no body is provided), the user becomes a member with the role specified in the code. If declined, no action is taken.
2138
2298
  */
2139
2299
  post: {
2140
2300
  parameters: {
@@ -2146,8 +2306,20 @@ interface paths {
2146
2306
  };
2147
2307
  cookie?: never;
2148
2308
  };
2149
- requestBody?: never;
2309
+ requestBody: {
2310
+ content: {
2311
+ "application/json": components["schemas"]["ReplyInvite"] | null;
2312
+ };
2313
+ };
2150
2314
  responses: {
2315
+ 200: {
2316
+ headers: {
2317
+ [name: string]: unknown;
2318
+ };
2319
+ content: {
2320
+ "application/json": components["schemas"]["Member"] | null;
2321
+ };
2322
+ };
2151
2323
  /** @description Represents a workspace member. */
2152
2324
  201: {
2153
2325
  headers: {
@@ -2225,7 +2397,7 @@ interface paths {
2225
2397
  patch?: never;
2226
2398
  trace?: never;
2227
2399
  };
2228
- "/workspaces/{workspace_id}/members/": {
2400
+ "/workspaces/{workspaceId}/members/": {
2229
2401
  parameters: {
2230
2402
  query?: never;
2231
2403
  header?: never;
@@ -2247,24 +2419,13 @@ interface paths {
2247
2419
  sortBy?: components["schemas"]["MemberSortField"] | null;
2248
2420
  /** @description Sort order (asc or desc). */
2249
2421
  order?: components["schemas"]["SortOrder"] | null;
2422
+ /** @description The maximum number of records to return (1-100, default: 20). */
2423
+ limit?: number | null;
2250
2424
  /**
2251
- * @description The number of records to skip before starting to return results.
2252
- *
2253
- * For performance reasons, this is limited to prevent expensive deep
2254
- * pagination queries. Consider using cursor-based pagination for
2255
- * better performance when dealing with large datasets.
2256
- *
2257
- * **Performance Impact**: High offsets require the database to scan
2258
- * and skip many records, which can be slow for large tables.
2259
- */
2260
- offset?: number | null;
2261
- /**
2262
- * @description The maximum number of records to return in a single request.
2263
- *
2264
- * This is balanced between usability and performance. Very large limits
2265
- * can cause memory pressure and slow response times.
2425
+ * @description Cursor pointing to the last item of the previous page.
2426
+ * Obtain this from the `nextCursor` field in the response.
2266
2427
  */
2267
- limit?: number | null;
2428
+ after?: string | null;
2268
2429
  };
2269
2430
  header?: never;
2270
2431
  path: {
@@ -2275,12 +2436,19 @@ interface paths {
2275
2436
  };
2276
2437
  requestBody?: never;
2277
2438
  responses: {
2439
+ /**
2440
+ * @description Generic paginated response wrapper.
2441
+ *
2442
+ * Provides a consistent structure for all paginated API responses with
2443
+ * cursor-based pagination support. When `next_cursor` is present, there
2444
+ * are more items to fetch.
2445
+ */
2278
2446
  200: {
2279
2447
  headers: {
2280
2448
  [name: string]: unknown;
2281
2449
  };
2282
2450
  content: {
2283
- "application/json": components["schemas"]["Member"][];
2451
+ "application/json": components["schemas"]["MembersPage"];
2284
2452
  };
2285
2453
  };
2286
2454
  /**
@@ -2338,7 +2506,7 @@ interface paths {
2338
2506
  patch?: never;
2339
2507
  trace?: never;
2340
2508
  };
2341
- "/workspaces/{workspace_id}/members/leave": {
2509
+ "/workspaces/{workspaceId}/members/leave": {
2342
2510
  parameters: {
2343
2511
  query?: never;
2344
2512
  header?: never;
@@ -2423,7 +2591,7 @@ interface paths {
2423
2591
  patch?: never;
2424
2592
  trace?: never;
2425
2593
  };
2426
- "/workspaces/{workspace_id}/members/{account_id}/": {
2594
+ "/workspaces/{workspaceId}/members/{accountId}/": {
2427
2595
  parameters: {
2428
2596
  query?: never;
2429
2597
  header?: never;
@@ -2598,7 +2766,7 @@ interface paths {
2598
2766
  patch?: never;
2599
2767
  trace?: never;
2600
2768
  };
2601
- "/workspaces/{workspace_id}/members/{account_id}/role": {
2769
+ "/workspaces/{workspaceId}/members/{accountId}/role": {
2602
2770
  parameters: {
2603
2771
  query?: never;
2604
2772
  header?: never;
@@ -2630,7 +2798,7 @@ interface paths {
2630
2798
  /** @description Request to update a member's role. */
2631
2799
  requestBody: {
2632
2800
  content: {
2633
- "application/json": components["schemas"]["UpdateMemberRole"];
2801
+ "application/json": components["schemas"]["UpdateMember"];
2634
2802
  };
2635
2803
  };
2636
2804
  responses: {
@@ -2707,7 +2875,7 @@ interface paths {
2707
2875
  };
2708
2876
  trace?: never;
2709
2877
  };
2710
- "/workspaces/{workspace_id}/webhooks/": {
2878
+ "/workspaces/{workspaceId}/webhooks/": {
2711
2879
  parameters: {
2712
2880
  query?: never;
2713
2881
  header?: never;
@@ -2720,7 +2888,15 @@ interface paths {
2720
2888
  */
2721
2889
  get: {
2722
2890
  parameters: {
2723
- query?: never;
2891
+ query?: {
2892
+ /** @description The maximum number of records to return (1-100, default: 20). */
2893
+ limit?: number | null;
2894
+ /**
2895
+ * @description Cursor pointing to the last item of the previous page.
2896
+ * Obtain this from the `nextCursor` field in the response.
2897
+ */
2898
+ after?: string | null;
2899
+ };
2724
2900
  header?: never;
2725
2901
  path: {
2726
2902
  /** @description Unique identifier of the workspace. */
@@ -2730,12 +2906,19 @@ interface paths {
2730
2906
  };
2731
2907
  requestBody?: never;
2732
2908
  responses: {
2909
+ /**
2910
+ * @description Generic paginated response wrapper.
2911
+ *
2912
+ * Provides a consistent structure for all paginated API responses with
2913
+ * cursor-based pagination support. When `next_cursor` is present, there
2914
+ * are more items to fetch.
2915
+ */
2733
2916
  200: {
2734
2917
  headers: {
2735
2918
  [name: string]: unknown;
2736
2919
  };
2737
2920
  content: {
2738
- "application/json": components["schemas"]["Webhook"][];
2921
+ "application/json": components["schemas"]["WebhooksPage"];
2739
2922
  };
2740
2923
  };
2741
2924
  /**
@@ -2773,7 +2956,7 @@ interface paths {
2773
2956
  put?: never;
2774
2957
  /**
2775
2958
  * Create webhook
2776
- * @description Creates a new webhook. The secret is only shown once at creation.
2959
+ * @description Creates a new webhook for the workspace.
2777
2960
  */
2778
2961
  post: {
2779
2962
  parameters: {
@@ -2792,13 +2975,13 @@ interface paths {
2792
2975
  };
2793
2976
  };
2794
2977
  responses: {
2795
- /** @description Workspace webhook response with secret (returned only at creation). */
2978
+ /** @description Workspace webhook response. */
2796
2979
  201: {
2797
2980
  headers: {
2798
2981
  [name: string]: unknown;
2799
2982
  };
2800
2983
  content: {
2801
- "application/json": components["schemas"]["WebhookWithSecret"];
2984
+ "application/json": components["schemas"]["Webhook"];
2802
2985
  };
2803
2986
  };
2804
2987
  /**
@@ -2854,7 +3037,7 @@ interface paths {
2854
3037
  patch?: never;
2855
3038
  trace?: never;
2856
3039
  };
2857
- "/webhooks/{webhook_id}/": {
3040
+ "/webhooks/{webhookId}/": {
2858
3041
  parameters: {
2859
3042
  query?: never;
2860
3043
  header?: never;
@@ -3101,7 +3284,99 @@ interface paths {
3101
3284
  patch?: never;
3102
3285
  trace?: never;
3103
3286
  };
3104
- "/workspaces/{workspace_id}/ws/": {
3287
+ "/webhooks/{webhookId}/test/": {
3288
+ parameters: {
3289
+ query?: never;
3290
+ header?: never;
3291
+ path?: never;
3292
+ cookie?: never;
3293
+ };
3294
+ get?: never;
3295
+ put?: never;
3296
+ /**
3297
+ * Test webhook
3298
+ * @description Sends a test payload to the webhook endpoint and returns the result.
3299
+ */
3300
+ post: {
3301
+ parameters: {
3302
+ query?: never;
3303
+ header?: never;
3304
+ path: {
3305
+ /** @description Unique identifier of the webhook. */
3306
+ webhookId: string;
3307
+ };
3308
+ cookie?: never;
3309
+ };
3310
+ /** @description Request payload for testing a webhook. */
3311
+ requestBody: {
3312
+ content: {
3313
+ "application/json": components["schemas"]["TestWebhook"];
3314
+ };
3315
+ };
3316
+ responses: {
3317
+ /** @description Result of a webhook delivery attempt. */
3318
+ 200: {
3319
+ headers: {
3320
+ [name: string]: unknown;
3321
+ };
3322
+ content: {
3323
+ "application/json": components["schemas"]["WebhookResult"];
3324
+ };
3325
+ };
3326
+ /**
3327
+ * @description HTTP error response representation with security-conscious design.
3328
+ *
3329
+ * This struct contains all the information needed to serialize an error
3330
+ * response, including the error name, message, HTTP status code, resource
3331
+ * information, and user-friendly messages.
3332
+ */
3333
+ 401: {
3334
+ headers: {
3335
+ [name: string]: unknown;
3336
+ };
3337
+ content: {
3338
+ "application/json": components["schemas"]["ErrorResponse"];
3339
+ };
3340
+ };
3341
+ /**
3342
+ * @description HTTP error response representation with security-conscious design.
3343
+ *
3344
+ * This struct contains all the information needed to serialize an error
3345
+ * response, including the error name, message, HTTP status code, resource
3346
+ * information, and user-friendly messages.
3347
+ */
3348
+ 403: {
3349
+ headers: {
3350
+ [name: string]: unknown;
3351
+ };
3352
+ content: {
3353
+ "application/json": components["schemas"]["ErrorResponse"];
3354
+ };
3355
+ };
3356
+ /**
3357
+ * @description HTTP error response representation with security-conscious design.
3358
+ *
3359
+ * This struct contains all the information needed to serialize an error
3360
+ * response, including the error name, message, HTTP status code, resource
3361
+ * information, and user-friendly messages.
3362
+ */
3363
+ 404: {
3364
+ headers: {
3365
+ [name: string]: unknown;
3366
+ };
3367
+ content: {
3368
+ "application/json": components["schemas"]["ErrorResponse"];
3369
+ };
3370
+ };
3371
+ };
3372
+ };
3373
+ delete?: never;
3374
+ options?: never;
3375
+ head?: never;
3376
+ patch?: never;
3377
+ trace?: never;
3378
+ };
3379
+ "/workspaces/{workspaceId}/ws/": {
3105
3380
  parameters: {
3106
3381
  query?: never;
3107
3382
  header?: never;
@@ -3186,7 +3461,7 @@ interface paths {
3186
3461
  patch?: never;
3187
3462
  trace?: never;
3188
3463
  };
3189
- "/workspaces/{workspace_id}/files/": {
3464
+ "/workspaces/{workspaceId}/files/": {
3190
3465
  parameters: {
3191
3466
  query?: never;
3192
3467
  header?: never;
@@ -3195,35 +3470,20 @@ interface paths {
3195
3470
  };
3196
3471
  /**
3197
3472
  * List files
3198
- * @description Lists all files in a workspace with optional filtering by format and sorting.
3473
+ * @description Lists files in a workspace with cursor-based pagination. Use the `after` parameter with the `nextCursor` value from the response to fetch subsequent pages.
3199
3474
  */
3200
3475
  get: {
3201
3476
  parameters: {
3202
3477
  query?: {
3203
3478
  /** @description Filter by file formats. */
3204
3479
  formats?: components["schemas"]["FileFormat"][] | null;
3205
- /** @description Sort by field. */
3206
- sortBy?: components["schemas"]["FileSortField"] | null;
3207
- /** @description Sort order (asc or desc). */
3208
- order?: components["schemas"]["SortOrder"] | null;
3209
- /**
3210
- * @description The number of records to skip before starting to return results.
3211
- *
3212
- * For performance reasons, this is limited to prevent expensive deep
3213
- * pagination queries. Consider using cursor-based pagination for
3214
- * better performance when dealing with large datasets.
3215
- *
3216
- * **Performance Impact**: High offsets require the database to scan
3217
- * and skip many records, which can be slow for large tables.
3218
- */
3219
- offset?: number | null;
3480
+ /** @description The maximum number of records to return (1-100, default: 20). */
3481
+ limit?: number | null;
3220
3482
  /**
3221
- * @description The maximum number of records to return in a single request.
3222
- *
3223
- * This is balanced between usability and performance. Very large limits
3224
- * can cause memory pressure and slow response times.
3483
+ * @description Cursor pointing to the last item of the previous page.
3484
+ * Obtain this from the `nextCursor` field in the response.
3225
3485
  */
3226
- limit?: number | null;
3486
+ after?: string | null;
3227
3487
  };
3228
3488
  header?: never;
3229
3489
  path: {
@@ -3234,12 +3494,19 @@ interface paths {
3234
3494
  };
3235
3495
  requestBody?: never;
3236
3496
  responses: {
3497
+ /**
3498
+ * @description Generic paginated response wrapper.
3499
+ *
3500
+ * Provides a consistent structure for all paginated API responses with
3501
+ * cursor-based pagination support. When `next_cursor` is present, there
3502
+ * are more items to fetch.
3503
+ */
3237
3504
  200: {
3238
3505
  headers: {
3239
3506
  [name: string]: unknown;
3240
3507
  };
3241
3508
  content: {
3242
- "application/json": components["schemas"]["File"][];
3509
+ "application/json": components["schemas"]["FilesPage"];
3243
3510
  };
3244
3511
  };
3245
3512
  /**
@@ -3357,20 +3624,18 @@ interface paths {
3357
3624
  patch?: never;
3358
3625
  trace?: never;
3359
3626
  };
3360
- "/workspaces/{workspace_id}/files/download": {
3627
+ "/workspaces/{workspaceId}/files/batch": {
3361
3628
  parameters: {
3362
3629
  query?: never;
3363
3630
  header?: never;
3364
3631
  path?: never;
3365
3632
  cookie?: never;
3366
3633
  };
3367
- get?: never;
3368
- put?: never;
3369
3634
  /**
3370
- * Download multiple files
3371
- * @description Downloads multiple files as a zip archive. Provide a list of file IDs to include in the archive.
3635
+ * Download archived files
3636
+ * @description Downloads all or specific workspace files as a compressed archive. Supports zip and tar.gz formats.
3372
3637
  */
3373
- post: {
3638
+ get: {
3374
3639
  parameters: {
3375
3640
  query?: never;
3376
3641
  header?: never;
@@ -3380,10 +3645,10 @@ interface paths {
3380
3645
  };
3381
3646
  cookie?: never;
3382
3647
  };
3383
- /** @description Request to download multiple files. */
3648
+ /** @description Request to download files as an archive. */
3384
3649
  requestBody: {
3385
3650
  content: {
3386
- "application/json": components["schemas"]["DownloadMultipleFilesRequest"];
3651
+ "application/json": components["schemas"]["DownloadFiles"];
3387
3652
  };
3388
3653
  };
3389
3654
  responses: {
@@ -3456,26 +3721,13 @@ interface paths {
3456
3721
  };
3457
3722
  };
3458
3723
  };
3459
- delete?: never;
3460
- options?: never;
3461
- head?: never;
3462
- patch?: never;
3463
- trace?: never;
3464
- };
3465
- "/workspaces/{workspace_id}/files/archive": {
3466
- parameters: {
3467
- query?: never;
3468
- header?: never;
3469
- path?: never;
3470
- cookie?: never;
3471
- };
3472
- get?: never;
3473
3724
  put?: never;
3725
+ post?: never;
3474
3726
  /**
3475
- * Download archived files
3476
- * @description Downloads all or specific workspace files as a compressed archive. Supports zip and tar.gz formats.
3727
+ * Delete multiple files
3728
+ * @description Soft deletes multiple files by setting deleted timestamps. Files can be recovered within the retention period.
3477
3729
  */
3478
- post: {
3730
+ delete: {
3479
3731
  parameters: {
3480
3732
  query?: never;
3481
3733
  header?: never;
@@ -3485,15 +3737,15 @@ interface paths {
3485
3737
  };
3486
3738
  cookie?: never;
3487
3739
  };
3488
- /** @description Request to download files as an archive. */
3740
+ /** @description Request to delete multiple files. */
3489
3741
  requestBody: {
3490
3742
  content: {
3491
- "application/json": components["schemas"]["DownloadArchivedFilesRequest"];
3743
+ "application/json": components["schemas"]["DeleteFiles"];
3492
3744
  };
3493
3745
  };
3494
3746
  responses: {
3495
3747
  /** @description no content */
3496
- 200: {
3748
+ 204: {
3497
3749
  headers: {
3498
3750
  [name: string]: unknown;
3499
3751
  };
@@ -3561,13 +3813,12 @@ interface paths {
3561
3813
  };
3562
3814
  };
3563
3815
  };
3564
- delete?: never;
3565
3816
  options?: never;
3566
3817
  head?: never;
3567
3818
  patch?: never;
3568
3819
  trace?: never;
3569
3820
  };
3570
- "/files/{file_id}": {
3821
+ "/files/{fileId}": {
3571
3822
  parameters: {
3572
3823
  query?: never;
3573
3824
  header?: never;
@@ -3575,8 +3826,8 @@ interface paths {
3575
3826
  cookie?: never;
3576
3827
  };
3577
3828
  /**
3578
- * Download file
3579
- * @description Downloads a file by ID. Returns the file content as a binary stream.
3829
+ * Get file metadata
3830
+ * @description Returns file metadata without downloading the file content.
3580
3831
  */
3581
3832
  get: {
3582
3833
  parameters: {
@@ -3590,12 +3841,14 @@ interface paths {
3590
3841
  };
3591
3842
  requestBody?: never;
3592
3843
  responses: {
3593
- /** @description no content */
3844
+ /** @description Represents an uploaded file. */
3594
3845
  200: {
3595
3846
  headers: {
3596
3847
  [name: string]: unknown;
3597
3848
  };
3598
- content?: never;
3849
+ content: {
3850
+ "application/json": components["schemas"]["File"];
3851
+ };
3599
3852
  };
3600
3853
  /**
3601
3854
  * @description HTTP error response representation with security-conscious design.
@@ -3812,7 +4065,7 @@ interface paths {
3812
4065
  };
3813
4066
  trace?: never;
3814
4067
  };
3815
- "/workspaces/{workspace_id}/documents": {
4068
+ "/files/{fileId}/content": {
3816
4069
  parameters: {
3817
4070
  query?: never;
3818
4071
  header?: never;
@@ -3820,47 +4073,27 @@ interface paths {
3820
4073
  cookie?: never;
3821
4074
  };
3822
4075
  /**
3823
- * List documents
3824
- * @description Lists all documents in a workspace with pagination.
4076
+ * Download file
4077
+ * @description Downloads a file by ID. Returns the file content as a binary stream.
3825
4078
  */
3826
4079
  get: {
3827
4080
  parameters: {
3828
- query?: {
3829
- /**
3830
- * @description The number of records to skip before starting to return results.
3831
- *
3832
- * For performance reasons, this is limited to prevent expensive deep
3833
- * pagination queries. Consider using cursor-based pagination for
3834
- * better performance when dealing with large datasets.
3835
- *
3836
- * **Performance Impact**: High offsets require the database to scan
3837
- * and skip many records, which can be slow for large tables.
3838
- */
3839
- offset?: number | null;
3840
- /**
3841
- * @description The maximum number of records to return in a single request.
3842
- *
3843
- * This is balanced between usability and performance. Very large limits
3844
- * can cause memory pressure and slow response times.
3845
- */
3846
- limit?: number | null;
3847
- };
4081
+ query?: never;
3848
4082
  header?: never;
3849
4083
  path: {
3850
- /** @description Unique identifier of the workspace. */
3851
- workspaceId: string;
4084
+ /** @description Unique identifier of the file. */
4085
+ fileId: string;
3852
4086
  };
3853
4087
  cookie?: never;
3854
4088
  };
3855
4089
  requestBody?: never;
3856
4090
  responses: {
4091
+ /** @description no content */
3857
4092
  200: {
3858
4093
  headers: {
3859
4094
  [name: string]: unknown;
3860
4095
  };
3861
- content: {
3862
- "application/json": components["schemas"]["Document"][];
3863
- };
4096
+ content?: never;
3864
4097
  };
3865
4098
  /**
3866
4099
  * @description HTTP error response representation with security-conscious design.
@@ -3892,14 +4125,115 @@ interface paths {
3892
4125
  "application/json": components["schemas"]["ErrorResponse"];
3893
4126
  };
3894
4127
  };
3895
- };
3896
- };
3897
- put?: never;
3898
- /**
3899
- * Create document
3900
- * @description Creates a new document container for organizing files.
3901
- */
3902
- post: {
4128
+ /**
4129
+ * @description HTTP error response representation with security-conscious design.
4130
+ *
4131
+ * This struct contains all the information needed to serialize an error
4132
+ * response, including the error name, message, HTTP status code, resource
4133
+ * information, and user-friendly messages.
4134
+ */
4135
+ 404: {
4136
+ headers: {
4137
+ [name: string]: unknown;
4138
+ };
4139
+ content: {
4140
+ "application/json": components["schemas"]["ErrorResponse"];
4141
+ };
4142
+ };
4143
+ };
4144
+ };
4145
+ put?: never;
4146
+ post?: never;
4147
+ delete?: never;
4148
+ options?: never;
4149
+ head?: never;
4150
+ patch?: never;
4151
+ trace?: never;
4152
+ };
4153
+ "/workspaces/{workspaceId}/documents": {
4154
+ parameters: {
4155
+ query?: never;
4156
+ header?: never;
4157
+ path?: never;
4158
+ cookie?: never;
4159
+ };
4160
+ /**
4161
+ * List documents
4162
+ * @description Lists all documents in a workspace with pagination.
4163
+ */
4164
+ get: {
4165
+ parameters: {
4166
+ query?: {
4167
+ /** @description The maximum number of records to return (1-100, default: 20). */
4168
+ limit?: number | null;
4169
+ /**
4170
+ * @description Cursor pointing to the last item of the previous page.
4171
+ * Obtain this from the `nextCursor` field in the response.
4172
+ */
4173
+ after?: string | null;
4174
+ };
4175
+ header?: never;
4176
+ path: {
4177
+ /** @description Unique identifier of the workspace. */
4178
+ workspaceId: string;
4179
+ };
4180
+ cookie?: never;
4181
+ };
4182
+ requestBody?: never;
4183
+ responses: {
4184
+ /**
4185
+ * @description Generic paginated response wrapper.
4186
+ *
4187
+ * Provides a consistent structure for all paginated API responses with
4188
+ * cursor-based pagination support. When `next_cursor` is present, there
4189
+ * are more items to fetch.
4190
+ */
4191
+ 200: {
4192
+ headers: {
4193
+ [name: string]: unknown;
4194
+ };
4195
+ content: {
4196
+ "application/json": components["schemas"]["DocumentsPage"];
4197
+ };
4198
+ };
4199
+ /**
4200
+ * @description HTTP error response representation with security-conscious design.
4201
+ *
4202
+ * This struct contains all the information needed to serialize an error
4203
+ * response, including the error name, message, HTTP status code, resource
4204
+ * information, and user-friendly messages.
4205
+ */
4206
+ 401: {
4207
+ headers: {
4208
+ [name: string]: unknown;
4209
+ };
4210
+ content: {
4211
+ "application/json": components["schemas"]["ErrorResponse"];
4212
+ };
4213
+ };
4214
+ /**
4215
+ * @description HTTP error response representation with security-conscious design.
4216
+ *
4217
+ * This struct contains all the information needed to serialize an error
4218
+ * response, including the error name, message, HTTP status code, resource
4219
+ * information, and user-friendly messages.
4220
+ */
4221
+ 403: {
4222
+ headers: {
4223
+ [name: string]: unknown;
4224
+ };
4225
+ content: {
4226
+ "application/json": components["schemas"]["ErrorResponse"];
4227
+ };
4228
+ };
4229
+ };
4230
+ };
4231
+ put?: never;
4232
+ /**
4233
+ * Create document
4234
+ * @description Creates a new document container for organizing files.
4235
+ */
4236
+ post: {
3903
4237
  parameters: {
3904
4238
  query?: never;
3905
4239
  header?: never;
@@ -3978,7 +4312,7 @@ interface paths {
3978
4312
  patch?: never;
3979
4313
  trace?: never;
3980
4314
  };
3981
- "/documents/{document_id}": {
4315
+ "/documents/{documentId}": {
3982
4316
  parameters: {
3983
4317
  query?: never;
3984
4318
  header?: never;
@@ -4225,7 +4559,7 @@ interface paths {
4225
4559
  };
4226
4560
  trace?: never;
4227
4561
  };
4228
- "/files/{file_id}/comments": {
4562
+ "/files/{fileId}/comments": {
4229
4563
  parameters: {
4230
4564
  query?: never;
4231
4565
  header?: never;
@@ -4239,24 +4573,13 @@ interface paths {
4239
4573
  get: {
4240
4574
  parameters: {
4241
4575
  query?: {
4576
+ /** @description The maximum number of records to return (1-100, default: 20). */
4577
+ limit?: number | null;
4242
4578
  /**
4243
- * @description The number of records to skip before starting to return results.
4244
- *
4245
- * For performance reasons, this is limited to prevent expensive deep
4246
- * pagination queries. Consider using cursor-based pagination for
4247
- * better performance when dealing with large datasets.
4248
- *
4249
- * **Performance Impact**: High offsets require the database to scan
4250
- * and skip many records, which can be slow for large tables.
4251
- */
4252
- offset?: number | null;
4253
- /**
4254
- * @description The maximum number of records to return in a single request.
4255
- *
4256
- * This is balanced between usability and performance. Very large limits
4257
- * can cause memory pressure and slow response times.
4579
+ * @description Cursor pointing to the last item of the previous page.
4580
+ * Obtain this from the `nextCursor` field in the response.
4258
4581
  */
4259
- limit?: number | null;
4582
+ after?: string | null;
4260
4583
  };
4261
4584
  header?: never;
4262
4585
  path: {
@@ -4267,12 +4590,19 @@ interface paths {
4267
4590
  };
4268
4591
  requestBody?: never;
4269
4592
  responses: {
4593
+ /**
4594
+ * @description Generic paginated response wrapper.
4595
+ *
4596
+ * Provides a consistent structure for all paginated API responses with
4597
+ * cursor-based pagination support. When `next_cursor` is present, there
4598
+ * are more items to fetch.
4599
+ */
4270
4600
  200: {
4271
4601
  headers: {
4272
4602
  [name: string]: unknown;
4273
4603
  };
4274
4604
  content: {
4275
- "application/json": components["schemas"]["Comment"][];
4605
+ "application/json": components["schemas"]["CommentsPage"];
4276
4606
  };
4277
4607
  };
4278
4608
  /**
@@ -4391,7 +4721,7 @@ interface paths {
4391
4721
  patch?: never;
4392
4722
  trace?: never;
4393
4723
  };
4394
- "/files/{file_id}/comments/{comment_id}": {
4724
+ "/comments/{commentId}": {
4395
4725
  parameters: {
4396
4726
  query?: never;
4397
4727
  header?: never;
@@ -4410,8 +4740,6 @@ interface paths {
4410
4740
  query?: never;
4411
4741
  header?: never;
4412
4742
  path: {
4413
- /** @description Unique identifier of the file. */
4414
- fileId: string;
4415
4743
  /** @description Unique identifier of the comment. */
4416
4744
  commentId: string;
4417
4745
  };
@@ -4420,7 +4748,7 @@ interface paths {
4420
4748
  requestBody?: never;
4421
4749
  responses: {
4422
4750
  /** @description Comment deleted. */
4423
- 200: {
4751
+ 204: {
4424
4752
  headers: {
4425
4753
  [name: string]: unknown;
4426
4754
  };
@@ -4484,8 +4812,6 @@ interface paths {
4484
4812
  query?: never;
4485
4813
  header?: never;
4486
4814
  path: {
4487
- /** @description Unique identifier of the file. */
4488
- fileId: string;
4489
4815
  /** @description Unique identifier of the comment. */
4490
4816
  commentId: string;
4491
4817
  };
@@ -4571,7 +4897,7 @@ interface paths {
4571
4897
  };
4572
4898
  trace?: never;
4573
4899
  };
4574
- "/files/{file_id}/annotations/": {
4900
+ "/files/{fileId}/annotations/": {
4575
4901
  parameters: {
4576
4902
  query?: never;
4577
4903
  header?: never;
@@ -4585,24 +4911,13 @@ interface paths {
4585
4911
  get: {
4586
4912
  parameters: {
4587
4913
  query?: {
4914
+ /** @description The maximum number of records to return (1-100, default: 20). */
4915
+ limit?: number | null;
4588
4916
  /**
4589
- * @description The number of records to skip before starting to return results.
4590
- *
4591
- * For performance reasons, this is limited to prevent expensive deep
4592
- * pagination queries. Consider using cursor-based pagination for
4593
- * better performance when dealing with large datasets.
4594
- *
4595
- * **Performance Impact**: High offsets require the database to scan
4596
- * and skip many records, which can be slow for large tables.
4597
- */
4598
- offset?: number | null;
4599
- /**
4600
- * @description The maximum number of records to return in a single request.
4601
- *
4602
- * This is balanced between usability and performance. Very large limits
4603
- * can cause memory pressure and slow response times.
4917
+ * @description Cursor pointing to the last item of the previous page.
4918
+ * Obtain this from the `nextCursor` field in the response.
4604
4919
  */
4605
- limit?: number | null;
4920
+ after?: string | null;
4606
4921
  };
4607
4922
  header?: never;
4608
4923
  path: {
@@ -4613,12 +4928,19 @@ interface paths {
4613
4928
  };
4614
4929
  requestBody?: never;
4615
4930
  responses: {
4931
+ /**
4932
+ * @description Generic paginated response wrapper.
4933
+ *
4934
+ * Provides a consistent structure for all paginated API responses with
4935
+ * cursor-based pagination support. When `next_cursor` is present, there
4936
+ * are more items to fetch.
4937
+ */
4616
4938
  200: {
4617
4939
  headers: {
4618
4940
  [name: string]: unknown;
4619
4941
  };
4620
4942
  content: {
4621
- "application/json": components["schemas"]["Annotation"][];
4943
+ "application/json": components["schemas"]["AnnotationsPage"];
4622
4944
  };
4623
4945
  };
4624
4946
  /**
@@ -4767,7 +5089,7 @@ interface paths {
4767
5089
  patch?: never;
4768
5090
  trace?: never;
4769
5091
  };
4770
- "/annotations/{annotation_id}": {
5092
+ "/annotations/{annotationId}": {
4771
5093
  parameters: {
4772
5094
  query?: never;
4773
5095
  header?: never;
@@ -5014,7 +5336,7 @@ interface paths {
5014
5336
  };
5015
5337
  trace?: never;
5016
5338
  };
5017
- "/workspaces/{workspace_id}/activities/": {
5339
+ "/workspaces/{workspaceId}/activities/": {
5018
5340
  parameters: {
5019
5341
  query?: never;
5020
5342
  header?: never;
@@ -5028,24 +5350,13 @@ interface paths {
5028
5350
  get: {
5029
5351
  parameters: {
5030
5352
  query?: {
5353
+ /** @description The maximum number of records to return (1-100, default: 20). */
5354
+ limit?: number | null;
5031
5355
  /**
5032
- * @description The number of records to skip before starting to return results.
5033
- *
5034
- * For performance reasons, this is limited to prevent expensive deep
5035
- * pagination queries. Consider using cursor-based pagination for
5036
- * better performance when dealing with large datasets.
5037
- *
5038
- * **Performance Impact**: High offsets require the database to scan
5039
- * and skip many records, which can be slow for large tables.
5040
- */
5041
- offset?: number | null;
5042
- /**
5043
- * @description The maximum number of records to return in a single request.
5044
- *
5045
- * This is balanced between usability and performance. Very large limits
5046
- * can cause memory pressure and slow response times.
5356
+ * @description Cursor pointing to the last item of the previous page.
5357
+ * Obtain this from the `nextCursor` field in the response.
5047
5358
  */
5048
- limit?: number | null;
5359
+ after?: string | null;
5049
5360
  };
5050
5361
  header?: never;
5051
5362
  path: {
@@ -5056,12 +5367,19 @@ interface paths {
5056
5367
  };
5057
5368
  requestBody?: never;
5058
5369
  responses: {
5370
+ /**
5371
+ * @description Generic paginated response wrapper.
5372
+ *
5373
+ * Provides a consistent structure for all paginated API responses with
5374
+ * cursor-based pagination support. When `next_cursor` is present, there
5375
+ * are more items to fetch.
5376
+ */
5059
5377
  200: {
5060
5378
  headers: {
5061
5379
  [name: string]: unknown;
5062
5380
  };
5063
5381
  content: {
5064
- "application/json": components["schemas"]["Activity"][];
5382
+ "application/json": components["schemas"]["ActivitysPage"];
5065
5383
  };
5066
5384
  };
5067
5385
  /**
@@ -5118,37 +5436,87 @@ interface paths {
5118
5436
  get: {
5119
5437
  parameters: {
5120
5438
  query?: {
5439
+ /** @description The maximum number of records to return (1-100, default: 20). */
5440
+ limit?: number | null;
5121
5441
  /**
5122
- * @description The number of records to skip before starting to return results.
5123
- *
5124
- * For performance reasons, this is limited to prevent expensive deep
5125
- * pagination queries. Consider using cursor-based pagination for
5126
- * better performance when dealing with large datasets.
5127
- *
5128
- * **Performance Impact**: High offsets require the database to scan
5129
- * and skip many records, which can be slow for large tables.
5130
- */
5131
- offset?: number | null;
5132
- /**
5133
- * @description The maximum number of records to return in a single request.
5134
- *
5135
- * This is balanced between usability and performance. Very large limits
5136
- * can cause memory pressure and slow response times.
5442
+ * @description Cursor pointing to the last item of the previous page.
5443
+ * Obtain this from the `nextCursor` field in the response.
5137
5444
  */
5138
- limit?: number | null;
5445
+ after?: string | null;
5446
+ };
5447
+ header?: never;
5448
+ path?: never;
5449
+ cookie?: never;
5450
+ };
5451
+ requestBody?: never;
5452
+ responses: {
5453
+ /**
5454
+ * @description Generic paginated response wrapper.
5455
+ *
5456
+ * Provides a consistent structure for all paginated API responses with
5457
+ * cursor-based pagination support. When `next_cursor` is present, there
5458
+ * are more items to fetch.
5459
+ */
5460
+ 200: {
5461
+ headers: {
5462
+ [name: string]: unknown;
5463
+ };
5464
+ content: {
5465
+ "application/json": components["schemas"]["NotificationsPage"];
5466
+ };
5467
+ };
5468
+ /**
5469
+ * @description HTTP error response representation with security-conscious design.
5470
+ *
5471
+ * This struct contains all the information needed to serialize an error
5472
+ * response, including the error name, message, HTTP status code, resource
5473
+ * information, and user-friendly messages.
5474
+ */
5475
+ 401: {
5476
+ headers: {
5477
+ [name: string]: unknown;
5478
+ };
5479
+ content: {
5480
+ "application/json": components["schemas"]["ErrorResponse"];
5481
+ };
5139
5482
  };
5483
+ };
5484
+ };
5485
+ put?: never;
5486
+ post?: never;
5487
+ delete?: never;
5488
+ options?: never;
5489
+ head?: never;
5490
+ patch?: never;
5491
+ trace?: never;
5492
+ };
5493
+ "/notifications/unread": {
5494
+ parameters: {
5495
+ query?: never;
5496
+ header?: never;
5497
+ path?: never;
5498
+ cookie?: never;
5499
+ };
5500
+ /**
5501
+ * Get unread notifications count
5502
+ * @description Returns the number of unread notifications for the authenticated account.
5503
+ */
5504
+ get: {
5505
+ parameters: {
5506
+ query?: never;
5140
5507
  header?: never;
5141
5508
  path?: never;
5142
5509
  cookie?: never;
5143
5510
  };
5144
5511
  requestBody?: never;
5145
5512
  responses: {
5513
+ /** @description Response type for unread notifications status. */
5146
5514
  200: {
5147
5515
  headers: {
5148
5516
  [name: string]: unknown;
5149
5517
  };
5150
5518
  content: {
5151
- "application/json": components["schemas"]["Notification"][];
5519
+ "application/json": components["schemas"]["UnreadStatus"];
5152
5520
  };
5153
5521
  };
5154
5522
  /**
@@ -5234,7 +5602,7 @@ interface paths {
5234
5602
  * response, including the error name, message, HTTP status code, resource
5235
5603
  * information, and user-friendly messages.
5236
5604
  */
5237
- 404: {
5605
+ 401: {
5238
5606
  headers: {
5239
5607
  [name: string]: unknown;
5240
5608
  };
@@ -5482,9 +5850,7 @@ interface components {
5482
5850
  /** @description Helpful suggestion for resolving the error (optional) */
5483
5851
  suggestion?: string | null;
5484
5852
  /** @description Validation error details for field-specific errors */
5485
- validationErrors?:
5486
- | components["schemas"]["ValidationErrorDetail"][]
5487
- | null;
5853
+ validation?: components["schemas"]["ValidationErrorDetail"][] | null;
5488
5854
  };
5489
5855
  /** @description Validation error details for field-specific errors. */
5490
5856
  ValidationErrorDetail: {
@@ -5510,31 +5876,25 @@ interface components {
5510
5876
  emailAddress?: string | null;
5511
5877
  /** @description New password (will be hashed before storage). */
5512
5878
  password?: string | null;
5513
- /** @description Company or organization name. */
5879
+ /** @description Company or organization name (empty string clears the value). */
5514
5880
  companyName?: string | null;
5515
5881
  };
5516
5882
  /** @description Request to create a new API token. */
5517
5883
  CreateApiToken: {
5518
- /** @description Optional description for the API token (max 500 characters). */
5519
- description?: string | null;
5520
5884
  /** @description Human-readable name for the API token (1-100 characters). */
5521
5885
  name: string;
5522
- /**
5523
- * @description When the token expires.
5524
- * @default in7Days
5525
- */
5526
- expires: components["schemas"]["TokenExpiration"];
5886
+ /** @description When the token expires. */
5887
+ expiresIn: components["schemas"]["TokenExpiration"];
5527
5888
  };
5528
5889
  /** @description Expiration options for API tokens. */
5529
5890
  TokenExpiration: "never" | "in7Days" | "in30Days" | "in90Days" | "in1Year";
5530
- /** @description Response when creating a new API token (includes actual tokens, shown only once). */
5531
- ApiTokenWithSecret: {
5532
- /** @description Description of the API token. */
5533
- description?: string | null;
5534
- /** @description Shortened access token identifier for display. */
5535
- accessTokenPreview: string;
5536
- /** @description Shortened refresh token identifier for display. */
5537
- refreshTokenPreview: string;
5891
+ /** @description API token with JWT token string (only returned on creation). */
5892
+ ApiTokenWithJWT: {
5893
+ /**
5894
+ * Format: uuid
5895
+ * @description Unique identifier for the token.
5896
+ */
5897
+ id: string;
5538
5898
  /**
5539
5899
  * Format: uuid
5540
5900
  * @description Reference to the account this token belongs to.
@@ -5544,8 +5904,6 @@ interface components {
5544
5904
  name: string;
5545
5905
  /** @description Type of token (web, mobile, api, etc.). */
5546
5906
  sessionType: components["schemas"]["ApiTokenType"];
5547
- /** @description Whether the token has expired. */
5548
- isExpired: boolean;
5549
5907
  /**
5550
5908
  * Format: date-time
5551
5909
  * @description Timestamp of token creation.
@@ -5553,24 +5911,11 @@ interface components {
5553
5911
  issuedAt: string;
5554
5912
  /**
5555
5913
  * Format: date-time
5556
- * @description Timestamp when the token expires and becomes invalid.
5557
- */
5558
- expiredAt: string;
5559
- /**
5560
- * Format: date-time
5561
- * @description Timestamp of most recent token activity.
5562
- */
5563
- lastUsedAt?: string | null;
5564
- /**
5565
- * Format: uuid
5566
- * @description Full access token (only shown once at creation).
5567
- */
5568
- accessToken: string;
5569
- /**
5570
- * Format: uuid
5571
- * @description Full refresh token (only shown once at creation).
5914
+ * @description Timestamp when the token expires (None = never expires).
5572
5915
  */
5573
- refreshToken: string;
5916
+ expiredAt?: string | null;
5917
+ /** @description The JWT token string (only shown once on creation). */
5918
+ token: string;
5574
5919
  };
5575
5920
  /**
5576
5921
  * @description Defines the type of API token for authentication and tracking purposes.
@@ -5578,43 +5923,52 @@ interface components {
5578
5923
  * This enumeration corresponds to the `API_TOKEN_TYPE` PostgreSQL enum and is used
5579
5924
  * to categorize different types of authentication tokens based on the client type.
5580
5925
  */
5581
- ApiTokenType: "web" | "mobile" | "api" | "desktop";
5926
+ ApiTokenType: "web" | "api" | "cli";
5582
5927
  /**
5583
- * @description Pagination parameters with performance and security validation.
5928
+ * @description Cursor-based pagination query parameters.
5584
5929
  *
5585
- * `Pagination` allows clients to retrieve data in chunks, which helps manage
5586
- * large datasets by specifying how many records to skip and how many to fetch.
5930
+ * This is the preferred pagination method for API endpoints. It provides:
5931
+ * - Consistent performance regardless of page depth
5932
+ * - Stable results even when items are added/removed
5933
+ * - Efficient "load more" / infinite scroll patterns
5587
5934
  */
5588
- Pagination: {
5935
+ CursorPagination: {
5589
5936
  /**
5590
5937
  * Format: uint32
5591
- * @description The number of records to skip before starting to return results.
5592
- *
5593
- * For performance reasons, this is limited to prevent expensive deep
5594
- * pagination queries. Consider using cursor-based pagination for
5595
- * better performance when dealing with large datasets.
5596
- *
5597
- * **Performance Impact**: High offsets require the database to scan
5598
- * and skip many records, which can be slow for large tables.
5938
+ * @description The maximum number of records to return (1-100, default: 20).
5599
5939
  */
5600
- offset?: number | null;
5940
+ limit?: number | null;
5601
5941
  /**
5602
- * Format: uint32
5603
- * @description The maximum number of records to return in a single request.
5604
- *
5605
- * This is balanced between usability and performance. Very large limits
5606
- * can cause memory pressure and slow response times.
5942
+ * @description Cursor pointing to the last item of the previous page.
5943
+ * Obtain this from the `nextCursor` field in the response.
5607
5944
  */
5608
- limit?: number | null;
5945
+ after?: string | null;
5946
+ };
5947
+ /**
5948
+ * @description Generic paginated response wrapper.
5949
+ *
5950
+ * Provides a consistent structure for all paginated API responses with
5951
+ * cursor-based pagination support. When `next_cursor` is present, there
5952
+ * are more items to fetch.
5953
+ */
5954
+ ApiTokensPage: {
5955
+ /** @description Items in this page. */
5956
+ items: components["schemas"]["ApiToken"][];
5957
+ /**
5958
+ * Format: int64
5959
+ * @description Total count of items matching the query (if requested).
5960
+ */
5961
+ total?: number | null;
5962
+ /** @description Cursor to fetch the next page. Present only when more items exist. */
5963
+ nextCursor?: string | null;
5609
5964
  };
5610
5965
  /** @description API token response structure. */
5611
5966
  ApiToken: {
5612
- /** @description Description of the API token. */
5613
- description?: string | null;
5614
- /** @description Shortened access token identifier for display. */
5615
- accessTokenPreview: string;
5616
- /** @description Shortened refresh token identifier for display. */
5617
- refreshTokenPreview: string;
5967
+ /**
5968
+ * Format: uuid
5969
+ * @description Unique identifier for the token.
5970
+ */
5971
+ id: string;
5618
5972
  /**
5619
5973
  * Format: uuid
5620
5974
  * @description Reference to the account this token belongs to.
@@ -5622,10 +5976,8 @@ interface components {
5622
5976
  accountId: string;
5623
5977
  /** @description Human-readable name for the API token. */
5624
5978
  name: string;
5625
- /** @description Type of token (web, mobile, api, etc.). */
5979
+ /** @description Type of token (web, api, etc.). */
5626
5980
  sessionType: components["schemas"]["ApiTokenType"];
5627
- /** @description Whether the token has expired. */
5628
- isExpired: boolean;
5629
5981
  /**
5630
5982
  * Format: date-time
5631
5983
  * @description Timestamp of token creation.
@@ -5633,19 +5985,30 @@ interface components {
5633
5985
  issuedAt: string;
5634
5986
  /**
5635
5987
  * Format: date-time
5636
- * @description Timestamp when the token expires and becomes invalid.
5988
+ * @description Timestamp when the token expires (None = never expires).
5637
5989
  */
5638
- expiredAt: string;
5990
+ expiredAt?: string | null;
5639
5991
  /**
5640
5992
  * Format: date-time
5641
5993
  * @description Timestamp of most recent token activity.
5642
5994
  */
5643
5995
  lastUsedAt?: string | null;
5644
5996
  };
5997
+ /**
5998
+ * @description Path parameters for API token operations.
5999
+ *
6000
+ * Since token IDs are globally unique UUIDs, account context is verified
6001
+ * by comparing with the authenticated user's account ID.
6002
+ */
6003
+ TokenPathParams: {
6004
+ /**
6005
+ * Format: uuid
6006
+ * @description Unique identifier of the API token.
6007
+ */
6008
+ tokenId: string;
6009
+ };
5645
6010
  /** @description Request to update an existing API token. */
5646
6011
  UpdateApiToken: {
5647
- /** @description Updated description for the API token (max 500 characters). */
5648
- description?: string | null;
5649
6012
  /** @description Updated name for the API token (1-100 characters). */
5650
6013
  name?: string | null;
5651
6014
  };
@@ -5654,42 +6017,14 @@ interface components {
5654
6017
  *
5655
6018
  * Creates a new workspace with the specified configuration. The creator is
5656
6019
  * automatically added as an owner of the workspace.
5657
- *
5658
- * # Example
5659
- *
5660
- * ```json
5661
- * {
5662
- * "displayName": "My Workspace",
5663
- * "description": "A sample workspace",
5664
- * "keepForSec": 86400,
5665
- * "autoCleanup": true
5666
- * }
5667
- * ```
5668
6020
  */
5669
6021
  CreateWorkspace: {
5670
6022
  /** @description Optional description of the workspace (max 200 characters). */
5671
6023
  description?: string | null;
5672
6024
  /** @description Display name of the workspace (3-100 characters). */
5673
6025
  displayName: string;
5674
- /**
5675
- * Format: int32
5676
- * @description Duration in seconds to keep the original files (60-604800 seconds).
5677
- */
5678
- keepForSec?: number | null;
5679
- /** @description Whether to automatically delete processed files after expiration. */
5680
- autoCleanup?: boolean | null;
5681
6026
  /** @description Whether approval is required for processed files to be visible. */
5682
6027
  requireApproval?: boolean | null;
5683
- /**
5684
- * Format: int32
5685
- * @description Maximum number of members allowed in the workspace (1-1000).
5686
- */
5687
- maxMembers?: number | null;
5688
- /**
5689
- * Format: int32
5690
- * @description Maximum storage size in megabytes allowed for the workspace (1024-1048576 MB).
5691
- */
5692
- maxStorage?: number | null;
5693
6028
  /** @description Whether comments are enabled for this workspace. */
5694
6029
  enableComments?: boolean | null;
5695
6030
  };
@@ -5704,27 +6039,17 @@ interface components {
5704
6039
  workspaceId: string;
5705
6040
  /** @description Display name of the workspace. */
5706
6041
  displayName: string;
5707
- /**
5708
- * Format: int32
5709
- * @description Duration in seconds to keep the original files (optional).
5710
- */
5711
- keepForSec?: number | null;
5712
- /** @description Whether to automatically delete processed files after expiration. */
5713
- autoCleanup: boolean;
6042
+ /** @description Tags associated with the workspace. */
6043
+ tags: string[];
5714
6044
  /** @description Whether approval is required to processed files to be visible. */
5715
6045
  requireApproval: boolean;
5716
- /**
5717
- * Format: int32
5718
- * @description Maximum number of members allowed in the workspace.
5719
- */
5720
- maxMembers?: number | null;
5721
- /**
5722
- * Format: int32
5723
- * @description Maximum storage size in megabytes allowed for the workspace.
5724
- */
5725
- maxStorage?: number | null;
5726
6046
  /** @description Whether comments are enabled for this workspace. */
5727
6047
  enableComments: boolean;
6048
+ /**
6049
+ * Format: uuid
6050
+ * @description ID of the account that created the workspace.
6051
+ */
6052
+ createdBy: string;
5728
6053
  /** @description Role of the member in the workspace. */
5729
6054
  memberRole: components["schemas"]["WorkspaceRole"];
5730
6055
  /**
@@ -5744,7 +6069,25 @@ interface components {
5744
6069
  * This enumeration corresponds to the `WORKSPACE_ROLE` PostgreSQL enum and provides
5745
6070
  * hierarchical access control for workspace members with clearly defined capabilities.
5746
6071
  */
5747
- WorkspaceRole: "owner" | "member" | "guest";
6072
+ WorkspaceRole: "owner" | "admin" | "member" | "guest";
6073
+ /**
6074
+ * @description Generic paginated response wrapper.
6075
+ *
6076
+ * Provides a consistent structure for all paginated API responses with
6077
+ * cursor-based pagination support. When `next_cursor` is present, there
6078
+ * are more items to fetch.
6079
+ */
6080
+ WorkspacesPage: {
6081
+ /** @description Items in this page. */
6082
+ items: components["schemas"]["Workspace"][];
6083
+ /**
6084
+ * Format: int64
6085
+ * @description Total count of items matching the query (if requested).
6086
+ */
6087
+ total?: number | null;
6088
+ /** @description Cursor to fetch the next page. Present only when more items exist. */
6089
+ nextCursor?: string | null;
6090
+ };
5748
6091
  /** @description Path parameters for workspace-level operations. */
5749
6092
  WorkspacePathParams: {
5750
6093
  /**
@@ -5757,43 +6100,57 @@ interface components {
5757
6100
  * @description Request payload to update an existing workspace.
5758
6101
  *
5759
6102
  * All fields are optional; only provided fields will be updated.
5760
- *
5761
- * # Example
5762
- *
5763
- * ```json
5764
- * {
5765
- * "displayName": "Updated Workspace Name",
5766
- * "enableComments": true
5767
- * }
5768
- * ```
5769
6103
  */
5770
6104
  UpdateWorkspace: {
5771
6105
  /** @description New description for the workspace (max 500 characters). */
5772
6106
  description?: string | null;
5773
6107
  /** @description New display name for the workspace (3-100 characters). */
5774
6108
  displayName?: string | null;
5775
- /**
5776
- * Format: int32
5777
- * @description New duration in seconds to keep original files (60-604800 seconds).
5778
- */
5779
- keepForSec?: number | null;
5780
- /** @description Whether to automatically delete processed files after expiration. */
5781
- autoCleanup?: boolean | null;
5782
6109
  /** @description Whether approval is required for processed files to be visible. */
5783
6110
  requireApproval?: boolean | null;
5784
- /**
5785
- * Format: int32
5786
- * @description Maximum number of members allowed in the workspace (1-1000).
5787
- */
5788
- maxMembers?: number | null;
5789
- /**
5790
- * Format: int32
5791
- * @description Maximum storage size in megabytes allowed for the workspace (1-1048576 MB).
5792
- */
5793
- maxStorage?: number | null;
5794
6111
  /** @description Whether comments are enabled for this workspace. */
5795
6112
  enableComments?: boolean | null;
5796
6113
  };
6114
+ /** @description Response for notification settings within a workspace. */
6115
+ NotificationSettings: {
6116
+ /** @description Whether to send email notifications. */
6117
+ notifyViaEmail: boolean;
6118
+ /** @description Notification events to receive in-app. */
6119
+ notificationEventsApp: components["schemas"]["NotificationEvent"][];
6120
+ /** @description Notification events to receive via email. */
6121
+ notificationEventsEmail: components["schemas"]["NotificationEvent"][];
6122
+ };
6123
+ /**
6124
+ * @description Defines the type of notification event sent to a user.
6125
+ *
6126
+ * This enumeration corresponds to the `NOTIFICATION_EVENT` PostgreSQL enum and is used
6127
+ * for various user notifications including mentions, replies, and system announcements.
6128
+ */
6129
+ NotificationEvent:
6130
+ | "comment:mention"
6131
+ | "comment:reply"
6132
+ | "document:uploaded"
6133
+ | "document:downloaded"
6134
+ | "document:verified"
6135
+ | "member:invited"
6136
+ | "member:joined"
6137
+ | "integration:synced"
6138
+ | "integration:desynced"
6139
+ | "system:announcement"
6140
+ | "system:report";
6141
+ /** @description Request payload for updating notification settings. */
6142
+ UpdateNotificationSettings: {
6143
+ /** @description Whether to send email notifications. */
6144
+ notifyViaEmail?: boolean | null;
6145
+ /** @description Notification events to receive in-app. */
6146
+ notificationEventsApp?:
6147
+ | components["schemas"]["NotificationEvent"][]
6148
+ | null;
6149
+ /** @description Notification events to receive via email. */
6150
+ notificationEventsEmail?:
6151
+ | components["schemas"]["NotificationEvent"][]
6152
+ | null;
6153
+ };
5797
6154
  /** @description Request payload for creating a new workspace integration. */
5798
6155
  CreateIntegration: {
5799
6156
  /** @description Detailed description of the integration's purpose (1-500 characters). */
@@ -5810,12 +6167,19 @@ interface components {
5810
6167
  isActive?: boolean | null;
5811
6168
  };
5812
6169
  /**
5813
- * @description Defines the type/category of a workspace integration.
6170
+ * @description Defines the functional category of a workspace integration.
5814
6171
  *
5815
6172
  * This enumeration corresponds to the `INTEGRATION_TYPE` PostgreSQL enum and is used
5816
6173
  * to categorize different types of third-party integrations that can be connected to workspaces.
5817
6174
  */
5818
- IntegrationType: "webhook" | "storage" | "other";
6175
+ IntegrationType:
6176
+ | "storage"
6177
+ | "communication"
6178
+ | "business"
6179
+ | "analytics"
6180
+ | "automation"
6181
+ | "developer"
6182
+ | "industry";
5819
6183
  /** @description Workspace integration response. */
5820
6184
  Integration: {
5821
6185
  /** @description Detailed description of the integration's purpose and functionality. */
@@ -5834,8 +6198,6 @@ interface components {
5834
6198
  integrationName: string;
5835
6199
  /** @description Type of third-party service this integration connects to. */
5836
6200
  integrationType: components["schemas"]["IntegrationType"];
5837
- /** @description Structured configuration and service-specific metadata. */
5838
- metadata: unknown;
5839
6201
  /** @description Whether the integration is currently active and enabled. */
5840
6202
  isActive: boolean;
5841
6203
  /**
@@ -5865,13 +6227,26 @@ interface components {
5865
6227
  * @description Defines the operational status of a workspace integration.
5866
6228
  *
5867
6229
  * This enumeration corresponds to the `INTEGRATION_STATUS` PostgreSQL enum and is used
5868
- * to manage integration states from initial setup through active execution and error handling.
6230
+ * to manage integration states from initial setup through active execution and cancellation.
5869
6231
  */
5870
- IntegrationStatus: "pending" | "executing" | "failed";
5871
- /** @description Query parameters for listing workspace integrations. */
5872
- ListIntegrationsQuery: {
5873
- /** @description Filter by integration type. */
5874
- integrationType?: components["schemas"]["IntegrationType"] | null;
6232
+ IntegrationStatus: "pending" | "running" | "cancelled";
6233
+ /**
6234
+ * @description Generic paginated response wrapper.
6235
+ *
6236
+ * Provides a consistent structure for all paginated API responses with
6237
+ * cursor-based pagination support. When `next_cursor` is present, there
6238
+ * are more items to fetch.
6239
+ */
6240
+ IntegrationsPage: {
6241
+ /** @description Items in this page. */
6242
+ items: components["schemas"]["Integration"][];
6243
+ /**
6244
+ * Format: int64
6245
+ * @description Total count of items matching the query (if requested).
6246
+ */
6247
+ total?: number | null;
6248
+ /** @description Cursor to fetch the next page. Present only when more items exist. */
6249
+ nextCursor?: string | null;
5875
6250
  };
5876
6251
  /**
5877
6252
  * @description Path parameters for integration operations (integration ID only).
@@ -5906,6 +6281,24 @@ interface components {
5906
6281
  /** @description Updated authentication credentials for the external service. */
5907
6282
  credentials: unknown;
5908
6283
  };
6284
+ /**
6285
+ * @description Generic paginated response wrapper.
6286
+ *
6287
+ * Provides a consistent structure for all paginated API responses with
6288
+ * cursor-based pagination support. When `next_cursor` is present, there
6289
+ * are more items to fetch.
6290
+ */
6291
+ IntegrationRunsPage: {
6292
+ /** @description Items in this page. */
6293
+ items: components["schemas"]["IntegrationRun"][];
6294
+ /**
6295
+ * Format: int64
6296
+ * @description Total count of items matching the query (if requested).
6297
+ */
6298
+ total?: number | null;
6299
+ /** @description Cursor to fetch the next page. Present only when more items exist. */
6300
+ nextCursor?: string | null;
6301
+ };
5909
6302
  /** @description Response type for an integration run. */
5910
6303
  IntegrationRun: {
5911
6304
  /**
@@ -5928,37 +6321,30 @@ interface components {
5928
6321
  * @description Account that triggered the run.
5929
6322
  */
5930
6323
  accountId?: string | null;
5931
- /** @description Run name. */
5932
- runName: string;
5933
6324
  /** @description Run type. */
5934
- runType: string;
6325
+ runType: components["schemas"]["RunType"];
5935
6326
  /** @description Current status. */
5936
6327
  status: components["schemas"]["IntegrationStatus"];
6328
+ /** @description Run metadata, results, and error details. */
6329
+ metadata: unknown;
5937
6330
  /**
5938
6331
  * Format: date-time
5939
6332
  * @description When the run started.
5940
6333
  */
5941
- startedAt?: string | null;
6334
+ startedAt: string;
5942
6335
  /**
5943
6336
  * Format: date-time
5944
6337
  * @description When the run completed.
5945
6338
  */
5946
6339
  completedAt?: string | null;
5947
- /**
5948
- * Format: int32
5949
- * @description Duration in milliseconds.
5950
- */
5951
- durationMs?: number | null;
5952
- /** @description Result summary. */
5953
- resultSummary?: string | null;
5954
- /** @description Error details for failed runs. */
5955
- errorDetails?: unknown;
5956
- /**
5957
- * Format: date-time
5958
- * @description When the run was created.
5959
- */
5960
- createdAt: string;
5961
6340
  };
6341
+ /**
6342
+ * @description Defines the type of an integration run.
6343
+ *
6344
+ * This enumeration corresponds to the `RUN_TYPE` PostgreSQL enum and is used
6345
+ * to classify how an integration run was triggered.
6346
+ */
6347
+ RunType: "manual" | "scheduled" | "triggered";
5962
6348
  /**
5963
6349
  * @description Path parameters for integration run operations (run ID only).
5964
6350
  *
@@ -5979,19 +6365,13 @@ interface components {
5979
6365
  * @description Email address of the person to invite.
5980
6366
  */
5981
6367
  inviteeEmail: string;
5982
- /**
5983
- * @description Role the invitee will have if they accept the invitation.
5984
- * @default guest
5985
- */
6368
+ /** @description Role the invitee will have if they accept the invitation. */
5986
6369
  invitedRole: components["schemas"]["WorkspaceRole"];
5987
- /**
5988
- * @description When the invitation expires.
5989
- * @default in7Days
5990
- */
5991
- expires: components["schemas"]["InviteExpiration"];
6370
+ /** @description When the invitation expires. */
6371
+ expiresIn: components["schemas"]["InviteExpiration"];
5992
6372
  };
5993
6373
  /** @description Expiration options for invite codes. */
5994
- InviteExpiration: "never" | "in24Hours" | "in7Days" | "in30Days";
6374
+ InviteExpiration: "in24Hours" | "in7Days" | "in30Days";
5995
6375
  /**
5996
6376
  * @description Workspace invite with complete information.
5997
6377
  *
@@ -6010,11 +6390,10 @@ interface components {
6010
6390
  * @description ID of the workspace the invitation is for.
6011
6391
  */
6012
6392
  workspaceId: string;
6013
- /**
6014
- * Format: uuid
6015
- * @description Account ID if the invitee has an account.
6016
- */
6017
- inviteeId?: string | null;
6393
+ /** @description Email address of the invitee (null for open invite codes). */
6394
+ inviteeEmail?: string | null;
6395
+ /** @description Invite token (only included for open invitations without invitee_email). */
6396
+ inviteToken?: string | null;
6018
6397
  /** @description Role the invitee will have if they accept. */
6019
6398
  invitedRole: components["schemas"]["WorkspaceRole"];
6020
6399
  /** @description Current status of the invitation. */
@@ -6049,7 +6428,7 @@ interface components {
6049
6428
  | "expired"
6050
6429
  | "revoked";
6051
6430
  /** @description Query parameters for listing workspace invites. */
6052
- ListInvitesQuery: {
6431
+ ListInvites: {
6053
6432
  /** @description Filter by invited role. */
6054
6433
  role?: components["schemas"]["WorkspaceRole"] | null;
6055
6434
  /** @description Sort by field. */
@@ -6057,22 +6436,34 @@ interface components {
6057
6436
  /** @description Sort order (asc or desc). */
6058
6437
  order?: components["schemas"]["SortOrder"] | null;
6059
6438
  };
6060
- /** @description Fields to sort invites by. */
6439
+ /** @description Fields available for sorting workspace invites. */
6061
6440
  InviteSortField: "email" | "date";
6062
6441
  /** @description Sort order direction. */
6063
6442
  SortOrder: "asc" | "desc";
6064
- /** @description Request to generate a shareable invite code for a workspace. */
6065
- GenerateInviteCode: {
6066
- /**
6067
- * @description Role to assign when someone joins via this invite code.
6068
- * @default guest
6069
- */
6070
- role: components["schemas"]["WorkspaceRole"];
6443
+ /**
6444
+ * @description Generic paginated response wrapper.
6445
+ *
6446
+ * Provides a consistent structure for all paginated API responses with
6447
+ * cursor-based pagination support. When `next_cursor` is present, there
6448
+ * are more items to fetch.
6449
+ */
6450
+ InvitesPage: {
6451
+ /** @description Items in this page. */
6452
+ items: components["schemas"]["Invite"][];
6071
6453
  /**
6072
- * @description When the invite code expires.
6073
- * @default in7Days
6454
+ * Format: int64
6455
+ * @description Total count of items matching the query (if requested).
6074
6456
  */
6075
- expires: components["schemas"]["InviteExpiration"];
6457
+ total?: number | null;
6458
+ /** @description Cursor to fetch the next page. Present only when more items exist. */
6459
+ nextCursor?: string | null;
6460
+ };
6461
+ /** @description Request to generate a shareable invite code for a workspace. */
6462
+ GenerateInviteCode: {
6463
+ /** @description Role to assign when someone joins via this invite code. */
6464
+ invitedRole: components["schemas"]["WorkspaceRole"];
6465
+ /** @description When the invite code expires. */
6466
+ expiresIn: components["schemas"]["InviteExpiration"];
6076
6467
  };
6077
6468
  /** @description Response containing a generated shareable invite code. */
6078
6469
  InviteCode: {
@@ -6114,6 +6505,37 @@ interface components {
6114
6505
  /** @description The invite code to use for joining the workspace. */
6115
6506
  inviteCode: string;
6116
6507
  };
6508
+ /**
6509
+ * @description Preview of an invite with workspace details for display before joining.
6510
+ *
6511
+ * This is a public-facing response that shows workspace information
6512
+ * to help users decide whether to join via an invite code.
6513
+ */
6514
+ InvitePreview: {
6515
+ /** @description Description of the workspace. */
6516
+ description?: string | null;
6517
+ /**
6518
+ * Format: uuid
6519
+ * @description ID of the workspace.
6520
+ */
6521
+ workspaceId: string;
6522
+ /** @description Display name of the workspace. */
6523
+ displayName: string;
6524
+ /** @description Tags associated with the workspace. */
6525
+ tags: string[];
6526
+ /** @description Role the user will have if they join. */
6527
+ invitedRole: components["schemas"]["WorkspaceRole"];
6528
+ /**
6529
+ * Format: date-time
6530
+ * @description Timestamp when the workspace was created.
6531
+ */
6532
+ createdAt: string;
6533
+ /**
6534
+ * Format: date-time
6535
+ * @description When the invite expires.
6536
+ */
6537
+ expiresAt: string;
6538
+ };
6117
6539
  /** @description Represents a workspace member. */
6118
6540
  Member: {
6119
6541
  /**
@@ -6121,21 +6543,22 @@ interface components {
6121
6543
  * @description Account ID of the member.
6122
6544
  */
6123
6545
  accountId: string;
6546
+ /** @description Email address of the member. */
6547
+ emailAddress: string;
6548
+ /** @description Display name of the member. */
6549
+ displayName: string;
6124
6550
  /** @description Role of the member in the workspace. */
6125
6551
  memberRole: components["schemas"]["WorkspaceRole"];
6552
+ /** @description Whether the member has two-factor authentication enabled. */
6553
+ has2fa: boolean;
6126
6554
  /**
6127
6555
  * Format: date-time
6128
6556
  * @description Timestamp when the member joined the workspace.
6129
6557
  */
6130
6558
  createdAt: string;
6131
- /**
6132
- * Format: date-time
6133
- * @description Timestamp when the member last accessed the workspace.
6134
- */
6135
- lastAccessedAt?: string | null;
6136
6559
  };
6137
6560
  /** @description Query parameters for listing workspace members. */
6138
- ListMembersQuery: {
6561
+ ListMembers: {
6139
6562
  /** @description Filter by workspace role. */
6140
6563
  role?: components["schemas"]["WorkspaceRole"] | null;
6141
6564
  /** @description Filter by 2FA status. */
@@ -6145,8 +6568,26 @@ interface components {
6145
6568
  /** @description Sort order (asc or desc). */
6146
6569
  order?: components["schemas"]["SortOrder"] | null;
6147
6570
  };
6148
- /** @description Fields to sort members by. */
6571
+ /** @description Fields available for sorting workspace members. */
6149
6572
  MemberSortField: "name" | "date";
6573
+ /**
6574
+ * @description Generic paginated response wrapper.
6575
+ *
6576
+ * Provides a consistent structure for all paginated API responses with
6577
+ * cursor-based pagination support. When `next_cursor` is present, there
6578
+ * are more items to fetch.
6579
+ */
6580
+ MembersPage: {
6581
+ /** @description Items in this page. */
6582
+ items: components["schemas"]["Member"][];
6583
+ /**
6584
+ * Format: int64
6585
+ * @description Total count of items matching the query (if requested).
6586
+ */
6587
+ total?: number | null;
6588
+ /** @description Cursor to fetch the next page. Present only when more items exist. */
6589
+ nextCursor?: string | null;
6590
+ };
6150
6591
  /** @description Path parameters for workspace member operations. */
6151
6592
  MemberPathParams: {
6152
6593
  /**
@@ -6161,16 +6602,13 @@ interface components {
6161
6602
  accountId: string;
6162
6603
  };
6163
6604
  /** @description Request to update a member's role. */
6164
- UpdateMemberRole: {
6605
+ UpdateMember: {
6165
6606
  /** @description New role for the member. */
6166
6607
  role: components["schemas"]["WorkspaceRole"];
6167
6608
  };
6168
6609
  /** @description Request payload for creating a new workspace webhook. */
6169
6610
  CreateWebhook: {
6170
- /**
6171
- * @description Detailed description of the webhook's purpose (max 500 characters).
6172
- * @default
6173
- */
6611
+ /** @description Detailed description of the webhook's purpose (max 500 characters). */
6174
6612
  description: string;
6175
6613
  /** @description Human-readable name for the webhook (1-100 characters). */
6176
6614
  displayName: string;
@@ -6179,85 +6617,36 @@ interface components {
6179
6617
  * @description The URL to send webhook payloads to.
6180
6618
  */
6181
6619
  url: string;
6182
- /** @description Optional secret for signing webhook payloads (max 256 characters). */
6183
- secret?: string | null;
6184
6620
  /** @description List of event types this webhook should receive. */
6185
- events: string[];
6621
+ events: components["schemas"]["WebhookEvent"][];
6186
6622
  /** @description Optional custom headers to include in webhook requests. */
6187
- headers?: unknown;
6188
- /**
6189
- * Format: int32
6190
- * @description Maximum number of consecutive failures before disabling (1-100).
6191
- */
6192
- maxFailures?: number | null;
6193
- };
6194
- /** @description Workspace webhook response with secret (returned only at creation). */
6195
- WebhookWithSecret: {
6196
- /** @description Detailed description of the webhook's purpose. */
6197
- description: string;
6198
- /**
6199
- * Format: uuid
6200
- * @description Unique webhook identifier.
6201
- */
6202
- webhookId: string;
6203
- /**
6204
- * Format: uuid
6205
- * @description Reference to the workspace this webhook belongs to.
6206
- */
6207
- workspaceId: string;
6208
- /** @description Human-readable name for the webhook. */
6209
- displayName: string;
6210
- /** @description The URL to send webhook payloads to. */
6211
- url: string;
6212
- /** @description List of event types this webhook receives. */
6213
- events: string[];
6214
- /** @description Custom headers included in webhook requests. */
6215
- headers: unknown;
6216
- /** @description Current status of the webhook. */
6217
- status: components["schemas"]["WebhookStatus"];
6218
- /**
6219
- * Format: int32
6220
- * @description Number of consecutive delivery failures.
6221
- */
6222
- failureCount: number;
6223
- /**
6224
- * Format: int32
6225
- * @description Maximum failures before automatic disabling.
6226
- */
6227
- maxFailures: number;
6228
- /**
6229
- * Format: date-time
6230
- * @description Timestamp of the most recent webhook trigger.
6231
- */
6232
- lastTriggeredAt?: string | null;
6233
- /**
6234
- * Format: date-time
6235
- * @description Timestamp of the most recent successful delivery.
6236
- */
6237
- lastSuccessAt?: string | null;
6238
- /**
6239
- * Format: date-time
6240
- * @description Timestamp of the most recent failed delivery.
6241
- */
6242
- lastFailureAt?: string | null;
6243
- /**
6244
- * Format: uuid
6245
- * @description Account that originally created this webhook.
6246
- */
6247
- createdBy: string;
6248
- /**
6249
- * Format: date-time
6250
- * @description Timestamp when this webhook was first created.
6251
- */
6252
- createdAt: string;
6253
- /**
6254
- * Format: date-time
6255
- * @description Timestamp when this webhook was last modified.
6256
- */
6257
- updatedAt: string;
6258
- /** @description Secret for signing webhook payloads (only shown once at creation). */
6259
- secret?: string | null;
6623
+ headers?: {
6624
+ [key: string]: string;
6625
+ } | null;
6626
+ /** @description Initial status of the webhook (active or paused). */
6627
+ status?: components["schemas"]["WebhookStatus"] | null;
6260
6628
  };
6629
+ /**
6630
+ * @description Defines the types of events that can trigger webhook delivery.
6631
+ *
6632
+ * This enumeration corresponds to the `WEBHOOK_EVENT` PostgreSQL enum and is used
6633
+ * to configure which events a webhook should receive notifications for.
6634
+ */
6635
+ WebhookEvent:
6636
+ | "document:created"
6637
+ | "document:updated"
6638
+ | "document:deleted"
6639
+ | "file:created"
6640
+ | "file:updated"
6641
+ | "file:deleted"
6642
+ | "member:added"
6643
+ | "member:deleted"
6644
+ | "member:updated"
6645
+ | "integration:created"
6646
+ | "integration:updated"
6647
+ | "integration:deleted"
6648
+ | "integration:synced"
6649
+ | "integration:desynced";
6261
6650
  /**
6262
6651
  * @description Defines the operational status of a workspace webhook.
6263
6652
  *
@@ -6279,41 +6668,30 @@ interface components {
6279
6668
  * @description Reference to the workspace this webhook belongs to.
6280
6669
  */
6281
6670
  workspaceId: string;
6671
+ /** @description Origin type of the webhook (provided or integration). */
6672
+ webhookType: components["schemas"]["WebhookType"];
6673
+ /**
6674
+ * Format: uuid
6675
+ * @description Reference to integration (present for integration type webhooks).
6676
+ */
6677
+ integrationId?: string | null;
6282
6678
  /** @description Human-readable name for the webhook. */
6283
6679
  displayName: string;
6284
6680
  /** @description The URL to send webhook payloads to. */
6285
6681
  url: string;
6286
6682
  /** @description List of event types this webhook receives. */
6287
- events: string[];
6683
+ events: components["schemas"]["WebhookEvent"][];
6288
6684
  /** @description Custom headers included in webhook requests. */
6289
- headers: unknown;
6685
+ headers: {
6686
+ [key: string]: string;
6687
+ };
6290
6688
  /** @description Current status of the webhook. */
6291
6689
  status: components["schemas"]["WebhookStatus"];
6292
- /**
6293
- * Format: int32
6294
- * @description Number of consecutive delivery failures.
6295
- */
6296
- failureCount: number;
6297
- /**
6298
- * Format: int32
6299
- * @description Maximum failures before automatic disabling.
6300
- */
6301
- maxFailures: number;
6302
6690
  /**
6303
6691
  * Format: date-time
6304
6692
  * @description Timestamp of the most recent webhook trigger.
6305
6693
  */
6306
6694
  lastTriggeredAt?: string | null;
6307
- /**
6308
- * Format: date-time
6309
- * @description Timestamp of the most recent successful delivery.
6310
- */
6311
- lastSuccessAt?: string | null;
6312
- /**
6313
- * Format: date-time
6314
- * @description Timestamp of the most recent failed delivery.
6315
- */
6316
- lastFailureAt?: string | null;
6317
6695
  /**
6318
6696
  * Format: uuid
6319
6697
  * @description Account that originally created this webhook.
@@ -6330,6 +6708,31 @@ interface components {
6330
6708
  */
6331
6709
  updatedAt: string;
6332
6710
  };
6711
+ /**
6712
+ * @description Defines the origin type of a workspace webhook.
6713
+ *
6714
+ * This enumeration corresponds to the `WEBHOOK_TYPE` PostgreSQL enum and is used
6715
+ * to distinguish between user-created webhooks and those created by integrations.
6716
+ */
6717
+ WebhookType: "provided" | "integration";
6718
+ /**
6719
+ * @description Generic paginated response wrapper.
6720
+ *
6721
+ * Provides a consistent structure for all paginated API responses with
6722
+ * cursor-based pagination support. When `next_cursor` is present, there
6723
+ * are more items to fetch.
6724
+ */
6725
+ WebhooksPage: {
6726
+ /** @description Items in this page. */
6727
+ items: components["schemas"]["Webhook"][];
6728
+ /**
6729
+ * Format: int64
6730
+ * @description Total count of items matching the query (if requested).
6731
+ */
6732
+ total?: number | null;
6733
+ /** @description Cursor to fetch the next page. Present only when more items exist. */
6734
+ nextCursor?: string | null;
6735
+ };
6333
6736
  /**
6334
6737
  * @description Path parameters for webhook operations (webhook ID only).
6335
6738
  *
@@ -6354,57 +6757,96 @@ interface components {
6354
6757
  * @description Updated URL to send webhook payloads to.
6355
6758
  */
6356
6759
  url?: string | null;
6357
- /** @description Updated secret for signing webhook payloads (max 256 characters). */
6358
- secret?: string | null;
6359
6760
  /** @description Updated list of event types this webhook should receive. */
6360
- events?: string[] | null;
6761
+ events?: components["schemas"]["WebhookEvent"][] | null;
6361
6762
  /** @description Updated custom headers to include in webhook requests. */
6362
- headers?: unknown;
6763
+ headers?: {
6764
+ [key: string]: string;
6765
+ } | null;
6766
+ /** @description Updated status (active or paused). Ignored if webhook is currently disabled. */
6767
+ status?: components["schemas"]["WebhookStatus"] | null;
6768
+ };
6769
+ /** @description Request payload for testing a webhook. */
6770
+ TestWebhook: {
6363
6771
  /**
6364
- * Format: int32
6365
- * @description Updated maximum number of consecutive failures before disabling (1-100).
6772
+ * @description Optional custom payload to send in the test request.
6773
+ * If not provided, a default test payload will be used.
6366
6774
  */
6367
- maxFailures?: number | null;
6775
+ payload?: unknown;
6776
+ };
6777
+ /** @description Result of a webhook delivery attempt. */
6778
+ WebhookResult: {
6779
+ /**
6780
+ * Format: uint16
6781
+ * @description HTTP status code returned by the webhook endpoint.
6782
+ */
6783
+ statusCode: number;
6784
+ /**
6785
+ * Format: int64
6786
+ * @description Time taken to receive a response in milliseconds.
6787
+ */
6788
+ responseTimeMs: number;
6368
6789
  };
6369
6790
  /** @description Query parameters for listing files. */
6370
- ListFilesQuery: {
6791
+ ListFiles: {
6371
6792
  /** @description Filter by file formats. */
6372
6793
  formats?: components["schemas"]["FileFormat"][] | null;
6373
- /** @description Sort by field. */
6374
- sortBy?: components["schemas"]["FileSortField"] | null;
6375
- /** @description Sort order (asc or desc). */
6376
- order?: components["schemas"]["SortOrder"] | null;
6377
6794
  };
6378
6795
  /** @description File format categories for filtering. */
6379
6796
  FileFormat: "pdf" | "doc" | "txt" | "md" | "csv" | "json" | "png" | "jpeg";
6380
- /** @description Fields to sort files by. */
6381
- FileSortField: "name" | "date" | "size";
6797
+ /**
6798
+ * @description Generic paginated response wrapper.
6799
+ *
6800
+ * Provides a consistent structure for all paginated API responses with
6801
+ * cursor-based pagination support. When `next_cursor` is present, there
6802
+ * are more items to fetch.
6803
+ */
6804
+ FilesPage: {
6805
+ /** @description Items in this page. */
6806
+ items: components["schemas"]["File"][];
6807
+ /**
6808
+ * Format: int64
6809
+ * @description Total count of items matching the query (if requested).
6810
+ */
6811
+ total?: number | null;
6812
+ /** @description Cursor to fetch the next page. Present only when more items exist. */
6813
+ nextCursor?: string | null;
6814
+ };
6382
6815
  /** @description Represents an uploaded file. */
6383
6816
  File: {
6384
6817
  /**
6385
6818
  * Format: uuid
6386
- * @description Unique file identifier
6819
+ * @description Unique file identifier.
6387
6820
  */
6388
6821
  fileId: string;
6389
- /** @description Display name */
6822
+ /** @description Display name. */
6390
6823
  displayName: string;
6391
6824
  /**
6392
6825
  * Format: int64
6393
- * @description File size in bytes
6826
+ * @description File size in bytes.
6394
6827
  */
6395
6828
  fileSize: number;
6396
- /** @description Processing status */
6829
+ /** @description Processing status. */
6397
6830
  status: components["schemas"]["ProcessingStatus"];
6398
6831
  /**
6399
6832
  * Format: int32
6400
- * @description Processing priority (optional)
6833
+ * @description Processing priority (1-10).
6401
6834
  */
6402
- processingPriority?: number | null;
6835
+ processingPriority: number;
6836
+ /** @description Classification tags. */
6837
+ tags: string[];
6838
+ /** @description Knowledge extraction settings. */
6839
+ fileKnowledge: components["schemas"]["FileKnowledge"];
6840
+ /**
6841
+ * Format: date-time
6842
+ * @description Creation timestamp.
6843
+ */
6844
+ createdAt: string;
6403
6845
  /**
6404
6846
  * Format: date-time
6405
- * @description Update timestamp (optional)
6847
+ * @description Last update timestamp.
6406
6848
  */
6407
- updatedAt?: string | null;
6849
+ updatedAt: string;
6408
6850
  };
6409
6851
  /**
6410
6852
  * @description Defines the current processing status of a file in the processing pipeline.
@@ -6413,30 +6855,37 @@ interface components {
6413
6855
  * to track the state of files as they progress through various processing stages
6414
6856
  * such as text extraction, OCR, transcription, and analysis.
6415
6857
  */
6416
- ProcessingStatus:
6417
- | "pending"
6418
- | "processing"
6419
- | "completed"
6420
- | "failed"
6421
- | "canceled"
6422
- | "skipped";
6423
- /** @description Request to download multiple files. */
6424
- DownloadMultipleFilesRequest: {
6425
- /** @description File IDs to download (1-100 files). */
6426
- fileIds: string[];
6858
+ ProcessingStatus: "pending" | "processing" | "ready" | "canceled";
6859
+ /** @description Knowledge-related fields for file responses. */
6860
+ FileKnowledge: {
6861
+ /** @description Whether the file is indexed for knowledge extraction. */
6862
+ isIndexed: boolean;
6863
+ /** @description Content segmentation strategy. */
6864
+ contentSegmentation: components["schemas"]["ContentSegmentation"];
6865
+ /** @description Whether visual elements are supported. */
6866
+ visualSupport: boolean;
6427
6867
  };
6868
+ /**
6869
+ * @description Defines the content segmentation strategy for document processing.
6870
+ *
6871
+ * This enumeration corresponds to the `CONTENT_SEGMENTATION` PostgreSQL enum and is used
6872
+ * to specify how document content should be segmented for knowledge extraction.
6873
+ */
6874
+ ContentSegmentation: "none" | "semantic" | "fixed";
6428
6875
  /** @description Request to download files as an archive. */
6429
- DownloadArchivedFilesRequest: {
6430
- /**
6431
- * @description Archive format (defaults to tar).
6432
- * @default tar
6433
- */
6876
+ DownloadFiles: {
6877
+ /** @description Archive format. */
6434
6878
  format: components["schemas"]["ArchiveFormat"];
6435
6879
  /** @description Optional specific file IDs (if None, downloads all workspace files). */
6436
6880
  fileIds?: string[] | null;
6437
6881
  };
6438
6882
  /** @description Archive format options for file downloads. */
6439
6883
  ArchiveFormat: "tar" | "zip";
6884
+ /** @description Request to delete multiple files. */
6885
+ DeleteFiles: {
6886
+ /** @description File IDs to delete (1-100 files). */
6887
+ fileIds: string[];
6888
+ };
6440
6889
  /**
6441
6890
  * @description Path parameters for file operations (file ID only).
6442
6891
  *
@@ -6471,38 +6920,14 @@ interface components {
6471
6920
  /** @description Whether visual elements are supported for knowledge extraction. */
6472
6921
  visualSupport?: boolean | null;
6473
6922
  };
6474
- /**
6475
- * @description Defines the content segmentation strategy for document processing.
6476
- *
6477
- * This enumeration corresponds to the `CONTENT_SEGMENTATION` PostgreSQL enum and is used
6478
- * to specify how document content should be segmented for knowledge extraction.
6479
- */
6480
- ContentSegmentation: "none" | "semantic" | "fixed";
6481
6923
  /** @description Request payload for creating a new document. */
6482
6924
  CreateDocument: {
6483
- /**
6484
- * @description Description of the document.
6485
- * @default null
6486
- */
6487
- description: string | null;
6925
+ /** @description Description of the document. */
6926
+ description?: string | null;
6488
6927
  /** @description Display name of the document. */
6489
6928
  displayName: string;
6490
- /**
6491
- * @description Tags for document classification.
6492
- * @default []
6493
- */
6494
- tags: string[];
6495
- /** @description Document category. */
6496
- category?: string | null;
6497
- /**
6498
- * Format: date-time
6499
- * @description Optional expiration date.
6500
- */
6501
- expiresAt?: string | null;
6502
- /** @description Whether the document is private. */
6503
- isPrivate?: boolean | null;
6504
- /** @description Whether approval is required. */
6505
- requiresApproval?: boolean | null;
6929
+ /** @description Tags for document classification. */
6930
+ tags?: string[] | null;
6506
6931
  };
6507
6932
  /** @description Represents a document with full details. */
6508
6933
  Document: {
@@ -6527,15 +6952,6 @@ interface components {
6527
6952
  displayName: string;
6528
6953
  /** @description Tags associated with the document. */
6529
6954
  tags: string[];
6530
- /** @description Document status. */
6531
- status: components["schemas"]["DocumentStatus"];
6532
- /**
6533
- * Format: int64
6534
- * @description File size in bytes.
6535
- */
6536
- fileSize?: number | null;
6537
- /** @description MIME type of the document. */
6538
- mimeType?: string | null;
6539
6955
  /**
6540
6956
  * Format: date-time
6541
6957
  * @description Timestamp when the document was created.
@@ -6548,12 +6964,23 @@ interface components {
6548
6964
  updatedAt: string;
6549
6965
  };
6550
6966
  /**
6551
- * @description Defines the current status of a document in its lifecycle.
6967
+ * @description Generic paginated response wrapper.
6552
6968
  *
6553
- * This enumeration corresponds to the `DOCUMENT_STATUS` PostgreSQL enum and is used
6554
- * to track document states from creation through processing, completion, and archival.
6969
+ * Provides a consistent structure for all paginated API responses with
6970
+ * cursor-based pagination support. When `next_cursor` is present, there
6971
+ * are more items to fetch.
6555
6972
  */
6556
- DocumentStatus: "draft" | "processing" | "ready" | "archived";
6973
+ DocumentsPage: {
6974
+ /** @description Items in this page. */
6975
+ items: components["schemas"]["Document"][];
6976
+ /**
6977
+ * Format: int64
6978
+ * @description Total count of items matching the query (if requested).
6979
+ */
6980
+ total?: number | null;
6981
+ /** @description Cursor to fetch the next page. Present only when more items exist. */
6982
+ nextCursor?: string | null;
6983
+ };
6557
6984
  /** @description Path parameters for document operations. */
6558
6985
  DocumentPathParams: {
6559
6986
  /**
@@ -6570,17 +6997,6 @@ interface components {
6570
6997
  displayName?: string | null;
6571
6998
  /** @description Updated tags (must be alphanumeric). */
6572
6999
  tags?: string[] | null;
6573
- /** @description Updated category. */
6574
- category?: string | null;
6575
- /**
6576
- * Format: date-time
6577
- * @description Updated expiration date.
6578
- */
6579
- expiresAt?: string | null;
6580
- /** @description Updated private status. */
6581
- isPrivate?: boolean | null;
6582
- /** @description Updated approval requirement. */
6583
- requiresApproval?: boolean | null;
6584
7000
  };
6585
7001
  /** @description Request payload for creating a new document comment. */
6586
7002
  CreateComment: {
@@ -6589,15 +7005,13 @@ interface components {
6589
7005
  /**
6590
7006
  * Format: uuid
6591
7007
  * @description Parent comment ID for threaded replies.
6592
- * @default null
6593
7008
  */
6594
- parentCommentId: string | null;
7009
+ parentCommentId?: string | null;
6595
7010
  /**
6596
7011
  * Format: uuid
6597
7012
  * @description Account being replied to (@mention).
6598
- * @default null
6599
7013
  */
6600
- replyToAccountId: string | null;
7014
+ replyToAccountId?: string | null;
6601
7015
  };
6602
7016
  /** @description Represents a document comment. */
6603
7017
  Comment: {
@@ -6640,17 +7054,30 @@ interface components {
6640
7054
  updatedAt: string;
6641
7055
  };
6642
7056
  /**
6643
- * @description Path parameters for file comment operations (file ID only).
7057
+ * @description Generic paginated response wrapper.
6644
7058
  *
6645
- * Since file IDs are globally unique UUIDs, workspace context can be
6646
- * derived from the file record itself for authorization purposes.
7059
+ * Provides a consistent structure for all paginated API responses with
7060
+ * cursor-based pagination support. When `next_cursor` is present, there
7061
+ * are more items to fetch.
6647
7062
  */
6648
- FileCommentPathParams: {
7063
+ CommentsPage: {
7064
+ /** @description Items in this page. */
7065
+ items: components["schemas"]["Comment"][];
6649
7066
  /**
6650
- * Format: uuid
6651
- * @description Unique identifier of the file.
7067
+ * Format: int64
7068
+ * @description Total count of items matching the query (if requested).
6652
7069
  */
6653
- fileId: string;
7070
+ total?: number | null;
7071
+ /** @description Cursor to fetch the next page. Present only when more items exist. */
7072
+ nextCursor?: string | null;
7073
+ };
7074
+ /**
7075
+ * @description Path parameters for comment operations (comment ID only).
7076
+ *
7077
+ * Since comment IDs are globally unique UUIDs, file/workspace context can be
7078
+ * derived from the comment record itself for authorization purposes.
7079
+ */
7080
+ CommentPathParams: {
6654
7081
  /**
6655
7082
  * Format: uuid
6656
7083
  * @description Unique identifier of the comment.
@@ -6667,13 +7094,20 @@ interface components {
6667
7094
  /** @description Annotation content. */
6668
7095
  content: string;
6669
7096
  /**
6670
- * @description Annotation type (note, highlight, comment, etc.).
7097
+ * @description Annotation type (note, highlight, comment).
6671
7098
  * @default note
6672
7099
  */
6673
- annotationType: string;
7100
+ annotationType: components["schemas"]["AnnotationType"];
6674
7101
  /** @description Additional metadata (position, selection range, etc.). */
6675
7102
  metadata?: unknown;
6676
7103
  };
7104
+ /**
7105
+ * @description Defines the type of annotation for document content.
7106
+ *
7107
+ * This enumeration corresponds to the `ANNOTATION_TYPE` PostgreSQL enum and is used
7108
+ * to classify different types of annotations users can create on documents.
7109
+ */
7110
+ AnnotationType: "note" | "highlight";
6677
7111
  /** @description Response type for a document annotation. */
6678
7112
  Annotation: {
6679
7113
  /**
@@ -6694,9 +7128,7 @@ interface components {
6694
7128
  /** @description Annotation content. */
6695
7129
  content: string;
6696
7130
  /** @description Annotation type. */
6697
- annotationType: string;
6698
- /** @description Additional metadata (position, selection, etc.). */
6699
- metadata?: unknown;
7131
+ annotationType: components["schemas"]["AnnotationType"];
6700
7132
  /**
6701
7133
  * Format: date-time
6702
7134
  * @description When the annotation was created.
@@ -6708,6 +7140,24 @@ interface components {
6708
7140
  */
6709
7141
  updatedAt: string;
6710
7142
  };
7143
+ /**
7144
+ * @description Generic paginated response wrapper.
7145
+ *
7146
+ * Provides a consistent structure for all paginated API responses with
7147
+ * cursor-based pagination support. When `next_cursor` is present, there
7148
+ * are more items to fetch.
7149
+ */
7150
+ AnnotationsPage: {
7151
+ /** @description Items in this page. */
7152
+ items: components["schemas"]["Annotation"][];
7153
+ /**
7154
+ * Format: int64
7155
+ * @description Total count of items matching the query (if requested).
7156
+ */
7157
+ total?: number | null;
7158
+ /** @description Cursor to fetch the next page. Present only when more items exist. */
7159
+ nextCursor?: string | null;
7160
+ };
6711
7161
  /**
6712
7162
  * @description Path parameters for annotation operations (annotation ID only).
6713
7163
  *
@@ -6726,19 +7176,37 @@ interface components {
6726
7176
  /** @description Updated content. */
6727
7177
  content?: string | null;
6728
7178
  /** @description Updated annotation type. */
6729
- annotationType?: string | null;
7179
+ annotationType?: components["schemas"]["AnnotationType"] | null;
6730
7180
  /** @description Updated metadata. */
6731
7181
  metadata?: unknown;
6732
7182
  };
7183
+ /**
7184
+ * @description Generic paginated response wrapper.
7185
+ *
7186
+ * Provides a consistent structure for all paginated API responses with
7187
+ * cursor-based pagination support. When `next_cursor` is present, there
7188
+ * are more items to fetch.
7189
+ */
7190
+ ActivitysPage: {
7191
+ /** @description Items in this page. */
7192
+ items: components["schemas"]["Activity"][];
7193
+ /**
7194
+ * Format: int64
7195
+ * @description Total count of items matching the query (if requested).
7196
+ */
7197
+ total?: number | null;
7198
+ /** @description Cursor to fetch the next page. Present only when more items exist. */
7199
+ nextCursor?: string | null;
7200
+ };
6733
7201
  /** @description Response type for a workspace activity. */
6734
7202
  Activity: {
6735
7203
  /** @description Human-readable description. */
6736
7204
  description: string;
6737
7205
  /**
6738
- * Format: int64
7206
+ * Format: uuid
6739
7207
  * @description Unique activity identifier.
6740
7208
  */
6741
- id: number;
7209
+ id: string;
6742
7210
  /**
6743
7211
  * Format: uuid
6744
7212
  * @description Workspace ID.
@@ -6751,8 +7219,6 @@ interface components {
6751
7219
  accountId?: string | null;
6752
7220
  /** @description Type of activity. */
6753
7221
  activityType: components["schemas"]["ActivityType"];
6754
- /** @description Additional metadata. */
6755
- metadata?: unknown;
6756
7222
  /**
6757
7223
  * Format: date-time
6758
7224
  * @description When the activity occurred.
@@ -6770,45 +7236,48 @@ interface components {
6770
7236
  | "workspace:created"
6771
7237
  | "workspace:updated"
6772
7238
  | "workspace:deleted"
6773
- | "workspace:archived"
6774
- | "workspace:restored"
6775
- | "workspace:settings_changed"
6776
7239
  | "workspace:exported"
6777
7240
  | "workspace:imported"
6778
- | "member:added"
6779
- | "member:kicked"
7241
+ | "member:deleted"
6780
7242
  | "member:updated"
6781
- | "member:invited"
6782
- | "member:invite_accepted"
6783
- | "member:invite_declined"
6784
- | "member:invite_canceled"
7243
+ | "invite:created"
7244
+ | "invite:accepted"
7245
+ | "invite:declined"
7246
+ | "invite:canceled"
6785
7247
  | "integration:created"
6786
7248
  | "integration:updated"
6787
7249
  | "integration:deleted"
6788
- | "integration:enabled"
6789
- | "integration:disabled"
6790
7250
  | "integration:synced"
6791
- | "integration:succeeded"
6792
- | "integration:failed"
6793
7251
  | "webhook:created"
6794
7252
  | "webhook:updated"
6795
7253
  | "webhook:deleted"
6796
- | "webhook:enabled"
6797
- | "webhook:disabled"
6798
7254
  | "webhook:triggered"
6799
- | "webhook:succeeded"
6800
- | "webhook:failed"
6801
7255
  | "document:created"
6802
7256
  | "document:updated"
6803
7257
  | "document:deleted"
6804
- | "document:processed"
6805
- | "document:uploaded"
6806
- | "document:downloaded"
6807
7258
  | "document:verified"
6808
7259
  | "comment:added"
6809
7260
  | "comment:updated"
6810
7261
  | "comment:deleted"
6811
7262
  | "custom";
7263
+ /**
7264
+ * @description Generic paginated response wrapper.
7265
+ *
7266
+ * Provides a consistent structure for all paginated API responses with
7267
+ * cursor-based pagination support. When `next_cursor` is present, there
7268
+ * are more items to fetch.
7269
+ */
7270
+ NotificationsPage: {
7271
+ /** @description Items in this page. */
7272
+ items: components["schemas"]["Notification"][];
7273
+ /**
7274
+ * Format: int64
7275
+ * @description Total count of items matching the query (if requested).
7276
+ */
7277
+ total?: number | null;
7278
+ /** @description Cursor to fetch the next page. Present only when more items exist. */
7279
+ nextCursor?: string | null;
7280
+ };
6812
7281
  /** @description Response type for an account notification. */
6813
7282
  Notification: {
6814
7283
  /** @description Notification title. */
@@ -6819,7 +7288,7 @@ interface components {
6819
7288
  */
6820
7289
  id: string;
6821
7290
  /** @description Notification type. */
6822
- notifyType: components["schemas"]["NotificationType"];
7291
+ notifyType: components["schemas"]["NotificationEvent"];
6823
7292
  /** @description Notification message. */
6824
7293
  message: string;
6825
7294
  /** @description Whether the notification has been read. */
@@ -6836,8 +7305,6 @@ interface components {
6836
7305
  relatedId?: string | null;
6837
7306
  /** @description Related entity type. */
6838
7307
  relatedType?: string | null;
6839
- /** @description Additional metadata. */
6840
- metadata?: unknown;
6841
7308
  /**
6842
7309
  * Format: date-time
6843
7310
  * @description When the notification was created.
@@ -6849,20 +7316,14 @@ interface components {
6849
7316
  */
6850
7317
  expiresAt?: string | null;
6851
7318
  };
6852
- /**
6853
- * @description Defines the type of notification sent to a user.
6854
- *
6855
- * This enumeration corresponds to the `NOTIFICATION_TYPE` PostgreSQL enum and is used
6856
- * for various user notifications including mentions, replies, and system announcements.
6857
- */
6858
- NotificationType:
6859
- | "comment_mention"
6860
- | "comment_reply"
6861
- | "document_upload"
6862
- | "document_download"
6863
- | "document_verify"
6864
- | "workspace_invite"
6865
- | "system_announcement";
7319
+ /** @description Response type for unread notifications status. */
7320
+ UnreadStatus: {
7321
+ /**
7322
+ * Format: int64
7323
+ * @description Number of unread notifications.
7324
+ */
7325
+ unreadCount: number;
7326
+ };
6866
7327
  /** @description Request payload for login. */
6867
7328
  Login: {
6868
7329
  /**
@@ -6877,15 +7338,18 @@ interface components {
6877
7338
  };
6878
7339
  /** @description Response returned after successful authentication (login/signup). */
6879
7340
  AuthToken: {
7341
+ /** @description The JWT API token for authentication. */
7342
+ apiToken: string;
6880
7343
  /**
6881
7344
  * Format: uuid
6882
- * @description ID of the account.
7345
+ * @description ID of the authenticated account.
6883
7346
  */
6884
7347
  accountId: string;
6885
- /** @description Display name. */
6886
- displayName: string;
6887
- /** @description Email address. */
6888
- emailAddress: string;
7348
+ /**
7349
+ * Format: uuid
7350
+ * @description ID of the token.
7351
+ */
7352
+ tokenId: string;
6889
7353
  /**
6890
7354
  * Format: date-time
6891
7355
  * @description Timestamp when the token was issued.
@@ -6948,108 +7412,9 @@ interface components {
6948
7412
  pathItems: never;
6949
7413
  }
6950
7414
 
6951
- type Schemas$g = components["schemas"];
6952
- type Account = Schemas$g["Account"];
6953
- type UpdateAccount = Schemas$g["UpdateAccount"];
6954
-
6955
- type Schemas$f = components["schemas"];
6956
- type Activity = Schemas$f["Activity"];
6957
- type ActivityType = Schemas$f["ActivityType"];
6958
-
6959
- type Schemas$e = components["schemas"];
6960
- type Annotation = Schemas$e["Annotation"];
6961
- type CreateAnnotation = Schemas$e["CreateAnnotation"];
6962
- type UpdateAnnotation = Schemas$e["UpdateAnnotation"];
6963
-
6964
- type Schemas$d = components["schemas"];
6965
- type ApiToken = Schemas$d["ApiToken"];
6966
- type ApiTokenWithSecret = Schemas$d["ApiTokenWithSecret"];
6967
- type ApiTokenType = Schemas$d["ApiTokenType"];
6968
- type CreateApiToken = Schemas$d["CreateApiToken"];
6969
- type UpdateApiToken = Schemas$d["UpdateApiToken"];
6970
- type TokenExpiration = Schemas$d["TokenExpiration"];
6971
-
6972
- type Schemas$c = components["schemas"];
6973
- type Login = Schemas$c["Login"];
6974
- type Signup = Schemas$c["Signup"];
6975
- type AuthToken = Schemas$c["AuthToken"];
6976
-
6977
- type Schemas$b = components["schemas"];
6978
- type Comment = Schemas$b["Comment"];
6979
- type CreateComment = Schemas$b["CreateComment"];
6980
- type UpdateComment = Schemas$b["UpdateComment"];
6981
-
6982
- type Schemas$a = components["schemas"];
6983
- type Document = Schemas$a["Document"];
6984
- type CreateDocument = Schemas$a["CreateDocument"];
6985
- type UpdateDocument = Schemas$a["UpdateDocument"];
6986
- type DocumentStatus = Schemas$a["DocumentStatus"];
6987
-
6988
- type Schemas$9 = components["schemas"];
6989
- type File = Schemas$9["File"];
6990
- type UpdateFile = Schemas$9["UpdateFile"];
6991
- type ProcessingStatus = Schemas$9["ProcessingStatus"];
6992
- type ContentSegmentation = Schemas$9["ContentSegmentation"];
6993
- type DownloadMultipleFilesRequest = Schemas$9["DownloadMultipleFilesRequest"];
6994
- type DownloadArchivedFilesRequest = Schemas$9["DownloadArchivedFilesRequest"];
6995
- type ArchiveFormat = Schemas$9["ArchiveFormat"];
6996
- type ListFilesQuery = Schemas$9["ListFilesQuery"];
6997
- type FileFormat = Schemas$9["FileFormat"];
6998
- type FileSortField = Schemas$9["FileSortField"];
6999
-
7000
- type Schemas$8 = components["schemas"];
7001
- type Integration = Schemas$8["Integration"];
7002
- type CreateIntegration = Schemas$8["CreateIntegration"];
7003
- type UpdateIntegration = Schemas$8["UpdateIntegration"];
7004
- type UpdateIntegrationCredentials = Schemas$8["UpdateIntegrationCredentials"];
7005
- type IntegrationType = Schemas$8["IntegrationType"];
7006
- type IntegrationStatus = Schemas$8["IntegrationStatus"];
7007
- type ListIntegrationsQuery = Schemas$8["ListIntegrationsQuery"];
7008
-
7009
- type Schemas$7 = components["schemas"];
7010
- type Invite = Schemas$7["Invite"];
7011
- type CreateInvite = Schemas$7["CreateInvite"];
7012
- type ReplyInvite = Schemas$7["ReplyInvite"];
7013
- type GenerateInviteCode = Schemas$7["GenerateInviteCode"];
7014
- type InviteCode = Schemas$7["InviteCode"];
7015
- type InviteStatus = Schemas$7["InviteStatus"];
7016
- type InviteExpiration = Schemas$7["InviteExpiration"];
7017
- type ListInvitesQuery = Schemas$7["ListInvitesQuery"];
7018
- type InviteSortField = Schemas$7["InviteSortField"];
7019
- type SortOrder = Schemas$7["SortOrder"];
7020
-
7021
- type Schemas$6 = components["schemas"];
7022
- type Member = Schemas$6["Member"];
7023
- type UpdateMemberRole = Schemas$6["UpdateMemberRole"];
7024
- type ListMembersQuery = Schemas$6["ListMembersQuery"];
7025
- type MemberSortField = Schemas$6["MemberSortField"];
7026
-
7027
- type Schemas$5 = components["schemas"];
7028
- type Notification = Schemas$5["Notification"];
7029
- type NotificationType = Schemas$5["NotificationType"];
7030
-
7031
- type Schemas$4 = components["schemas"];
7032
- type Pagination = Schemas$4["Pagination"];
7033
-
7034
- type Schemas$3 = components["schemas"];
7035
- type IntegrationRun = Schemas$3["IntegrationRun"];
7036
-
7037
- type Schemas$2 = components["schemas"];
7038
- type MonitorStatus = Schemas$2["MonitorStatus"];
7039
- type ServiceStatus = Schemas$2["ServiceStatus"];
7040
- type CheckHealth = Schemas$2["CheckHealth"];
7041
-
7042
- type Schemas$1 = components["schemas"];
7043
- type Webhook = Schemas$1["Webhook"];
7044
- type WebhookWithSecret = Schemas$1["WebhookWithSecret"];
7045
- type CreateWebhook = Schemas$1["CreateWebhook"];
7046
- type UpdateWebhook = Schemas$1["UpdateWebhook"];
7047
- type WebhookStatus = Schemas$1["WebhookStatus"];
7048
-
7049
7415
  type Schemas = components["schemas"];
7050
- type Workspace = Schemas["Workspace"];
7051
- type CreateWorkspace = Schemas["CreateWorkspace"];
7052
- type UpdateWorkspace = Schemas["UpdateWorkspace"];
7053
- type WorkspaceRole = Schemas["WorkspaceRole"];
7416
+ type Login = Schemas["Login"];
7417
+ type Signup = Schemas["Signup"];
7418
+ type AuthToken = Schemas["AuthToken"];
7054
7419
 
7055
- export type { MemberSortField as $, Account as A, UpdateIntegrationCredentials as B, CreateAnnotation as C, Document as D, IntegrationType as E, File as F, IntegrationStatus as G, ListIntegrationsQuery as H, Integration as I, Invite as J, CreateInvite as K, Login as L, GenerateInviteCode as M, InviteCode as N, InviteStatus as O, ProcessingStatus as P, InviteExpiration as Q, ReplyInvite as R, Signup as S, TokenExpiration as T, UpdateAccount as U, ListInvitesQuery as V, InviteSortField as W, SortOrder as X, Member as Y, UpdateMemberRole as Z, ListMembersQuery as _, Activity as a, Notification as a0, NotificationType as a1, Pagination as a2, IntegrationRun as a3, MonitorStatus as a4, ServiceStatus as a5, CheckHealth as a6, Webhook as a7, WebhookWithSecret as a8, CreateWebhook as a9, UpdateWebhook as aa, WebhookStatus as ab, Workspace as ac, CreateWorkspace as ad, UpdateWorkspace as ae, WorkspaceRole as af, components as ag, paths as ah, ActivityType as b, Annotation as c, UpdateAnnotation as d, ApiToken as e, ApiTokenWithSecret as f, ApiTokenType as g, CreateApiToken as h, UpdateApiToken as i, AuthToken as j, Comment as k, CreateComment as l, UpdateComment as m, CreateDocument as n, UpdateDocument as o, DocumentStatus as p, UpdateFile as q, ContentSegmentation as r, DownloadMultipleFilesRequest as s, DownloadArchivedFilesRequest as t, ArchiveFormat as u, ListFilesQuery as v, FileFormat as w, FileSortField as x, CreateIntegration as y, UpdateIntegration as z };
7420
+ export type { AuthToken as A, Login as L, Signup as S, components as c, paths as p };