fmea-api-mcp-server 1.1.46 → 1.1.48

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.
Files changed (32) hide show
  1. package/data/endpoint-lookup.json +1 -1
  2. package/data/search-index.oxy +1 -1
  3. package/dist/index.js +1 -1
  4. package/dist/synonyms.js +3 -2
  5. package/endpoints/v2/additional-info/core.json +30 -6
  6. package/endpoints/v2/api-keys/core.json +86 -33
  7. package/endpoints/v2/block-diagrams/core.json +6 -3
  8. package/endpoints/v2/condition-library/core.json +62 -301
  9. package/endpoints/v2/condition-library-excel/core.json +1 -4
  10. package/endpoints/v2/divisions/core.json +0 -9
  11. package/endpoints/v2/documents/core.json +49 -21
  12. package/endpoints/v2/evaluation/core.json +158 -34
  13. package/endpoints/v2/excel/core.json +18 -9
  14. package/endpoints/v2/failure-modes/core.json +5 -5
  15. package/endpoints/v2/files/core.json +5 -3
  16. package/endpoints/v2/fourm/core.json +65 -49
  17. package/endpoints/v2/high-items/core.json +1 -0
  18. package/endpoints/v2/projects/core.json +69 -26
  19. package/endpoints/v2/recommendation-items/core.json +16 -3
  20. package/endpoints/v2/search/core.json +125 -33
  21. package/endpoints/v2/system/core.json +22 -10
  22. package/endpoints/v2/system-definition/core.json +9 -3
  23. package/endpoints/v2/system-definition-excel/core.json +1 -1
  24. package/endpoints/v2/templates/core.json +15 -5
  25. package/endpoints/v2/tree-search/core.json +4 -4
  26. package/endpoints/v2/users/core.json +0 -9
  27. package/endpoints/v2/worksheet-templates/core.json +17 -4
  28. package/endpoints/v2/worksheets/core.json +33 -15
  29. package/endpoints/v2/worksheets/excel.json +35 -15
  30. package/endpoints/v2/worksheets/management.json +28 -10
  31. package/endpoints/v2/worksheets/templates.json +4 -1
  32. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -28,7 +28,7 @@ class ApiDocsServer {
28
28
  constructor() {
29
29
  this.server = new Server({
30
30
  name: "api-docs-mcp",
31
- version: "1.1.46",
31
+ version: "1.1.48",
32
32
  }, {
33
33
  capabilities: {
34
34
  resources: {},
package/dist/synonyms.js CHANGED
@@ -45,7 +45,7 @@ export const RESOURCE_ALIASES = {
45
45
  'recommendation-item': ['recommendation item', 'recommended action', 'corrective action', 'action item', 'mitigation item'], // [R20] New v2 recommendation items
46
46
  'fourm': ['4m', 'four m', '4m analysis', 'man machine material environment'], // 4M Analysis
47
47
  'term': ['term', 'terms', 'taxonomy', 'terminology', 'glossary'], // Term tree management — removed 'classification' (now dedicated resource [R28])
48
- 'condition-library': ['condition library', 'stress condition', 'design condition', 'process condition', 'stress library', 'design library', 'process library'], // [R24] Condition library resource
48
+ 'condition-library': ['condition library', 'stress condition', 'design condition', 'process condition', 'stress library', 'design library', 'process library', 'factor', 'common term', 'common terms', 'shared term'], // [R24] [R38] Added factor/common term aliases
49
49
  'system-definition': ['system definition', 'system def', 'sys def', 'system spec', 'system specification', 'system function', 'system requirement'], // [R21] New system definition resource — removed 'condition/conditions' to avoid conflict with condition-library
50
50
  'system-definition-excel': ['system definition excel', 'system definition import', 'system definition export', 'conditions export', 'conditions import', 'export conditions', 'import conditions'], // [R23] Excel import/export for system definition conditions
51
51
  'high-item': ['high item', 'high items', 'high priority item', 'high priority risk', 'high priority', 'top item', 'top risk', 'risk ranking', 'high risk', 'priority list', 'batch upsert items', 'reorder items'], // [R23] High items resource
@@ -66,7 +66,7 @@ export const SYNONYM_GROUPS = {
66
66
  // Read / Retrieve
67
67
  "get": ["fetch", "retrieve", "read", "load", "find", "search", "query", "list", "show", "details"],
68
68
  "find": ["get", "search", "retrieve", "lookup", "show", "detect", "locate"],
69
- "search": ["find", "get", "query", "lookup", "show", "explore", "scan"],
69
+ "search": ["find", "get", "lookup", "query", "show", "explore", "scan"], // [R38] moved "query" to pos4 to avoid false path-boost on /tree-search/.../query
70
70
  "show": ["get", "display", "view", "fetch", "find", "present"],
71
71
  "list": ["get", "all", "collection", "show", "summary", "index", "catalog"],
72
72
  "summary": ["list", "all", "overview", "collection", "report", "stats"],
@@ -79,6 +79,7 @@ export const SYNONYM_GROUPS = {
79
79
  "update": ["modify", "edit", "change", "save", "put", "patch", "set", "refresh", "renew", "upgrade"],
80
80
  "modify": ["update", "edit", "change", "adjust", "alter", "tweak"],
81
81
  "save": ["update", "store", "persist", "write", "record", "commit"],
82
+ "replace": ["overwrite", "substitute", "swap", "update", "save", "put"], // [R38] replace → save/update for bulk-replace endpoints
82
83
  "set": ["update", "assign", "define", "configure", "specify"],
83
84
  // Delete
84
85
  "delete": ["remove", "destroy", "clear", "erase", "drop", "cancel", "archive", "unlink"],
@@ -119,9 +119,17 @@
119
119
  {
120
120
  "name": "fmeaType",
121
121
  "in": "query",
122
- "description": "FMEA project type (e.g. DFMEA, PFMEA)",
122
+ "description": "FMEA project type",
123
123
  "schema": {
124
- "type": "string"
124
+ "type": "string",
125
+ "enum": [
126
+ "DESIGN",
127
+ "PROCESS",
128
+ "EQUIPMENT",
129
+ "FA",
130
+ "FTA",
131
+ "CPLAN"
132
+ ]
125
133
  }
126
134
  }
127
135
  ],
@@ -316,9 +324,17 @@
316
324
  {
317
325
  "name": "fmeaType",
318
326
  "in": "query",
319
- "description": "FMEA project type (e.g. DFMEA, PFMEA)",
327
+ "description": "FMEA project type",
320
328
  "schema": {
321
- "type": "string"
329
+ "type": "string",
330
+ "enum": [
331
+ "DESIGN",
332
+ "PROCESS",
333
+ "EQUIPMENT",
334
+ "FA",
335
+ "FTA",
336
+ "CPLAN"
337
+ ]
322
338
  }
323
339
  }
324
340
  ],
@@ -418,9 +434,17 @@
418
434
  {
419
435
  "name": "fmeaType",
420
436
  "in": "query",
421
- "description": "FMEA project type (e.g. DFMEA, PFMEA)",
437
+ "description": "FMEA project type",
422
438
  "schema": {
423
- "type": "string"
439
+ "type": "string",
440
+ "enum": [
441
+ "DESIGN",
442
+ "PROCESS",
443
+ "EQUIPMENT",
444
+ "FA",
445
+ "FTA",
446
+ "CPLAN"
447
+ ]
424
448
  }
425
449
  },
426
450
  {
@@ -7,13 +7,16 @@
7
7
  "path": "/api/v2/admin/api-keys/{id}",
8
8
  "method": "DELETE",
9
9
  "operationId": "deactivate",
10
- "summary": "Deactivate API key",
11
- "description": "Administrators can forcibly deactivate (disable) any API key in the system using its unique ID. This operation immediately invalidates the key, preventing any further API requests authenticated with it. Use this endpoint to revoke compromised keys, enforce security policies, or manage user access. Unlike user-initiated deletion, this is an administrative override that requires ADMIN privileges and standard session authentication (API key authentication is explicitly blocked). The key is soft-deactivated and may be retained for audit purposes. Related actions include bulk deactivation by user ID and viewing audit logs of administrative actions.",
12
- "tags": [],
10
+ "summary": "Force-deactivate an API key by ID",
11
+ "description": "Immediately deactivates the specified API key regardless of its owner. Only accessible via session (JWT) authentication; API key auth is rejected. Returns 204 No Content on success.",
12
+ "tags": [
13
+ "Admin - API Keys"
14
+ ],
13
15
  "parameters": [
14
16
  {
15
17
  "name": "id",
16
18
  "in": "path",
19
+ "description": "API key ID to deactivate",
17
20
  "required": true,
18
21
  "schema": {
19
22
  "type": "integer",
@@ -34,13 +37,16 @@
34
37
  "path": "/api/v2/admin/api-keys/user/{userid}",
35
38
  "method": "DELETE",
36
39
  "operationId": "deactivateByUserId",
37
- "summary": "Deactivate API keys by user ID",
38
- "description": "Administrators can bulk deactivate (revoke) all API keys belonging to a specific user in a single operation. This is useful for immediately revoking all API access when a user is disabled, leaves the organization, or has their credentials compromised. The endpoint returns a count of deactivated keys. Requires ADMIN privileges and standard session authentication (API key authentication is explicitly blocked for security reasons). Unlike individual key deactivation, this targets all keys associated with the specified user ID. For targeted deactivation of specific keys, use the individual key deactivation endpoint. This action is logged in the admin audit trail for compliance and security monitoring.",
39
- "tags": [],
40
+ "summary": "Deactivate all API keys for a specific user",
41
+ "description": "Bulk-deactivates all active API keys belonging to the specified user. Only accessible via session (JWT) authentication; API key auth is rejected. Returns the count of deactivated keys in the response body.",
42
+ "tags": [
43
+ "Admin - API Keys"
44
+ ],
40
45
  "parameters": [
41
46
  {
42
47
  "name": "userid",
43
48
  "in": "path",
49
+ "description": "User ID whose API keys will be deactivated",
44
50
  "required": true,
45
51
  "schema": {
46
52
  "type": "string"
@@ -61,8 +67,10 @@
61
67
  "method": "GET",
62
68
  "operationId": "getStats",
63
69
  "summary": "Get API key statistics",
64
- "description": "Retrieves system-wide statistics and metrics about API keys for administrative monitoring and reporting. Provides aggregate data including total key count, active vs inactive keys, expired keys, and usage patterns. Use this endpoint for dashboard displays, capacity planning, security auditing, and compliance reporting. Requires ADMIN privileges and standard session authentication (API key authentication is blocked). Statistics are calculated in real-time from the current database state. Complementary to this endpoint, use the admin list endpoint for detailed key information with filters, and the audit logs endpoint for tracking administrative actions on keys.",
65
- "tags": [],
70
+ "description": "Returns aggregate statistics for all API keys in the system, including total count, active/inactive counts, and expiry distribution. Only accessible via session (JWT) authentication; API key auth is rejected.",
71
+ "tags": [
72
+ "Admin - API Keys"
73
+ ],
66
74
  "parameters": [],
67
75
  "responses": {
68
76
  "default": {
@@ -115,13 +123,16 @@
115
123
  "path": "/api/v2/admin/api-keys",
116
124
  "method": "GET",
117
125
  "operationId": "list_3",
118
- "summary": "List API keys (Admin)",
119
- "description": "Administrators can retrieve a comprehensive, paginated list of all API keys across the system with powerful filtering capabilities. Supports filtering by user ID, activation status (active/inactive), and expiration status (expired keys only). Use this endpoint for security audits, compliance reporting, user management, and monitoring API key distribution across the organization. Returns detailed key metadata including owner, creation date, expiration, and status. Requires ADMIN privileges and standard session authentication (API key authentication is blocked). Page size is limited to 100 items per request for performance. This is the administrative counterpart to the user-specific list endpoint, providing visibility into all keys rather than just the authenticated user's keys.",
120
- "tags": [],
126
+ "summary": "List all API keys across all users",
127
+ "description": "Returns a paged list of API keys for all users. Supports filtering by user ID, active status, and expiry state. Only accessible via session (JWT) authentication; API key auth is rejected. Page size is capped at 100.",
128
+ "tags": [
129
+ "Admin - API Keys"
130
+ ],
121
131
  "parameters": [
122
132
  {
123
133
  "name": "userid",
124
134
  "in": "query",
135
+ "description": "Filter by user ID (optional, exact match)",
125
136
  "schema": {
126
137
  "type": "string"
127
138
  }
@@ -129,6 +140,7 @@
129
140
  {
130
141
  "name": "isActive",
131
142
  "in": "query",
143
+ "description": "Filter by active status: true=active only, false=inactive only",
132
144
  "schema": {
133
145
  "type": "boolean"
134
146
  }
@@ -136,6 +148,7 @@
136
148
  {
137
149
  "name": "expiredOnly",
138
150
  "in": "query",
151
+ "description": "If true, return only expired keys",
139
152
  "schema": {
140
153
  "type": "boolean"
141
154
  }
@@ -143,6 +156,7 @@
143
156
  {
144
157
  "name": "page",
145
158
  "in": "query",
159
+ "description": "Page number (default: 1)",
146
160
  "schema": {
147
161
  "type": "integer",
148
162
  "default": 1,
@@ -152,6 +166,7 @@
152
166
  {
153
167
  "name": "size",
154
168
  "in": "query",
169
+ "description": "Page size (default: 20, max: 100)",
155
170
  "schema": {
156
171
  "type": "integer",
157
172
  "default": 20,
@@ -238,13 +253,16 @@
238
253
  "path": "/api/v2/admin/apikeys/logs",
239
254
  "method": "GET",
240
255
  "operationId": "getAuditLogs",
241
- "summary": "Get API key audit logs",
242
- "description": "Retrieves administrative audit logs tracking all management actions performed on API keys, providing a complete trail for security monitoring and compliance. Logs include deactivations, bulk revocations, and other administrative operations with timestamps, acting admin, target users, and action types. Supports filtering by administrator user ID, target user ID, action type, and date ranges (start/end dates). Use this endpoint for forensic analysis, security incident response, compliance auditing, and investigating unauthorized access attempts. Requires ADMIN privileges and standard session authentication (API key authentication is blocked). Results are paginated with a maximum of 100 items per page. This differs from user-facing usage logs which track API requests made using keys, whereas this tracks administrative management actions on keys themselves.",
243
- "tags": [],
256
+ "summary": "Query API key audit logs",
257
+ "description": "Returns a paged list of API key admin actions (create, deactivate, etc.). Supports filtering by admin user ID, target user ID, action type, and date range. Dates must be in ISO-8601 format (YYYY-MM-DD). Only accessible via session (JWT) authentication; API key auth is rejected. Page size is capped at 100.",
258
+ "tags": [
259
+ "Admin - API Key Audit Logs"
260
+ ],
244
261
  "parameters": [
245
262
  {
246
263
  "name": "adminUserid",
247
264
  "in": "query",
265
+ "description": "Filter by the admin who performed the action (optional, exact match)",
248
266
  "schema": {
249
267
  "type": "string"
250
268
  }
@@ -252,6 +270,7 @@
252
270
  {
253
271
  "name": "targetUserid",
254
272
  "in": "query",
273
+ "description": "Filter by the user whose key was affected (optional, exact match)",
255
274
  "schema": {
256
275
  "type": "string"
257
276
  }
@@ -259,13 +278,20 @@
259
278
  {
260
279
  "name": "action",
261
280
  "in": "query",
281
+ "description": "Filter by action type",
262
282
  "schema": {
263
- "type": "string"
283
+ "type": "string",
284
+ "enum": [
285
+ "ADD",
286
+ "DELETE",
287
+ "UPDATE"
288
+ ]
264
289
  }
265
290
  },
266
291
  {
267
292
  "name": "startDate",
268
293
  "in": "query",
294
+ "description": "Start date for the log query range (ISO-8601, YYYY-MM-DD, inclusive)",
269
295
  "schema": {
270
296
  "type": "string"
271
297
  }
@@ -273,6 +299,7 @@
273
299
  {
274
300
  "name": "endDate",
275
301
  "in": "query",
302
+ "description": "End date for the log query range (ISO-8601, YYYY-MM-DD, inclusive)",
276
303
  "schema": {
277
304
  "type": "string"
278
305
  }
@@ -280,6 +307,7 @@
280
307
  {
281
308
  "name": "page",
282
309
  "in": "query",
310
+ "description": "Page number (default: 1)",
283
311
  "schema": {
284
312
  "type": "integer",
285
313
  "default": 1,
@@ -289,6 +317,7 @@
289
317
  {
290
318
  "name": "size",
291
319
  "in": "query",
320
+ "description": "Page size (default: 20, max: 100)",
292
321
  "schema": {
293
322
  "type": "integer",
294
323
  "default": 20,
@@ -360,9 +389,11 @@
360
389
  "path": "/api/v2/api-keys",
361
390
  "method": "GET",
362
391
  "operationId": "list_4",
363
- "summary": "List API keys",
364
- "description": "Retrieves all API keys belonging to the currently authenticated user, providing a comprehensive view of their personal API access credentials. Returns key metadata including key identifier, name, creation date, expiration date, activation status, and last used timestamp. Use this endpoint to manage your API keys, review active credentials, monitor key usage, and identify expired or inactive keys that can be cleaned up. Requires READER level authentication or higher. This is the user-facing counterpart to the administrative list endpoint, which shows all keys across the system. Users can only view their own keys for security isolation. For detailed usage analytics on individual keys, use the logs and log summary endpoints with a specific key ID.",
365
- "tags": [],
392
+ "summary": "List all API keys for the authenticated user",
393
+ "description": "Returns all API keys belonging to the currently authenticated user, including active and inactive keys. Key values are masked in the response.",
394
+ "tags": [
395
+ "API Keys"
396
+ ],
366
397
  "parameters": [],
367
398
  "responses": {
368
399
  "default": {
@@ -433,9 +464,11 @@
433
464
  "path": "/api/v2/api-keys",
434
465
  "method": "POST",
435
466
  "operationId": "create_1",
436
- "summary": "Create API key",
437
- "description": "Generates and issues a new API key for the authenticated user, enabling programmatic access to the FMEA API. The request must specify a descriptive name for the key and an optional expiration date. Upon creation, the full API key value is returned in the response (this is the only time it will be displayed in plain text, so store it securely). Use this endpoint to create keys for API integrations, automated scripts, third-party applications, or CI/CD pipelines. Requires READER level authentication or higher. Each key is unique, cryptographically secure, and associated with the creating user's identity for audit purposes. Keys can be managed (listed, deleted, regenerated) through the other endpoints in this API. If a key is compromised, use the regenerate endpoint to create a new secret without changing the key ID, or delete it entirely.",
438
- "tags": [],
467
+ "summary": "Issue a new API key for the authenticated user",
468
+ "description": "Creates and returns a new API key for the currently authenticated user. The key is returned in full only at creation time; subsequent list calls return only the masked key. Returns 201 Created on success.",
469
+ "tags": [
470
+ "API Keys"
471
+ ],
439
472
  "parameters": [],
440
473
  "requestBody": {
441
474
  "content": {
@@ -521,13 +554,16 @@
521
554
  "path": "/api/v2/api-keys/{id}",
522
555
  "method": "DELETE",
523
556
  "operationId": "delete_1",
524
- "summary": "Delete API key",
525
- "description": "Permanently deletes (removes) an API key belonging to the authenticated user. This operation immediately invalidates the key, preventing any further API requests authenticated with it. Use this endpoint to revoke compromised credentials, clean up unused keys, or remove keys that are no longer needed for security best practices. Requires READER level authentication or higher. Users can only delete their own keys for security isolation. The deletion is permanent and cannot be undone, so ensure the key is not in active use before deletion. For temporary revocation where you might want to reactivate later, consider using administrative deactivation instead (requires admin privileges). This endpoint returns no content on success (HTTP 204). Always verify you are deleting the correct key ID, as the action is irreversible.",
526
- "tags": [],
557
+ "summary": "Delete an API key owned by the authenticated user",
558
+ "description": "Permanently deletes the specified API key. The key must belong to the currently authenticated user. Returns 204 No Content on success.",
559
+ "tags": [
560
+ "API Keys"
561
+ ],
527
562
  "parameters": [
528
563
  {
529
564
  "name": "id",
530
565
  "in": "path",
566
+ "description": "API key ID to delete",
531
567
  "required": true,
532
568
  "schema": {
533
569
  "type": "integer",
@@ -548,13 +584,16 @@
548
584
  "path": "/api/v2/api-keys/{id}/logs",
549
585
  "method": "GET",
550
586
  "operationId": "getLogs",
551
- "summary": "Get API key usage logs",
552
- "description": "Retrieves detailed usage logs for a specific API key owned by the authenticated user, showing all API requests made using that key. Each log entry includes timestamp, endpoint path, HTTP method, response status code, and request metadata. Supports filtering by date range (start/end dates), specific endpoint, and HTTP status code for targeted analysis. Results are paginated with a maximum of 100 items per page. Use this endpoint for security monitoring, debugging integration issues, tracking API usage patterns, and identifying suspicious activity. Requires READER level authentication or higher. Users can only view logs for their own keys. This provides granular request-level detail, while the summary endpoint offers aggregated statistics. The log retention period applies, so very old logs may not be available.",
553
- "tags": [],
587
+ "summary": "Get usage logs for an API key",
588
+ "description": "Returns paged usage logs for the specified API key owned by the authenticated user. Supports filtering by date range, endpoint path, and HTTP status code. Dates must be in ISO-8601 format (YYYY-MM-DD). Page size is capped at 100.",
589
+ "tags": [
590
+ "API Keys"
591
+ ],
554
592
  "parameters": [
555
593
  {
556
594
  "name": "id",
557
595
  "in": "path",
596
+ "description": "API key ID",
558
597
  "required": true,
559
598
  "schema": {
560
599
  "type": "integer",
@@ -564,6 +603,7 @@
564
603
  {
565
604
  "name": "startDate",
566
605
  "in": "query",
606
+ "description": "Start date for the log range (ISO-8601, YYYY-MM-DD, inclusive)",
567
607
  "schema": {
568
608
  "type": "string"
569
609
  }
@@ -571,6 +611,7 @@
571
611
  {
572
612
  "name": "endDate",
573
613
  "in": "query",
614
+ "description": "End date for the log range (ISO-8601, YYYY-MM-DD, inclusive)",
574
615
  "schema": {
575
616
  "type": "string"
576
617
  }
@@ -578,6 +619,7 @@
578
619
  {
579
620
  "name": "endpoint",
580
621
  "in": "query",
622
+ "description": "Filter by called endpoint path (optional, partial match)",
581
623
  "schema": {
582
624
  "type": "string"
583
625
  }
@@ -585,6 +627,7 @@
585
627
  {
586
628
  "name": "statusCode",
587
629
  "in": "query",
630
+ "description": "Filter by HTTP status code (optional, e.g., 200, 401, 500)",
588
631
  "schema": {
589
632
  "type": "integer",
590
633
  "format": "int32"
@@ -593,6 +636,7 @@
593
636
  {
594
637
  "name": "page",
595
638
  "in": "query",
639
+ "description": "Page number (default: 0)",
596
640
  "schema": {
597
641
  "type": "integer",
598
642
  "default": 0,
@@ -602,6 +646,7 @@
602
646
  {
603
647
  "name": "size",
604
648
  "in": "query",
649
+ "description": "Page size (default: 20, max: 100)",
605
650
  "schema": {
606
651
  "type": "integer",
607
652
  "default": 20,
@@ -622,13 +667,16 @@
622
667
  "path": "/api/v2/api-keys/{id}/logs/summary",
623
668
  "method": "GET",
624
669
  "operationId": "getLogsSummary",
625
- "summary": "Get API key logs summary",
626
- "description": "Retrieves aggregated usage statistics and summary analytics for a specific API key owned by the authenticated user. Provides high-level metrics including total request count, success rate (2xx/3xx vs 4xx/5xx), most frequently used endpoints, error breakdown, and activity timeline within the specified date range. Use this endpoint for usage analytics, quota monitoring, identifying integration health, and generating usage reports without processing individual log entries. Requires READER level authentication or higher. Users can only view summaries for their own keys. Supports optional date range filtering to analyze specific time periods. This complements the detailed logs endpoint by providing pre-aggregated insights for quick assessment of API key performance and usage patterns.",
627
- "tags": [],
670
+ "summary": "Get usage log summary for an API key",
671
+ "description": "Returns aggregated usage statistics for the specified API key owned by the authenticated user. Supports filtering by date range (ISO-8601 YYYY-MM-DD). Includes total request counts grouped by status code and endpoint.",
672
+ "tags": [
673
+ "API Keys"
674
+ ],
628
675
  "parameters": [
629
676
  {
630
677
  "name": "id",
631
678
  "in": "path",
679
+ "description": "API key ID",
632
680
  "required": true,
633
681
  "schema": {
634
682
  "type": "integer",
@@ -638,6 +686,7 @@
638
686
  {
639
687
  "name": "startDate",
640
688
  "in": "query",
689
+ "description": "Start date for the summary range (ISO-8601, YYYY-MM-DD, inclusive)",
641
690
  "schema": {
642
691
  "type": "string"
643
692
  }
@@ -645,6 +694,7 @@
645
694
  {
646
695
  "name": "endDate",
647
696
  "in": "query",
697
+ "description": "End date for the summary range (ISO-8601, YYYY-MM-DD, inclusive)",
648
698
  "schema": {
649
699
  "type": "string"
650
700
  }
@@ -714,13 +764,16 @@
714
764
  "path": "/api/v2/api-keys/{id}/regenerate",
715
765
  "method": "POST",
716
766
  "operationId": "regenerate",
717
- "summary": "Regenerate API key",
718
- "description": "Regenerates (replaces the secret value of) an existing API key while preserving its ID and metadata. This operation creates a new cryptographically secure key value, immediately invalidating the old secret. The full new API key value is returned in the response (store it securely, as this is the only time it will be displayed). Optionally accepts a new expiration date. Use this endpoint to rotate credentials for security compliance, respond to potential key exposure, or implement periodic key rotation policies without changing integration configuration. Requires READER level authentication or higher. Users can only regenerate their own keys. The old key becomes invalid immediately upon regeneration, so update all applications using the key promptly. This differs from deletion + recreation in that the key ID remains stable, making it easier to update integrations.",
719
- "tags": [],
767
+ "summary": "Regenerate an API key",
768
+ "description": "Replaces the secret value of an existing API key with a newly generated one. An optional new expiry date may be specified in the request body. The new key value is returned in full only in this response.",
769
+ "tags": [
770
+ "API Keys"
771
+ ],
720
772
  "parameters": [
721
773
  {
722
774
  "name": "id",
723
775
  "in": "path",
776
+ "description": "API key ID to regenerate",
724
777
  "required": true,
725
778
  "schema": {
726
779
  "type": "integer",
@@ -720,13 +720,16 @@
720
720
  "path": "/api/v2/template/block-diagrams/{blockDiagramType}/sheet-headers",
721
721
  "method": "GET",
722
722
  "operationId": "getBlockDiagramSheetHeaders",
723
- "summary": "Get Block Diagram Excel Sheet Headers (v2)",
724
- "description": "Retrieves the standardized Excel sheet headers and column definitions for a specific block diagram type. Use this endpoint to obtain the expected column structure, field names, and data format requirements when creating or validating Excel files for block diagram import. This is essential for ensuring Excel uploads conform to the correct schema, preventing import errors and data validation failures. The response defines all required and optional columns, data types, and formatting rules. Supports dynamic template generation and client-side Excel validation. Critical for building import interfaces, spreadsheet validation tools, and documentation generation. Use before attempting Excel data import operations.",
725
- "tags": [],
723
+ "summary": "Get block diagram Excel sheet headers for a given diagram type",
724
+ "description": "Returns the ordered list of column headers used in the Excel import/export sheet for the specified block diagram type. Valid values for blockDiagramType: P-DIAGRAM, BOUNDARY-DIAGRAM.",
725
+ "tags": [
726
+ "Template"
727
+ ],
726
728
  "parameters": [
727
729
  {
728
730
  "name": "blockDiagramType",
729
731
  "in": "path",
732
+ "description": "Block diagram type",
730
733
  "required": true,
731
734
  "schema": {
732
735
  "type": "string",