@agent-os-sdk/client 0.1.2 → 0.2.2

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 (61) hide show
  1. package/dist/client/AgentOsClient.d.ts +39 -44
  2. package/dist/client/AgentOsClient.d.ts.map +1 -1
  3. package/dist/client/AgentOsClient.js +162 -44
  4. package/dist/client/auth.d.ts +102 -0
  5. package/dist/client/auth.d.ts.map +1 -0
  6. package/dist/client/auth.js +44 -0
  7. package/dist/generated/openapi.d.ts +914 -202
  8. package/dist/generated/openapi.d.ts.map +1 -1
  9. package/dist/index.d.ts +10 -9
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +3 -1
  12. package/dist/modules/approvals.d.ts +8 -22
  13. package/dist/modules/approvals.d.ts.map +1 -1
  14. package/dist/modules/approvals.js +27 -130
  15. package/dist/modules/artifacts.d.ts +28 -79
  16. package/dist/modules/artifacts.d.ts.map +1 -1
  17. package/dist/modules/artifacts.js +30 -197
  18. package/dist/modules/budgets.d.ts +47 -70
  19. package/dist/modules/budgets.d.ts.map +1 -1
  20. package/dist/modules/budgets.js +28 -139
  21. package/dist/modules/builder.d.ts +21 -1
  22. package/dist/modules/builder.d.ts.map +1 -1
  23. package/dist/modules/builder.js +25 -3
  24. package/dist/modules/capabilities.d.ts +39 -50
  25. package/dist/modules/capabilities.d.ts.map +1 -1
  26. package/dist/modules/capabilities.js +32 -95
  27. package/dist/modules/deployments.d.ts +49 -92
  28. package/dist/modules/deployments.d.ts.map +1 -1
  29. package/dist/modules/deployments.js +37 -209
  30. package/dist/modules/flows.d.ts +11 -31
  31. package/dist/modules/flows.d.ts.map +1 -1
  32. package/dist/modules/flows.js +33 -157
  33. package/dist/modules/handoff.d.ts +7 -4
  34. package/dist/modules/handoff.d.ts.map +1 -1
  35. package/dist/modules/handoff.js +25 -88
  36. package/dist/modules/incidents.d.ts +40 -101
  37. package/dist/modules/incidents.d.ts.map +1 -1
  38. package/dist/modules/incidents.js +31 -208
  39. package/dist/modules/policies.d.ts +42 -69
  40. package/dist/modules/policies.d.ts.map +1 -1
  41. package/dist/modules/policies.js +25 -159
  42. package/dist/modules/runs.d.ts +89 -3
  43. package/dist/modules/runs.d.ts.map +1 -1
  44. package/dist/modules/runs.js +75 -4
  45. package/package.json +1 -1
  46. package/src/client/AgentOsClient.ts +185 -67
  47. package/src/client/auth.ts +148 -0
  48. package/src/generated/openapi.ts +914 -202
  49. package/src/generated/swagger.json +770 -630
  50. package/src/index.ts +22 -10
  51. package/src/modules/approvals.ts +31 -132
  52. package/src/modules/artifacts.ts +41 -245
  53. package/src/modules/budgets.ts +65 -181
  54. package/src/modules/builder.ts +25 -3
  55. package/src/modules/capabilities.ts +58 -139
  56. package/src/modules/deployments.ts +67 -271
  57. package/src/modules/flows.ts +37 -163
  58. package/src/modules/handoff.ts +29 -93
  59. package/src/modules/incidents.ts +56 -282
  60. package/src/modules/policies.ts +57 -203
  61. package/src/modules/runs.ts +123 -5
@@ -67,25 +67,9 @@
67
67
  "AgentPortability"
68
68
  ],
69
69
  "summary": "Import an agent bundle.",
70
- "parameters": [
71
- {
72
- "name": "X-Tenant-Id",
73
- "in": "header",
74
- "schema": {
75
- "type": "string",
76
- "format": "uuid"
77
- }
78
- },
79
- {
80
- "name": "X-Workspace-Id",
81
- "in": "header",
82
- "schema": {
83
- "type": "string",
84
- "format": "uuid"
85
- }
86
- }
87
- ],
70
+ "description": "Imports an agent bundle into the current tenant/workspace.\nThe agent and all versions are created with new IDs to avoid conflicts.\n\n**Security:**\n- Tenant and workspace are resolved from the authenticated context\n- Original IDs from the bundle are replaced with new GUIDs",
88
71
  "requestBody": {
72
+ "description": "The agent bundle to import.",
89
73
  "content": {
90
74
  "application/json": {
91
75
  "schema": {
@@ -105,8 +89,28 @@
105
89
  }
106
90
  },
107
91
  "responses": {
108
- "200": {
109
- "description": "OK"
92
+ "201": {
93
+ "description": "Agent imported successfully."
94
+ },
95
+ "400": {
96
+ "description": "Invalid bundle format.",
97
+ "content": {
98
+ "application/json": {
99
+ "schema": {
100
+ "$ref": "#/components/schemas/ProblemDetails"
101
+ }
102
+ }
103
+ }
104
+ },
105
+ "401": {
106
+ "description": "Authentication required or missing workspace context.",
107
+ "content": {
108
+ "application/json": {
109
+ "schema": {
110
+ "$ref": "#/components/schemas/ProblemDetails"
111
+ }
112
+ }
113
+ }
110
114
  }
111
115
  }
112
116
  }
@@ -116,7 +120,10 @@
116
120
  "tags": [
117
121
  "Agents"
118
122
  ],
123
+ "summary": "Creates a new agent in the current workspace.",
124
+ "description": "Creates a new agent with the specified configuration. The agent is created in draft mode\nand must have a version published before it can be used for runs.\n\n**Example Request:**\n```json\n{\n \"name\": \"customer-support-agent\",\n \"description\": \"Handles customer inquiries and support tickets\",\n \"graph_spec\": { \"nodes\": [...], \"edges\": [...] }\n}\n```",
119
125
  "requestBody": {
126
+ "description": "The agent creation request containing name, description, and optional graph specification.",
120
127
  "content": {
121
128
  "application/json": {
122
129
  "schema": {
@@ -136,8 +143,38 @@
136
143
  }
137
144
  },
138
145
  "responses": {
139
- "200": {
140
- "description": "OK"
146
+ "201": {
147
+ "description": "Agent created successfully. Returns the new agent details."
148
+ },
149
+ "400": {
150
+ "description": "Invalid request body. Check required fields and data formats.",
151
+ "content": {
152
+ "application/json": {
153
+ "schema": {
154
+ "$ref": "#/components/schemas/ProblemDetails"
155
+ }
156
+ }
157
+ }
158
+ },
159
+ "401": {
160
+ "description": "Authentication required. Provide a valid Bearer token.",
161
+ "content": {
162
+ "application/json": {
163
+ "schema": {
164
+ "$ref": "#/components/schemas/ProblemDetails"
165
+ }
166
+ }
167
+ }
168
+ },
169
+ "409": {
170
+ "description": "An agent with this name already exists in the workspace.",
171
+ "content": {
172
+ "application/json": {
173
+ "schema": {
174
+ "$ref": "#/components/schemas/ProblemDetails"
175
+ }
176
+ }
177
+ }
141
178
  }
142
179
  }
143
180
  },
@@ -145,10 +182,13 @@
145
182
  "tags": [
146
183
  "Agents"
147
184
  ],
185
+ "summary": "Lists all agents in the current workspace with pagination.",
186
+ "description": "Returns a paginated list of agents accessible to the current user within the specified workspace.\nResults are ordered by creation date (newest first).\n\n**Pagination:**\nUse `skip` and `take` parameters to paginate through large result sets.\nDefault page size is 20, maximum is 100.",
148
187
  "parameters": [
149
188
  {
150
189
  "name": "skip",
151
190
  "in": "query",
191
+ "description": "Number of records to skip for pagination. Default: 0.",
152
192
  "schema": {
153
193
  "type": "integer",
154
194
  "format": "int32",
@@ -158,6 +198,7 @@
158
198
  {
159
199
  "name": "take",
160
200
  "in": "query",
201
+ "description": "Maximum number of records to return. Default: 20, Max: 100.",
161
202
  "schema": {
162
203
  "type": "integer",
163
204
  "format": "int32",
@@ -167,7 +208,27 @@
167
208
  ],
168
209
  "responses": {
169
210
  "200": {
170
- "description": "OK"
211
+ "description": "Returns the list of agents."
212
+ },
213
+ "400": {
214
+ "description": "X-Workspace-Id header is required.",
215
+ "content": {
216
+ "application/json": {
217
+ "schema": {
218
+ "$ref": "#/components/schemas/ProblemDetails"
219
+ }
220
+ }
221
+ }
222
+ },
223
+ "401": {
224
+ "description": "Authentication required.",
225
+ "content": {
226
+ "application/json": {
227
+ "schema": {
228
+ "$ref": "#/components/schemas/ProblemDetails"
229
+ }
230
+ }
231
+ }
171
232
  }
172
233
  }
173
234
  }
@@ -177,11 +238,13 @@
177
238
  "tags": [
178
239
  "Agents"
179
240
  ],
180
- "summary": "Get agent by ID with tenant isolation (IDOR protected)",
241
+ "summary": "Retrieves a specific agent by its unique identifier.",
242
+ "description": "Returns the full agent details including configuration, live version reference,\nand metadata. Access is restricted to agents within your tenant (IDOR protected).",
181
243
  "parameters": [
182
244
  {
183
245
  "name": "id",
184
246
  "in": "path",
247
+ "description": "The unique identifier (GUID) of the agent to retrieve.",
185
248
  "required": true,
186
249
  "schema": {
187
250
  "type": "string",
@@ -191,7 +254,27 @@
191
254
  ],
192
255
  "responses": {
193
256
  "200": {
194
- "description": "OK"
257
+ "description": "Returns the agent details."
258
+ },
259
+ "401": {
260
+ "description": "Authentication required.",
261
+ "content": {
262
+ "application/json": {
263
+ "schema": {
264
+ "$ref": "#/components/schemas/ProblemDetails"
265
+ }
266
+ }
267
+ }
268
+ },
269
+ "404": {
270
+ "description": "Agent not found or not accessible.",
271
+ "content": {
272
+ "application/json": {
273
+ "schema": {
274
+ "$ref": "#/components/schemas/ProblemDetails"
275
+ }
276
+ }
277
+ }
195
278
  }
196
279
  }
197
280
  },
@@ -199,11 +282,13 @@
199
282
  "tags": [
200
283
  "Agents"
201
284
  ],
202
- "summary": "Update agent by ID with tenant isolation (IDOR protected)",
285
+ "summary": "Updates an existing agent's metadata and configuration.",
286
+ "description": "Performs a partial update (PATCH) on the agent. Only provided fields are updated.\n\n**Note:** This updates the agent metadata, not the version. To update the agent's\nbehavior/graph, create a new version instead.\n\n**Example Request:**\n```json\n{\n \"name\": \"updated-agent-name\",\n \"description\": \"New description for the agent\"\n}\n```",
203
287
  "parameters": [
204
288
  {
205
289
  "name": "id",
206
290
  "in": "path",
291
+ "description": "The unique identifier (GUID) of the agent to update.",
207
292
  "required": true,
208
293
  "schema": {
209
294
  "type": "string",
@@ -212,6 +297,7 @@
212
297
  }
213
298
  ],
214
299
  "requestBody": {
300
+ "description": "The fields to update. Only non-null fields will be modified.",
215
301
  "content": {
216
302
  "application/json": {
217
303
  "schema": {
@@ -232,7 +318,37 @@
232
318
  },
233
319
  "responses": {
234
320
  "200": {
235
- "description": "OK"
321
+ "description": "Agent updated successfully. Returns updated agent."
322
+ },
323
+ "400": {
324
+ "description": "Invalid request body.",
325
+ "content": {
326
+ "application/json": {
327
+ "schema": {
328
+ "$ref": "#/components/schemas/ProblemDetails"
329
+ }
330
+ }
331
+ }
332
+ },
333
+ "401": {
334
+ "description": "Authentication required.",
335
+ "content": {
336
+ "application/json": {
337
+ "schema": {
338
+ "$ref": "#/components/schemas/ProblemDetails"
339
+ }
340
+ }
341
+ }
342
+ },
343
+ "404": {
344
+ "description": "Agent not found or not accessible.",
345
+ "content": {
346
+ "application/json": {
347
+ "schema": {
348
+ "$ref": "#/components/schemas/ProblemDetails"
349
+ }
350
+ }
351
+ }
236
352
  }
237
353
  }
238
354
  },
@@ -240,11 +356,13 @@
240
356
  "tags": [
241
357
  "Agents"
242
358
  ],
243
- "summary": "Delete agent by ID with tenant isolation (IDOR protected)",
359
+ "summary": "Deletes an agent from the workspace.",
360
+ "description": "By default, performs a soft delete (marks as deleted but retains data).\nUse `hardDelete=true` to permanently remove the agent and all associated data.\n\n**Warning:** Hard delete is irreversible and will remove:\n- All agent versions\n- All associated runs and threads\n- All credential bindings",
244
361
  "parameters": [
245
362
  {
246
363
  "name": "id",
247
364
  "in": "path",
365
+ "description": "The unique identifier (GUID) of the agent to delete.",
248
366
  "required": true,
249
367
  "schema": {
250
368
  "type": "string",
@@ -254,6 +372,7 @@
254
372
  {
255
373
  "name": "hardDelete",
256
374
  "in": "query",
375
+ "description": "If true, permanently deletes the agent. Default: false (soft delete).",
257
376
  "schema": {
258
377
  "type": "boolean",
259
378
  "default": false
@@ -261,8 +380,28 @@
261
380
  }
262
381
  ],
263
382
  "responses": {
264
- "200": {
265
- "description": "OK"
383
+ "204": {
384
+ "description": "Agent deleted successfully."
385
+ },
386
+ "401": {
387
+ "description": "Authentication required.",
388
+ "content": {
389
+ "application/json": {
390
+ "schema": {
391
+ "$ref": "#/components/schemas/ProblemDetails"
392
+ }
393
+ }
394
+ }
395
+ },
396
+ "404": {
397
+ "description": "Agent not found or not accessible.",
398
+ "content": {
399
+ "application/json": {
400
+ "schema": {
401
+ "$ref": "#/components/schemas/ProblemDetails"
402
+ }
403
+ }
404
+ }
266
405
  }
267
406
  }
268
407
  }
@@ -272,11 +411,13 @@
272
411
  "tags": [
273
412
  "Agents"
274
413
  ],
275
- "summary": "Get Mermaid graph for the live version of an agent.",
414
+ "summary": "Gets a Mermaid diagram representation of the agent's graph.",
415
+ "description": "Returns the agent's workflow as a Mermaid diagram string that can be rendered\nin any Mermaid-compatible viewer. Uses the currently live version of the agent.\n\n**Example Response:**\n```json\n{\n \"mermaid\": \"graph TD\\n START --> LLM --> END\",\n \"agent_id\": \"...\",\n \"live_version_id\": \"...\"\n}\n```",
276
416
  "parameters": [
277
417
  {
278
418
  "name": "id",
279
419
  "in": "path",
420
+ "description": "The unique identifier (GUID) of the agent.",
280
421
  "required": true,
281
422
  "schema": {
282
423
  "type": "string",
@@ -286,7 +427,27 @@
286
427
  ],
287
428
  "responses": {
288
429
  "200": {
289
- "description": "OK"
430
+ "description": "Returns the Mermaid graph representation."
431
+ },
432
+ "401": {
433
+ "description": "Authentication required.",
434
+ "content": {
435
+ "application/json": {
436
+ "schema": {
437
+ "$ref": "#/components/schemas/ProblemDetails"
438
+ }
439
+ }
440
+ }
441
+ },
442
+ "404": {
443
+ "description": "Agent not found or not accessible.",
444
+ "content": {
445
+ "application/json": {
446
+ "schema": {
447
+ "$ref": "#/components/schemas/ProblemDetails"
448
+ }
449
+ }
450
+ }
290
451
  }
291
452
  }
292
453
  }
@@ -362,11 +523,13 @@
362
523
  "tags": [
363
524
  "AgentVersions"
364
525
  ],
365
- "summary": "Create agent version with tenant isolation (IDOR protected)",
526
+ "summary": "Creates a new version for an agent.",
527
+ "description": "Creates an immutable snapshot of the agent's configuration. The new version\ncan optionally be marked as the live version immediately.\n\n**Example Request:**\n```json\n{\n \"version_tag\": \"v1.2.0\",\n \"graph_spec\": { \"nodes\": [...], \"edges\": [...] },\n \"set_live\": true\n}\n```",
366
528
  "parameters": [
367
529
  {
368
530
  "name": "agentId",
369
531
  "in": "path",
532
+ "description": "The unique identifier of the parent agent.",
370
533
  "required": true,
371
534
  "schema": {
372
535
  "type": "string",
@@ -375,6 +538,7 @@
375
538
  }
376
539
  ],
377
540
  "requestBody": {
541
+ "description": "The version creation request with graph specification.",
378
542
  "content": {
379
543
  "application/json": {
380
544
  "schema": {
@@ -394,8 +558,38 @@
394
558
  }
395
559
  },
396
560
  "responses": {
397
- "200": {
398
- "description": "OK"
561
+ "201": {
562
+ "description": "Version created successfully."
563
+ },
564
+ "400": {
565
+ "description": "Invalid request body or validation error.",
566
+ "content": {
567
+ "application/json": {
568
+ "schema": {
569
+ "$ref": "#/components/schemas/ProblemDetails"
570
+ }
571
+ }
572
+ }
573
+ },
574
+ "401": {
575
+ "description": "Authentication required.",
576
+ "content": {
577
+ "application/json": {
578
+ "schema": {
579
+ "$ref": "#/components/schemas/ProblemDetails"
580
+ }
581
+ }
582
+ }
583
+ },
584
+ "404": {
585
+ "description": "Parent agent not found.",
586
+ "content": {
587
+ "application/json": {
588
+ "schema": {
589
+ "$ref": "#/components/schemas/ProblemDetails"
590
+ }
591
+ }
592
+ }
399
593
  }
400
594
  }
401
595
  },
@@ -403,11 +597,13 @@
403
597
  "tags": [
404
598
  "AgentVersions"
405
599
  ],
406
- "summary": "List agent versions with tenant isolation (IDOR protected)",
600
+ "summary": "Lists all versions for an agent.",
601
+ "description": "Returns all versions of the specified agent, ordered by creation date (newest first).\nThe response includes which version is currently set as \"live\".",
407
602
  "parameters": [
408
603
  {
409
604
  "name": "agentId",
410
605
  "in": "path",
606
+ "description": "The unique identifier of the agent.",
411
607
  "required": true,
412
608
  "schema": {
413
609
  "type": "string",
@@ -417,7 +613,17 @@
417
613
  ],
418
614
  "responses": {
419
615
  "200": {
420
- "description": "OK"
616
+ "description": "Returns the list of versions."
617
+ },
618
+ "401": {
619
+ "description": "Authentication required.",
620
+ "content": {
621
+ "application/json": {
622
+ "schema": {
623
+ "$ref": "#/components/schemas/ProblemDetails"
624
+ }
625
+ }
626
+ }
421
627
  }
422
628
  }
423
629
  }
@@ -427,11 +633,13 @@
427
633
  "tags": [
428
634
  "AgentVersions"
429
635
  ],
430
- "summary": "Get specific version with tenant isolation (IDOR protected)",
636
+ "summary": "Retrieves a specific version by its identifier.",
637
+ "description": "Returns the full details of a specific agent version, including its\ngraph specification and all configuration settings.",
431
638
  "parameters": [
432
639
  {
433
640
  "name": "agentId",
434
641
  "in": "path",
642
+ "description": "The unique identifier of the parent agent.",
435
643
  "required": true,
436
644
  "schema": {
437
645
  "type": "string",
@@ -441,6 +649,7 @@
441
649
  {
442
650
  "name": "versionId",
443
651
  "in": "path",
652
+ "description": "The unique identifier of the version to retrieve.",
444
653
  "required": true,
445
654
  "schema": {
446
655
  "type": "string",
@@ -450,7 +659,27 @@
450
659
  ],
451
660
  "responses": {
452
661
  "200": {
453
- "description": "OK"
662
+ "description": "Returns the version details."
663
+ },
664
+ "401": {
665
+ "description": "Authentication required.",
666
+ "content": {
667
+ "application/json": {
668
+ "schema": {
669
+ "$ref": "#/components/schemas/ProblemDetails"
670
+ }
671
+ }
672
+ }
673
+ },
674
+ "404": {
675
+ "description": "Version not found.",
676
+ "content": {
677
+ "application/json": {
678
+ "schema": {
679
+ "$ref": "#/components/schemas/ProblemDetails"
680
+ }
681
+ }
682
+ }
454
683
  }
455
684
  }
456
685
  },
@@ -458,11 +687,13 @@
458
687
  "tags": [
459
688
  "AgentVersions"
460
689
  ],
461
- "summary": "Agent versions are immutable once published. Updates are not allowed.",
690
+ "summary": "Updates are not allowed - versions are immutable.",
691
+ "description": "Agent versions are immutable by design. This endpoint always returns a 409 Conflict\nto enforce this invariant. To change an agent's behavior, create a new version instead.\n\n**Why immutability?**\n- Reproducibility: Every run can be traced to an exact version\n- Auditability: Version history provides a complete changelog\n- Rollback: Easy to revert to any previous version",
462
692
  "parameters": [
463
693
  {
464
694
  "name": "agentId",
465
695
  "in": "path",
696
+ "description": "The unique identifier of the parent agent.",
466
697
  "required": true,
467
698
  "schema": {
468
699
  "type": "string",
@@ -472,6 +703,7 @@
472
703
  {
473
704
  "name": "versionId",
474
705
  "in": "path",
706
+ "description": "The unique identifier of the version.",
475
707
  "required": true,
476
708
  "schema": {
477
709
  "type": "string",
@@ -480,6 +712,7 @@
480
712
  }
481
713
  ],
482
714
  "requestBody": {
715
+ "description": "The update request (ignored - updates not allowed).",
483
716
  "content": {
484
717
  "application/json": {
485
718
  "schema": { }
@@ -493,8 +726,15 @@
493
726
  }
494
727
  },
495
728
  "responses": {
496
- "200": {
497
- "description": "OK"
729
+ "409": {
730
+ "description": "Versions are immutable. Create a new version instead.",
731
+ "content": {
732
+ "application/json": {
733
+ "schema": {
734
+ "$ref": "#/components/schemas/ProblemDetails"
735
+ }
736
+ }
737
+ }
498
738
  }
499
739
  }
500
740
  }
@@ -504,10 +744,21 @@
504
744
  "tags": [
505
745
  "ApiTokens"
506
746
  ],
507
- "summary": "List all API tokens for the current workspace.\nToken secrets are never returned.",
747
+ "summary": "Lists all API tokens for the current workspace.",
748
+ "description": "Returns token metadata without secrets. Token secrets are only\navailable at creation time and cannot be retrieved later.",
508
749
  "responses": {
509
750
  "200": {
510
- "description": "OK"
751
+ "description": "Returns the list of tokens."
752
+ },
753
+ "400": {
754
+ "description": "Workspace ID header is required.",
755
+ "content": {
756
+ "application/json": {
757
+ "schema": {
758
+ "$ref": "#/components/schemas/ProblemDetails"
759
+ }
760
+ }
761
+ }
511
762
  }
512
763
  }
513
764
  },
@@ -566,6 +817,167 @@
566
817
  }
567
818
  }
568
819
  },
820
+ "/v1/api/tokens/{id}/rotate": {
821
+ "post": {
822
+ "tags": [
823
+ "ApiTokens"
824
+ ],
825
+ "summary": "Rotate an API token - revokes current and issues a new one.\nThe new token secret is only returned once.",
826
+ "description": "Rotation is useful for security hygiene (periodic credential rotation)\nor when a token may have been compromised. The new token inherits\nthe same scopes and expiration policy as the original.",
827
+ "parameters": [
828
+ {
829
+ "name": "id",
830
+ "in": "path",
831
+ "description": "Token ID to rotate.",
832
+ "required": true,
833
+ "schema": {
834
+ "type": "string",
835
+ "format": "uuid"
836
+ }
837
+ }
838
+ ],
839
+ "responses": {
840
+ "200": {
841
+ "description": "Token rotated successfully, new secret returned."
842
+ },
843
+ "404": {
844
+ "description": "Token not found or already revoked.",
845
+ "content": {
846
+ "application/json": {
847
+ "schema": {
848
+ "$ref": "#/components/schemas/ProblemDetails"
849
+ }
850
+ }
851
+ }
852
+ }
853
+ }
854
+ }
855
+ },
856
+ "/v1/api/workspaces/{workspaceId}/approvals": {
857
+ "get": {
858
+ "tags": [
859
+ "Approvals"
860
+ ],
861
+ "summary": "List approvals for a workspace, optionally filtered by status.",
862
+ "parameters": [
863
+ {
864
+ "name": "workspaceId",
865
+ "in": "path",
866
+ "required": true,
867
+ "schema": {
868
+ "type": "string",
869
+ "format": "uuid"
870
+ }
871
+ },
872
+ {
873
+ "name": "status",
874
+ "in": "query",
875
+ "schema": {
876
+ "type": "string"
877
+ }
878
+ },
879
+ {
880
+ "name": "limit",
881
+ "in": "query",
882
+ "schema": {
883
+ "type": "integer",
884
+ "format": "int32",
885
+ "default": 50
886
+ }
887
+ }
888
+ ],
889
+ "responses": {
890
+ "200": {
891
+ "description": "OK"
892
+ }
893
+ }
894
+ }
895
+ },
896
+ "/v1/api/workspaces/{workspaceId}/approvals/{approvalId}": {
897
+ "get": {
898
+ "tags": [
899
+ "Approvals"
900
+ ],
901
+ "summary": "Get a specific approval by ID.",
902
+ "parameters": [
903
+ {
904
+ "name": "workspaceId",
905
+ "in": "path",
906
+ "required": true,
907
+ "schema": {
908
+ "type": "string",
909
+ "format": "uuid"
910
+ }
911
+ },
912
+ {
913
+ "name": "approvalId",
914
+ "in": "path",
915
+ "required": true,
916
+ "schema": {
917
+ "type": "string",
918
+ "format": "uuid"
919
+ }
920
+ }
921
+ ],
922
+ "responses": {
923
+ "200": {
924
+ "description": "OK"
925
+ }
926
+ }
927
+ }
928
+ },
929
+ "/v1/api/workspaces/{workspaceId}/approvals/{approvalId}/decision": {
930
+ "post": {
931
+ "tags": [
932
+ "Approvals"
933
+ ],
934
+ "summary": "Decide on an approval: approve or deny.\nIdempotent: re-deciding returns 200 no-op.",
935
+ "parameters": [
936
+ {
937
+ "name": "workspaceId",
938
+ "in": "path",
939
+ "required": true,
940
+ "schema": {
941
+ "type": "string",
942
+ "format": "uuid"
943
+ }
944
+ },
945
+ {
946
+ "name": "approvalId",
947
+ "in": "path",
948
+ "required": true,
949
+ "schema": {
950
+ "type": "string",
951
+ "format": "uuid"
952
+ }
953
+ }
954
+ ],
955
+ "requestBody": {
956
+ "content": {
957
+ "application/json": {
958
+ "schema": {
959
+ "$ref": "#/components/schemas/ApprovalDecision"
960
+ }
961
+ },
962
+ "text/json": {
963
+ "schema": {
964
+ "$ref": "#/components/schemas/ApprovalDecision"
965
+ }
966
+ },
967
+ "application/*+json": {
968
+ "schema": {
969
+ "$ref": "#/components/schemas/ApprovalDecision"
970
+ }
971
+ }
972
+ }
973
+ },
974
+ "responses": {
975
+ "200": {
976
+ "description": "OK"
977
+ }
978
+ }
979
+ }
980
+ },
569
981
  "/v1/api/audit": {
570
982
  "get": {
571
983
  "tags": [
@@ -840,40 +1252,20 @@
840
1252
  "200": {
841
1253
  "description": "OK",
842
1254
  "content": {
843
- "text/plain": {
844
- "schema": {
845
- "$ref": "#/components/schemas/CheckpointListResponse"
846
- }
847
- },
848
1255
  "application/json": {
849
1256
  "schema": {
850
1257
  "$ref": "#/components/schemas/CheckpointListResponse"
851
1258
  }
852
- },
853
- "text/json": {
854
- "schema": {
855
- "$ref": "#/components/schemas/CheckpointListResponse"
856
- }
857
1259
  }
858
1260
  }
859
1261
  },
860
1262
  "404": {
861
1263
  "description": "Not Found",
862
1264
  "content": {
863
- "text/plain": {
864
- "schema": {
865
- "$ref": "#/components/schemas/ProblemDetails"
866
- }
867
- },
868
1265
  "application/json": {
869
1266
  "schema": {
870
1267
  "$ref": "#/components/schemas/ProblemDetails"
871
1268
  }
872
- },
873
- "text/json": {
874
- "schema": {
875
- "$ref": "#/components/schemas/ProblemDetails"
876
- }
877
1269
  }
878
1270
  }
879
1271
  }
@@ -927,20 +1319,10 @@
927
1319
  "201": {
928
1320
  "description": "Created",
929
1321
  "content": {
930
- "text/plain": {
931
- "schema": {
932
- "$ref": "#/components/schemas/CheckpointDetail"
933
- }
934
- },
935
1322
  "application/json": {
936
1323
  "schema": {
937
1324
  "$ref": "#/components/schemas/CheckpointDetail"
938
1325
  }
939
- },
940
- "text/json": {
941
- "schema": {
942
- "$ref": "#/components/schemas/CheckpointDetail"
943
- }
944
1326
  }
945
1327
  }
946
1328
  }
@@ -986,40 +1368,20 @@
986
1368
  "200": {
987
1369
  "description": "OK",
988
1370
  "content": {
989
- "text/plain": {
990
- "schema": {
991
- "$ref": "#/components/schemas/CheckpointDetail"
992
- }
993
- },
994
1371
  "application/json": {
995
1372
  "schema": {
996
1373
  "$ref": "#/components/schemas/CheckpointDetail"
997
1374
  }
998
- },
999
- "text/json": {
1000
- "schema": {
1001
- "$ref": "#/components/schemas/CheckpointDetail"
1002
- }
1003
1375
  }
1004
1376
  }
1005
1377
  },
1006
1378
  "404": {
1007
1379
  "description": "Not Found",
1008
1380
  "content": {
1009
- "text/plain": {
1010
- "schema": {
1011
- "$ref": "#/components/schemas/ProblemDetails"
1012
- }
1013
- },
1014
1381
  "application/json": {
1015
1382
  "schema": {
1016
1383
  "$ref": "#/components/schemas/ProblemDetails"
1017
1384
  }
1018
- },
1019
- "text/json": {
1020
- "schema": {
1021
- "$ref": "#/components/schemas/ProblemDetails"
1022
- }
1023
1385
  }
1024
1386
  }
1025
1387
  }
@@ -1084,40 +1446,20 @@
1084
1446
  "201": {
1085
1447
  "description": "Created",
1086
1448
  "content": {
1087
- "text/plain": {
1088
- "schema": {
1089
- "$ref": "#/components/schemas/ReplayResponse"
1090
- }
1091
- },
1092
1449
  "application/json": {
1093
1450
  "schema": {
1094
1451
  "$ref": "#/components/schemas/ReplayResponse"
1095
1452
  }
1096
- },
1097
- "text/json": {
1098
- "schema": {
1099
- "$ref": "#/components/schemas/ReplayResponse"
1100
- }
1101
1453
  }
1102
1454
  }
1103
1455
  },
1104
1456
  "404": {
1105
1457
  "description": "Not Found",
1106
1458
  "content": {
1107
- "text/plain": {
1108
- "schema": {
1109
- "$ref": "#/components/schemas/ProblemDetails"
1110
- }
1111
- },
1112
1459
  "application/json": {
1113
1460
  "schema": {
1114
1461
  "$ref": "#/components/schemas/ProblemDetails"
1115
1462
  }
1116
- },
1117
- "text/json": {
1118
- "schema": {
1119
- "$ref": "#/components/schemas/ProblemDetails"
1120
- }
1121
1463
  }
1122
1464
  }
1123
1465
  }
@@ -1129,18 +1471,13 @@
1129
1471
  "tags": [
1130
1472
  "Credentials"
1131
1473
  ],
1474
+ "summary": "Lists all credentials accessible to the current tenant/workspace.",
1475
+ "description": "Returns credentials the user has access to. Does not expose the encrypted values,\nonly metadata like name, type, scope, and status.",
1132
1476
  "parameters": [
1133
- {
1134
- "name": "X-Tenant-Id",
1135
- "in": "header",
1136
- "schema": {
1137
- "type": "string",
1138
- "format": "uuid"
1139
- }
1140
- },
1141
1477
  {
1142
1478
  "name": "workspaceId",
1143
1479
  "in": "query",
1480
+ "description": "Optional filter by workspace.",
1144
1481
  "schema": {
1145
1482
  "type": "string",
1146
1483
  "format": "uuid"
@@ -1149,25 +1486,28 @@
1149
1486
  ],
1150
1487
  "responses": {
1151
1488
  "200": {
1152
- "description": "OK"
1153
- }
1154
- }
1155
- },
1156
- "post": {
1157
- "tags": [
1158
- "Credentials"
1159
- ],
1160
- "parameters": [
1161
- {
1162
- "name": "X-Member-Id",
1163
- "in": "header",
1164
- "schema": {
1165
- "type": "string",
1166
- "format": "uuid"
1489
+ "description": "Returns the list of credentials."
1490
+ },
1491
+ "401": {
1492
+ "description": "Authentication required.",
1493
+ "content": {
1494
+ "application/json": {
1495
+ "schema": {
1496
+ "$ref": "#/components/schemas/ProblemDetails"
1497
+ }
1498
+ }
1167
1499
  }
1168
1500
  }
1501
+ }
1502
+ },
1503
+ "post": {
1504
+ "tags": [
1505
+ "Credentials"
1169
1506
  ],
1507
+ "summary": "Creates a new credential.",
1508
+ "description": "Creates a new encrypted credential for storing API keys or secrets.\nThe credential is encrypted at rest using workspace-specific keys.",
1170
1509
  "requestBody": {
1510
+ "description": "The credential configuration.",
1171
1511
  "content": {
1172
1512
  "application/json": {
1173
1513
  "schema": {
@@ -1187,8 +1527,28 @@
1187
1527
  }
1188
1528
  },
1189
1529
  "responses": {
1190
- "200": {
1191
- "description": "OK"
1530
+ "201": {
1531
+ "description": "Credential created successfully."
1532
+ },
1533
+ "400": {
1534
+ "description": "Invalid request (missing TypeId or WorkspaceId).",
1535
+ "content": {
1536
+ "application/json": {
1537
+ "schema": {
1538
+ "$ref": "#/components/schemas/ProblemDetails"
1539
+ }
1540
+ }
1541
+ }
1542
+ },
1543
+ "401": {
1544
+ "description": "Authentication required.",
1545
+ "content": {
1546
+ "application/json": {
1547
+ "schema": {
1548
+ "$ref": "#/components/schemas/ProblemDetails"
1549
+ }
1550
+ }
1551
+ }
1192
1552
  }
1193
1553
  }
1194
1554
  }
@@ -1198,26 +1558,21 @@
1198
1558
  "tags": [
1199
1559
  "Credentials"
1200
1560
  ],
1561
+ "summary": "Updates an existing credential.",
1201
1562
  "parameters": [
1202
1563
  {
1203
1564
  "name": "id",
1204
1565
  "in": "path",
1566
+ "description": "The credential ID.",
1205
1567
  "required": true,
1206
1568
  "schema": {
1207
1569
  "type": "string",
1208
1570
  "format": "uuid"
1209
1571
  }
1210
- },
1211
- {
1212
- "name": "X-Member-Id",
1213
- "in": "header",
1214
- "schema": {
1215
- "type": "string",
1216
- "format": "uuid"
1217
- }
1218
1572
  }
1219
1573
  ],
1220
1574
  "requestBody": {
1575
+ "description": "The update payload.",
1221
1576
  "content": {
1222
1577
  "application/json": {
1223
1578
  "schema": {
@@ -1238,7 +1593,17 @@
1238
1593
  },
1239
1594
  "responses": {
1240
1595
  "200": {
1241
- "description": "OK"
1596
+ "description": "Credential updated successfully."
1597
+ },
1598
+ "404": {
1599
+ "description": "Credential not found.",
1600
+ "content": {
1601
+ "application/json": {
1602
+ "schema": {
1603
+ "$ref": "#/components/schemas/ProblemDetails"
1604
+ }
1605
+ }
1606
+ }
1242
1607
  }
1243
1608
  }
1244
1609
  }
@@ -1248,26 +1613,21 @@
1248
1613
  "tags": [
1249
1614
  "Credentials"
1250
1615
  ],
1616
+ "summary": "Grants access to a credential for a workspace.",
1251
1617
  "parameters": [
1252
1618
  {
1253
1619
  "name": "id",
1254
1620
  "in": "path",
1621
+ "description": "The credential ID.",
1255
1622
  "required": true,
1256
1623
  "schema": {
1257
1624
  "type": "string",
1258
1625
  "format": "uuid"
1259
1626
  }
1260
- },
1261
- {
1262
- "name": "X-Member-Id",
1263
- "in": "header",
1264
- "schema": {
1265
- "type": "string",
1266
- "format": "uuid"
1267
- }
1268
1627
  }
1269
1628
  ],
1270
1629
  "requestBody": {
1630
+ "description": "The grant configuration.",
1271
1631
  "content": {
1272
1632
  "application/json": {
1273
1633
  "schema": {
@@ -1288,7 +1648,17 @@
1288
1648
  },
1289
1649
  "responses": {
1290
1650
  "200": {
1291
- "description": "OK"
1651
+ "description": "Access granted successfully."
1652
+ },
1653
+ "404": {
1654
+ "description": "Credential not found.",
1655
+ "content": {
1656
+ "application/json": {
1657
+ "schema": {
1658
+ "$ref": "#/components/schemas/ProblemDetails"
1659
+ }
1660
+ }
1661
+ }
1292
1662
  }
1293
1663
  }
1294
1664
  }
@@ -1298,28 +1668,32 @@
1298
1668
  "tags": [
1299
1669
  "Credentials"
1300
1670
  ],
1671
+ "summary": "Revokes access to a credential.",
1301
1672
  "parameters": [
1302
1673
  {
1303
1674
  "name": "accessId",
1304
1675
  "in": "path",
1676
+ "description": "The access grant ID to revoke.",
1305
1677
  "required": true,
1306
1678
  "schema": {
1307
1679
  "type": "string",
1308
1680
  "format": "uuid"
1309
1681
  }
1310
- },
1311
- {
1312
- "name": "X-Member-Id",
1313
- "in": "header",
1314
- "schema": {
1315
- "type": "string",
1316
- "format": "uuid"
1317
- }
1318
1682
  }
1319
1683
  ],
1320
1684
  "responses": {
1321
- "200": {
1322
- "description": "OK"
1685
+ "204": {
1686
+ "description": "Access revoked successfully."
1687
+ },
1688
+ "404": {
1689
+ "description": "Access grant not found.",
1690
+ "content": {
1691
+ "application/json": {
1692
+ "schema": {
1693
+ "$ref": "#/components/schemas/ProblemDetails"
1694
+ }
1695
+ }
1696
+ }
1323
1697
  }
1324
1698
  }
1325
1699
  }
@@ -2007,40 +2381,20 @@
2007
2381
  "200": {
2008
2382
  "description": "OK",
2009
2383
  "content": {
2010
- "text/plain": {
2011
- "schema": {
2012
- "$ref": "#/components/schemas/PresignedUploadResponse"
2013
- }
2014
- },
2015
2384
  "application/json": {
2016
2385
  "schema": {
2017
2386
  "$ref": "#/components/schemas/PresignedUploadResponse"
2018
2387
  }
2019
- },
2020
- "text/json": {
2021
- "schema": {
2022
- "$ref": "#/components/schemas/PresignedUploadResponse"
2023
- }
2024
2388
  }
2025
2389
  }
2026
2390
  },
2027
2391
  "400": {
2028
2392
  "description": "Bad Request",
2029
2393
  "content": {
2030
- "text/plain": {
2031
- "schema": {
2032
- "$ref": "#/components/schemas/ProblemDetails"
2033
- }
2034
- },
2035
2394
  "application/json": {
2036
2395
  "schema": {
2037
2396
  "$ref": "#/components/schemas/ProblemDetails"
2038
2397
  }
2039
- },
2040
- "text/json": {
2041
- "schema": {
2042
- "$ref": "#/components/schemas/ProblemDetails"
2043
- }
2044
2398
  }
2045
2399
  }
2046
2400
  }
@@ -2096,60 +2450,30 @@
2096
2450
  "200": {
2097
2451
  "description": "OK",
2098
2452
  "content": {
2099
- "text/plain": {
2100
- "schema": {
2101
- "$ref": "#/components/schemas/FileConfirmResponse"
2102
- }
2103
- },
2104
2453
  "application/json": {
2105
2454
  "schema": {
2106
2455
  "$ref": "#/components/schemas/FileConfirmResponse"
2107
2456
  }
2108
- },
2109
- "text/json": {
2110
- "schema": {
2111
- "$ref": "#/components/schemas/FileConfirmResponse"
2112
- }
2113
2457
  }
2114
2458
  }
2115
2459
  },
2116
2460
  "404": {
2117
2461
  "description": "Not Found",
2118
2462
  "content": {
2119
- "text/plain": {
2120
- "schema": {
2121
- "$ref": "#/components/schemas/ProblemDetails"
2122
- }
2123
- },
2124
2463
  "application/json": {
2125
2464
  "schema": {
2126
2465
  "$ref": "#/components/schemas/ProblemDetails"
2127
2466
  }
2128
- },
2129
- "text/json": {
2130
- "schema": {
2131
- "$ref": "#/components/schemas/ProblemDetails"
2132
- }
2133
2467
  }
2134
2468
  }
2135
2469
  },
2136
2470
  "400": {
2137
2471
  "description": "Bad Request",
2138
2472
  "content": {
2139
- "text/plain": {
2140
- "schema": {
2141
- "$ref": "#/components/schemas/ProblemDetails"
2142
- }
2143
- },
2144
2473
  "application/json": {
2145
2474
  "schema": {
2146
2475
  "$ref": "#/components/schemas/ProblemDetails"
2147
2476
  }
2148
- },
2149
- "text/json": {
2150
- "schema": {
2151
- "$ref": "#/components/schemas/ProblemDetails"
2152
- }
2153
2477
  }
2154
2478
  }
2155
2479
  }
@@ -2186,40 +2510,20 @@
2186
2510
  "200": {
2187
2511
  "description": "OK",
2188
2512
  "content": {
2189
- "text/plain": {
2190
- "schema": {
2191
- "$ref": "#/components/schemas/PresignedDownloadResponse"
2192
- }
2193
- },
2194
2513
  "application/json": {
2195
2514
  "schema": {
2196
2515
  "$ref": "#/components/schemas/PresignedDownloadResponse"
2197
2516
  }
2198
- },
2199
- "text/json": {
2200
- "schema": {
2201
- "$ref": "#/components/schemas/PresignedDownloadResponse"
2202
- }
2203
2517
  }
2204
2518
  }
2205
2519
  },
2206
2520
  "404": {
2207
2521
  "description": "Not Found",
2208
2522
  "content": {
2209
- "text/plain": {
2210
- "schema": {
2211
- "$ref": "#/components/schemas/ProblemDetails"
2212
- }
2213
- },
2214
2523
  "application/json": {
2215
2524
  "schema": {
2216
2525
  "$ref": "#/components/schemas/ProblemDetails"
2217
2526
  }
2218
- },
2219
- "text/json": {
2220
- "schema": {
2221
- "$ref": "#/components/schemas/ProblemDetails"
2222
- }
2223
2527
  }
2224
2528
  }
2225
2529
  }
@@ -2272,14 +2576,6 @@
2272
2576
  "200": {
2273
2577
  "description": "OK",
2274
2578
  "content": {
2275
- "text/plain": {
2276
- "schema": {
2277
- "type": "array",
2278
- "items": {
2279
- "$ref": "#/components/schemas/FileListItem"
2280
- }
2281
- }
2282
- },
2283
2579
  "application/json": {
2284
2580
  "schema": {
2285
2581
  "type": "array",
@@ -2287,14 +2583,6 @@
2287
2583
  "$ref": "#/components/schemas/FileListItem"
2288
2584
  }
2289
2585
  }
2290
- },
2291
- "text/json": {
2292
- "schema": {
2293
- "type": "array",
2294
- "items": {
2295
- "$ref": "#/components/schemas/FileListItem"
2296
- }
2297
- }
2298
2586
  }
2299
2587
  }
2300
2588
  }
@@ -2331,40 +2619,20 @@
2331
2619
  "200": {
2332
2620
  "description": "OK",
2333
2621
  "content": {
2334
- "text/plain": {
2335
- "schema": {
2336
- "$ref": "#/components/schemas/FileDetail"
2337
- }
2338
- },
2339
2622
  "application/json": {
2340
2623
  "schema": {
2341
2624
  "$ref": "#/components/schemas/FileDetail"
2342
2625
  }
2343
- },
2344
- "text/json": {
2345
- "schema": {
2346
- "$ref": "#/components/schemas/FileDetail"
2347
- }
2348
2626
  }
2349
2627
  }
2350
2628
  },
2351
2629
  "404": {
2352
2630
  "description": "Not Found",
2353
2631
  "content": {
2354
- "text/plain": {
2355
- "schema": {
2356
- "$ref": "#/components/schemas/ProblemDetails"
2357
- }
2358
- },
2359
2632
  "application/json": {
2360
2633
  "schema": {
2361
2634
  "$ref": "#/components/schemas/ProblemDetails"
2362
2635
  }
2363
- },
2364
- "text/json": {
2365
- "schema": {
2366
- "$ref": "#/components/schemas/ProblemDetails"
2367
- }
2368
2636
  }
2369
2637
  }
2370
2638
  }
@@ -2402,20 +2670,10 @@
2402
2670
  "404": {
2403
2671
  "description": "Not Found",
2404
2672
  "content": {
2405
- "text/plain": {
2406
- "schema": {
2407
- "$ref": "#/components/schemas/ProblemDetails"
2408
- }
2409
- },
2410
2673
  "application/json": {
2411
2674
  "schema": {
2412
2675
  "$ref": "#/components/schemas/ProblemDetails"
2413
2676
  }
2414
- },
2415
- "text/json": {
2416
- "schema": {
2417
- "$ref": "#/components/schemas/ProblemDetails"
2418
- }
2419
2677
  }
2420
2678
  }
2421
2679
  }
@@ -3373,7 +3631,8 @@
3373
3631
  "tags": [
3374
3632
  "Runs"
3375
3633
  ],
3376
- "summary": "Lists runs with optional filtering.",
3634
+ "summary": "Lists runs with optional filtering and pagination.",
3635
+ "description": "Returns a paginated list of runs with filtering options. Results are ordered\nby creation date (newest first).\n\n**Filtering:**\n- `agentId`: Show only runs for a specific agent\n- `threadId`: Show only runs in a specific thread\n- `status`: Filter by status (queued, running, completed, failed, canceled)",
3377
3636
  "parameters": [
3378
3637
  {
3379
3638
  "name": "agentId",
@@ -3396,7 +3655,7 @@
3396
3655
  {
3397
3656
  "name": "status",
3398
3657
  "in": "query",
3399
- "description": "Optional filter by status.",
3658
+ "description": "Optional filter by status (queued, running, completed, failed, canceled).",
3400
3659
  "schema": {
3401
3660
  "type": "string"
3402
3661
  }
@@ -3404,7 +3663,7 @@
3404
3663
  {
3405
3664
  "name": "limit",
3406
3665
  "in": "query",
3407
- "description": "Max results to return (default 20, max 100).",
3666
+ "description": "Max results to return. Default: 20, Max: 100.",
3408
3667
  "schema": {
3409
3668
  "type": "integer",
3410
3669
  "format": "int32",
@@ -3414,7 +3673,7 @@
3414
3673
  {
3415
3674
  "name": "offset",
3416
3675
  "in": "query",
3417
- "description": "Pagination offset.",
3676
+ "description": "Number of records to skip for pagination.",
3418
3677
  "schema": {
3419
3678
  "type": "integer",
3420
3679
  "format": "int32",
@@ -3424,21 +3683,21 @@
3424
3683
  ],
3425
3684
  "responses": {
3426
3685
  "200": {
3427
- "description": "OK",
3686
+ "description": "Returns the list of runs.",
3428
3687
  "content": {
3429
- "text/plain": {
3430
- "schema": {
3431
- "$ref": "#/components/schemas/RunListResponse"
3432
- }
3433
- },
3434
3688
  "application/json": {
3435
3689
  "schema": {
3436
3690
  "$ref": "#/components/schemas/RunListResponse"
3437
3691
  }
3438
- },
3439
- "text/json": {
3692
+ }
3693
+ }
3694
+ },
3695
+ "401": {
3696
+ "description": "Authentication required.",
3697
+ "content": {
3698
+ "application/json": {
3440
3699
  "schema": {
3441
- "$ref": "#/components/schemas/RunListResponse"
3700
+ "$ref": "#/components/schemas/ProblemDetails"
3442
3701
  }
3443
3702
  }
3444
3703
  }
@@ -3449,10 +3708,10 @@
3449
3708
  "tags": [
3450
3709
  "Runs"
3451
3710
  ],
3452
- "summary": "Starts a new agent run.",
3453
- "description": "Resolves or creates a thread and identifies the correct agent version before queuing the run.\nSupports Idempotency-Key header for idempotent request handling.",
3711
+ "summary": "Starts a new agent run asynchronously.",
3712
+ "description": "Creates a new run and queues it for execution. The run will be processed\nby the data plane and its status can be monitored via polling or SSE.\n\n**Thread Resolution:**\n- If `thread.id` is provided, uses existing thread\n- If `thread` is omitted, creates a new thread automatically\n\n**Idempotency:**\nProvide `Idempotency-Key` header to prevent duplicate runs.\nIf a run with the same key exists and is still valid, returns 200 instead of 201.\n\n**Example Request:**\n```json\n{\n \"agent_id\": \"...\",\n \"input\": { \"messages\": [{ \"role\": \"user\", \"content\": \"Hello\" }] }\n}\n```",
3454
3713
  "requestBody": {
3455
- "description": "The run request details.",
3714
+ "description": "The run request with agent ID and input.",
3456
3715
  "content": {
3457
3716
  "application/json": {
3458
3717
  "schema": {
@@ -3473,19 +3732,19 @@
3473
3732
  },
3474
3733
  "responses": {
3475
3734
  "201": {
3476
- "description": "Created",
3735
+ "description": "Run created and queued successfully.",
3477
3736
  "content": {
3478
- "text/plain": {
3479
- "schema": {
3480
- "$ref": "#/components/schemas/RunResponse"
3481
- }
3482
- },
3483
3737
  "application/json": {
3484
3738
  "schema": {
3485
3739
  "$ref": "#/components/schemas/RunResponse"
3486
3740
  }
3487
- },
3488
- "text/json": {
3741
+ }
3742
+ }
3743
+ },
3744
+ "200": {
3745
+ "description": "Existing run returned (idempotent request).",
3746
+ "content": {
3747
+ "application/json": {
3489
3748
  "schema": {
3490
3749
  "$ref": "#/components/schemas/RunResponse"
3491
3750
  }
@@ -3493,19 +3752,19 @@
3493
3752
  }
3494
3753
  },
3495
3754
  "400": {
3496
- "description": "Bad Request",
3755
+ "description": "Invalid request (missing agent, invalid input).",
3497
3756
  "content": {
3498
- "text/plain": {
3499
- "schema": {
3500
- "$ref": "#/components/schemas/ProblemDetails"
3501
- }
3502
- },
3503
3757
  "application/json": {
3504
3758
  "schema": {
3505
3759
  "$ref": "#/components/schemas/ProblemDetails"
3506
3760
  }
3507
- },
3508
- "text/json": {
3761
+ }
3762
+ }
3763
+ },
3764
+ "401": {
3765
+ "description": "Authentication required.",
3766
+ "content": {
3767
+ "application/json": {
3509
3768
  "schema": {
3510
3769
  "$ref": "#/components/schemas/ProblemDetails"
3511
3770
  }
@@ -3537,40 +3796,20 @@
3537
3796
  "200": {
3538
3797
  "description": "OK",
3539
3798
  "content": {
3540
- "text/plain": {
3541
- "schema": {
3542
- "$ref": "#/components/schemas/RunDetailResponse"
3543
- }
3544
- },
3545
3799
  "application/json": {
3546
3800
  "schema": {
3547
3801
  "$ref": "#/components/schemas/RunDetailResponse"
3548
3802
  }
3549
- },
3550
- "text/json": {
3551
- "schema": {
3552
- "$ref": "#/components/schemas/RunDetailResponse"
3553
- }
3554
3803
  }
3555
3804
  }
3556
3805
  },
3557
3806
  "404": {
3558
3807
  "description": "Not Found",
3559
3808
  "content": {
3560
- "text/plain": {
3561
- "schema": {
3562
- "$ref": "#/components/schemas/ProblemDetails"
3563
- }
3564
- },
3565
3809
  "application/json": {
3566
3810
  "schema": {
3567
3811
  "$ref": "#/components/schemas/ProblemDetails"
3568
3812
  }
3569
- },
3570
- "text/json": {
3571
- "schema": {
3572
- "$ref": "#/components/schemas/ProblemDetails"
3573
- }
3574
3813
  }
3575
3814
  }
3576
3815
  }
@@ -3619,37 +3858,80 @@
3619
3858
  "200": {
3620
3859
  "description": "OK",
3621
3860
  "content": {
3622
- "text/plain": {
3623
- "schema": {
3624
- "$ref": "#/components/schemas/RunEventsResponse"
3625
- }
3626
- },
3627
3861
  "application/json": {
3628
3862
  "schema": {
3629
3863
  "$ref": "#/components/schemas/RunEventsResponse"
3630
3864
  }
3631
- },
3632
- "text/json": {
3633
- "schema": {
3634
- "$ref": "#/components/schemas/RunEventsResponse"
3635
- }
3636
3865
  }
3637
3866
  }
3638
3867
  },
3639
3868
  "404": {
3640
3869
  "description": "Not Found",
3641
3870
  "content": {
3642
- "text/plain": {
3871
+ "application/json": {
3643
3872
  "schema": {
3644
3873
  "$ref": "#/components/schemas/ProblemDetails"
3645
3874
  }
3646
- },
3875
+ }
3876
+ }
3877
+ }
3878
+ }
3879
+ }
3880
+ },
3881
+ "/v1/api/runs/{runId}/events/stream": {
3882
+ "get": {
3883
+ "tags": [
3884
+ "Runs"
3885
+ ],
3886
+ "summary": "Wave 1.0: Get run events for polling-based replay.\nReturns events after a specific sequence number for incremental polling.",
3887
+ "description": "This is the recommended endpoint for SDK/UI event consumption.\nEvents are ordered by sequence number (ascending) and limited to prevent\nlarge responses. Use `next_after_seq` for pagination.\n\n**Security:** Only returns events for runs in the caller's workspace.",
3888
+ "parameters": [
3889
+ {
3890
+ "name": "runId",
3891
+ "in": "path",
3892
+ "description": "The unique ID of the run.",
3893
+ "required": true,
3894
+ "schema": {
3895
+ "type": "string",
3896
+ "format": "uuid"
3897
+ }
3898
+ },
3899
+ {
3900
+ "name": "afterSeq",
3901
+ "in": "query",
3902
+ "description": "Return events with seq greater than this value (default: 0 = all).",
3903
+ "schema": {
3904
+ "type": "integer",
3905
+ "format": "int64",
3906
+ "default": 0
3907
+ }
3908
+ },
3909
+ {
3910
+ "name": "limit",
3911
+ "in": "query",
3912
+ "description": "Max events to return (default: 100, max: 500).",
3913
+ "schema": {
3914
+ "type": "integer",
3915
+ "format": "int32",
3916
+ "default": 100
3917
+ }
3918
+ }
3919
+ ],
3920
+ "responses": {
3921
+ "200": {
3922
+ "description": "OK",
3923
+ "content": {
3647
3924
  "application/json": {
3648
3925
  "schema": {
3649
- "$ref": "#/components/schemas/ProblemDetails"
3926
+ "$ref": "#/components/schemas/RunEventsPollResponse"
3650
3927
  }
3651
- },
3652
- "text/json": {
3928
+ }
3929
+ }
3930
+ },
3931
+ "404": {
3932
+ "description": "Not Found",
3933
+ "content": {
3934
+ "application/json": {
3653
3935
  "schema": {
3654
3936
  "$ref": "#/components/schemas/ProblemDetails"
3655
3937
  }
@@ -3688,18 +3970,8 @@
3688
3970
  "responses": {
3689
3971
  "200": {
3690
3972
  "description": "OK",
3691
- "content": {
3692
- "text/plain": {
3693
- "schema": {
3694
- "$ref": "#/components/schemas/WaitRunResponse"
3695
- }
3696
- },
3697
- "application/json": {
3698
- "schema": {
3699
- "$ref": "#/components/schemas/WaitRunResponse"
3700
- }
3701
- },
3702
- "text/json": {
3973
+ "content": {
3974
+ "application/json": {
3703
3975
  "schema": {
3704
3976
  "$ref": "#/components/schemas/WaitRunResponse"
3705
3977
  }
@@ -3709,40 +3981,20 @@
3709
3981
  "408": {
3710
3982
  "description": "Request Timeout",
3711
3983
  "content": {
3712
- "text/plain": {
3713
- "schema": {
3714
- "$ref": "#/components/schemas/ProblemDetails"
3715
- }
3716
- },
3717
3984
  "application/json": {
3718
3985
  "schema": {
3719
3986
  "$ref": "#/components/schemas/ProblemDetails"
3720
3987
  }
3721
- },
3722
- "text/json": {
3723
- "schema": {
3724
- "$ref": "#/components/schemas/ProblemDetails"
3725
- }
3726
3988
  }
3727
3989
  }
3728
3990
  },
3729
3991
  "400": {
3730
3992
  "description": "Bad Request",
3731
3993
  "content": {
3732
- "text/plain": {
3733
- "schema": {
3734
- "$ref": "#/components/schemas/ProblemDetails"
3735
- }
3736
- },
3737
3994
  "application/json": {
3738
3995
  "schema": {
3739
3996
  "$ref": "#/components/schemas/ProblemDetails"
3740
3997
  }
3741
- },
3742
- "text/json": {
3743
- "schema": {
3744
- "$ref": "#/components/schemas/ProblemDetails"
3745
- }
3746
3998
  }
3747
3999
  }
3748
4000
  }
@@ -3779,40 +4031,20 @@
3779
4031
  "201": {
3780
4032
  "description": "Created",
3781
4033
  "content": {
3782
- "text/plain": {
3783
- "schema": {
3784
- "$ref": "#/components/schemas/BatchRunResponse"
3785
- }
3786
- },
3787
4034
  "application/json": {
3788
4035
  "schema": {
3789
4036
  "$ref": "#/components/schemas/BatchRunResponse"
3790
4037
  }
3791
- },
3792
- "text/json": {
3793
- "schema": {
3794
- "$ref": "#/components/schemas/BatchRunResponse"
3795
- }
3796
4038
  }
3797
4039
  }
3798
4040
  },
3799
4041
  "400": {
3800
4042
  "description": "Bad Request",
3801
4043
  "content": {
3802
- "text/plain": {
3803
- "schema": {
3804
- "$ref": "#/components/schemas/ProblemDetails"
3805
- }
3806
- },
3807
4044
  "application/json": {
3808
4045
  "schema": {
3809
4046
  "$ref": "#/components/schemas/ProblemDetails"
3810
4047
  }
3811
- },
3812
- "text/json": {
3813
- "schema": {
3814
- "$ref": "#/components/schemas/ProblemDetails"
3815
- }
3816
4048
  }
3817
4049
  }
3818
4050
  }
@@ -3849,9 +4081,10 @@
3849
4081
  "tags": [
3850
4082
  "Runs"
3851
4083
  ],
3852
- "summary": "Starts a run and streams updates via SSE.",
4084
+ "summary": "Creates a run and streams real-time updates via Server-Sent Events (SSE).",
4085
+ "description": "This is the recommended endpoint for interactive applications. It creates\na run and maintains an open SSE connection to stream events in real-time.\n\n**SSE Events:**\n- `start`: Run created and queued\n- `update`: Run status changed\n- `complete`: Run finished successfully (includes output)\n- `error`: Run failed or was canceled (includes error details)\n\n**Example Event Stream:**\n```\nevent: start\ndata: {\"run_id\": \"...\", \"status\": \"queued\"}\n\nevent: update\ndata: {\"run_id\": \"...\", \"status\": \"running\"}\n\nevent: complete\ndata: {\"run_id\": \"...\", \"status\": \"completed\", \"output\": {...}}\n```",
3853
4086
  "requestBody": {
3854
- "description": "The stream run request.",
4087
+ "description": "The run request with agent ID and input.",
3855
4088
  "content": {
3856
4089
  "application/json": {
3857
4090
  "schema": {
@@ -3919,40 +4152,20 @@
3919
4152
  "201": {
3920
4153
  "description": "Created",
3921
4154
  "content": {
3922
- "text/plain": {
3923
- "schema": {
3924
- "$ref": "#/components/schemas/RerunResponse"
3925
- }
3926
- },
3927
4155
  "application/json": {
3928
4156
  "schema": {
3929
4157
  "$ref": "#/components/schemas/RerunResponse"
3930
4158
  }
3931
- },
3932
- "text/json": {
3933
- "schema": {
3934
- "$ref": "#/components/schemas/RerunResponse"
3935
- }
3936
4159
  }
3937
4160
  }
3938
4161
  },
3939
4162
  "404": {
3940
4163
  "description": "Not Found",
3941
4164
  "content": {
3942
- "text/plain": {
3943
- "schema": {
3944
- "$ref": "#/components/schemas/ProblemDetails"
3945
- }
3946
- },
3947
4165
  "application/json": {
3948
4166
  "schema": {
3949
4167
  "$ref": "#/components/schemas/ProblemDetails"
3950
4168
  }
3951
- },
3952
- "text/json": {
3953
- "schema": {
3954
- "$ref": "#/components/schemas/ProblemDetails"
3955
- }
3956
4169
  }
3957
4170
  }
3958
4171
  }
@@ -4008,40 +4221,20 @@
4008
4221
  "201": {
4009
4222
  "description": "Created",
4010
4223
  "content": {
4011
- "text/plain": {
4012
- "schema": {
4013
- "$ref": "#/components/schemas/ReplayResponse"
4014
- }
4015
- },
4016
4224
  "application/json": {
4017
4225
  "schema": {
4018
4226
  "$ref": "#/components/schemas/ReplayResponse"
4019
4227
  }
4020
- },
4021
- "text/json": {
4022
- "schema": {
4023
- "$ref": "#/components/schemas/ReplayResponse"
4024
- }
4025
4228
  }
4026
4229
  }
4027
4230
  },
4028
4231
  "404": {
4029
4232
  "description": "Not Found",
4030
4233
  "content": {
4031
- "text/plain": {
4032
- "schema": {
4033
- "$ref": "#/components/schemas/ProblemDetails"
4034
- }
4035
- },
4036
4234
  "application/json": {
4037
4235
  "schema": {
4038
4236
  "$ref": "#/components/schemas/ProblemDetails"
4039
4237
  }
4040
- },
4041
- "text/json": {
4042
- "schema": {
4043
- "$ref": "#/components/schemas/ProblemDetails"
4044
- }
4045
4238
  }
4046
4239
  }
4047
4240
  }
@@ -4069,40 +4262,20 @@
4069
4262
  "200": {
4070
4263
  "description": "OK",
4071
4264
  "content": {
4072
- "text/plain": {
4073
- "schema": {
4074
- "$ref": "#/components/schemas/CheckpointIndexResponse"
4075
- }
4076
- },
4077
4265
  "application/json": {
4078
4266
  "schema": {
4079
4267
  "$ref": "#/components/schemas/CheckpointIndexResponse"
4080
4268
  }
4081
- },
4082
- "text/json": {
4083
- "schema": {
4084
- "$ref": "#/components/schemas/CheckpointIndexResponse"
4085
- }
4086
4269
  }
4087
4270
  }
4088
4271
  },
4089
4272
  "404": {
4090
4273
  "description": "Not Found",
4091
4274
  "content": {
4092
- "text/plain": {
4093
- "schema": {
4094
- "$ref": "#/components/schemas/ProblemDetails"
4095
- }
4096
- },
4097
4275
  "application/json": {
4098
4276
  "schema": {
4099
4277
  "$ref": "#/components/schemas/ProblemDetails"
4100
4278
  }
4101
- },
4102
- "text/json": {
4103
- "schema": {
4104
- "$ref": "#/components/schemas/ProblemDetails"
4105
- }
4106
4279
  }
4107
4280
  }
4108
4281
  }
@@ -4149,60 +4322,30 @@
4149
4322
  "200": {
4150
4323
  "description": "OK",
4151
4324
  "content": {
4152
- "text/plain": {
4153
- "schema": {
4154
- "$ref": "#/components/schemas/ResumeResponse"
4155
- }
4156
- },
4157
4325
  "application/json": {
4158
4326
  "schema": {
4159
4327
  "$ref": "#/components/schemas/ResumeResponse"
4160
4328
  }
4161
- },
4162
- "text/json": {
4163
- "schema": {
4164
- "$ref": "#/components/schemas/ResumeResponse"
4165
- }
4166
4329
  }
4167
4330
  }
4168
4331
  },
4169
4332
  "400": {
4170
4333
  "description": "Bad Request",
4171
4334
  "content": {
4172
- "text/plain": {
4173
- "schema": {
4174
- "$ref": "#/components/schemas/ProblemDetails"
4175
- }
4176
- },
4177
4335
  "application/json": {
4178
4336
  "schema": {
4179
4337
  "$ref": "#/components/schemas/ProblemDetails"
4180
4338
  }
4181
- },
4182
- "text/json": {
4183
- "schema": {
4184
- "$ref": "#/components/schemas/ProblemDetails"
4185
- }
4186
4339
  }
4187
4340
  }
4188
4341
  },
4189
4342
  "404": {
4190
4343
  "description": "Not Found",
4191
4344
  "content": {
4192
- "text/plain": {
4193
- "schema": {
4194
- "$ref": "#/components/schemas/ProblemDetails"
4195
- }
4196
- },
4197
4345
  "application/json": {
4198
4346
  "schema": {
4199
4347
  "$ref": "#/components/schemas/ProblemDetails"
4200
4348
  }
4201
- },
4202
- "text/json": {
4203
- "schema": {
4204
- "$ref": "#/components/schemas/ProblemDetails"
4205
- }
4206
4349
  }
4207
4350
  }
4208
4351
  }
@@ -4249,40 +4392,20 @@
4249
4392
  "200": {
4250
4393
  "description": "OK",
4251
4394
  "content": {
4252
- "text/plain": {
4253
- "schema": {
4254
- "$ref": "#/components/schemas/CancelRunResponse"
4255
- }
4256
- },
4257
4395
  "application/json": {
4258
4396
  "schema": {
4259
4397
  "$ref": "#/components/schemas/CancelRunResponse"
4260
4398
  }
4261
- },
4262
- "text/json": {
4263
- "schema": {
4264
- "$ref": "#/components/schemas/CancelRunResponse"
4265
- }
4266
4399
  }
4267
4400
  }
4268
4401
  },
4269
4402
  "404": {
4270
4403
  "description": "Not Found",
4271
4404
  "content": {
4272
- "text/plain": {
4273
- "schema": {
4274
- "$ref": "#/components/schemas/ProblemDetails"
4275
- }
4276
- },
4277
4405
  "application/json": {
4278
4406
  "schema": {
4279
4407
  "$ref": "#/components/schemas/ProblemDetails"
4280
4408
  }
4281
- },
4282
- "text/json": {
4283
- "schema": {
4284
- "$ref": "#/components/schemas/ProblemDetails"
4285
- }
4286
4409
  }
4287
4410
  }
4288
4411
  }
@@ -4615,8 +4738,10 @@
4615
4738
  "tags": [
4616
4739
  "Threads"
4617
4740
  ],
4618
- "summary": "Create a new thread.",
4741
+ "summary": "Creates a new conversation thread.",
4742
+ "description": "Creates an empty thread that can be used for agent runs. Threads persist\nconversation state between multiple runs.\n\n**Example Request:**\n```json\n{\n \"channel\": \"http\",\n \"metadata\": { \"user_id\": \"abc123\" }\n}\n```",
4619
4743
  "requestBody": {
4744
+ "description": "Thread creation options including channel and metadata.",
4620
4745
  "content": {
4621
4746
  "application/json": {
4622
4747
  "schema": {
@@ -4636,8 +4761,18 @@
4636
4761
  }
4637
4762
  },
4638
4763
  "responses": {
4639
- "200": {
4640
- "description": "OK"
4764
+ "201": {
4765
+ "description": "Thread created successfully."
4766
+ },
4767
+ "401": {
4768
+ "description": "Authentication required.",
4769
+ "content": {
4770
+ "application/json": {
4771
+ "schema": {
4772
+ "$ref": "#/components/schemas/ProblemDetails"
4773
+ }
4774
+ }
4775
+ }
4641
4776
  }
4642
4777
  }
4643
4778
  },
@@ -4668,11 +4803,13 @@
4668
4803
  "tags": [
4669
4804
  "Threads"
4670
4805
  ],
4671
- "summary": "Get a thread by ID.",
4806
+ "summary": "Retrieves a thread by its unique identifier.",
4807
+ "description": "Returns the thread details including channel, external ID, and metadata.\nAccess is restricted to threads within your tenant (IDOR protected).",
4672
4808
  "parameters": [
4673
4809
  {
4674
4810
  "name": "id",
4675
4811
  "in": "path",
4812
+ "description": "The unique identifier of the thread.",
4676
4813
  "required": true,
4677
4814
  "schema": {
4678
4815
  "type": "string",
@@ -4682,7 +4819,17 @@
4682
4819
  ],
4683
4820
  "responses": {
4684
4821
  "200": {
4685
- "description": "OK"
4822
+ "description": "Returns the thread."
4823
+ },
4824
+ "404": {
4825
+ "description": "Thread not found.",
4826
+ "content": {
4827
+ "application/json": {
4828
+ "schema": {
4829
+ "$ref": "#/components/schemas/ProblemDetails"
4830
+ }
4831
+ }
4832
+ }
4686
4833
  }
4687
4834
  }
4688
4835
  },
@@ -4714,11 +4861,13 @@
4714
4861
  "tags": [
4715
4862
  "Threads"
4716
4863
  ],
4717
- "summary": "Get comprehensive thread state summary.\nReturns last checkpoint, run status, message count, and pointers for UI.",
4864
+ "summary": "Gets a comprehensive state summary for a thread.",
4865
+ "description": "Returns aggregated information about the thread including:\n- Run count and status of the last run\n- Last checkpoint information\n- Message count\n- Pointers to related endpoints (runs, messages, history)\n\nThis is the recommended endpoint for building thread detail UIs.",
4718
4866
  "parameters": [
4719
4867
  {
4720
4868
  "name": "id",
4721
4869
  "in": "path",
4870
+ "description": "The unique identifier of the thread.",
4722
4871
  "required": true,
4723
4872
  "schema": {
4724
4873
  "type": "string",
@@ -4728,7 +4877,17 @@
4728
4877
  ],
4729
4878
  "responses": {
4730
4879
  "200": {
4731
- "description": "OK"
4880
+ "description": "Returns the thread state summary."
4881
+ },
4882
+ "404": {
4883
+ "description": "Thread not found.",
4884
+ "content": {
4885
+ "application/json": {
4886
+ "schema": {
4887
+ "$ref": "#/components/schemas/ProblemDetails"
4888
+ }
4889
+ }
4890
+ }
4732
4891
  }
4733
4892
  }
4734
4893
  }
@@ -5672,11 +5831,13 @@
5672
5831
  "tags": [
5673
5832
  "VectorStores"
5674
5833
  ],
5675
- "summary": "Create a new vector store.",
5834
+ "summary": "Creates a new vector store for semantic document search.",
5835
+ "description": "Creates a vector store with the specified embedding configuration.\nThe store is ready to accept file attachments immediately after creation.\n\n**Default Configuration:**\n- Provider: `openai`\n- Model: `text-embedding-3-small`\n- Dimension: `1536`",
5676
5836
  "parameters": [
5677
5837
  {
5678
5838
  "name": "workspaceId",
5679
5839
  "in": "path",
5840
+ "description": "The workspace to create the vector store in.",
5680
5841
  "required": true,
5681
5842
  "schema": {
5682
5843
  "type": "string",
@@ -5685,6 +5846,7 @@
5685
5846
  }
5686
5847
  ],
5687
5848
  "requestBody": {
5849
+ "description": "Vector store configuration.",
5688
5850
  "content": {
5689
5851
  "application/json": {
5690
5852
  "schema": {
@@ -5705,21 +5867,21 @@
5705
5867
  },
5706
5868
  "responses": {
5707
5869
  "201": {
5708
- "description": "Created",
5870
+ "description": "Vector store created successfully.",
5709
5871
  "content": {
5710
- "text/plain": {
5711
- "schema": {
5712
- "$ref": "#/components/schemas/VectorStoreResponse"
5713
- }
5714
- },
5715
5872
  "application/json": {
5716
5873
  "schema": {
5717
5874
  "$ref": "#/components/schemas/VectorStoreResponse"
5718
5875
  }
5719
- },
5720
- "text/json": {
5876
+ }
5877
+ }
5878
+ },
5879
+ "404": {
5880
+ "description": "Workspace not found.",
5881
+ "content": {
5882
+ "application/json": {
5721
5883
  "schema": {
5722
- "$ref": "#/components/schemas/VectorStoreResponse"
5884
+ "$ref": "#/components/schemas/ProblemDetails"
5723
5885
  }
5724
5886
  }
5725
5887
  }
@@ -5764,14 +5926,6 @@
5764
5926
  "200": {
5765
5927
  "description": "OK",
5766
5928
  "content": {
5767
- "text/plain": {
5768
- "schema": {
5769
- "type": "array",
5770
- "items": {
5771
- "$ref": "#/components/schemas/VectorStoreResponse"
5772
- }
5773
- }
5774
- },
5775
5929
  "application/json": {
5776
5930
  "schema": {
5777
5931
  "type": "array",
@@ -5779,14 +5933,6 @@
5779
5933
  "$ref": "#/components/schemas/VectorStoreResponse"
5780
5934
  }
5781
5935
  }
5782
- },
5783
- "text/json": {
5784
- "schema": {
5785
- "type": "array",
5786
- "items": {
5787
- "$ref": "#/components/schemas/VectorStoreResponse"
5788
- }
5789
- }
5790
5936
  }
5791
5937
  }
5792
5938
  }
@@ -5823,40 +5969,20 @@
5823
5969
  "200": {
5824
5970
  "description": "OK",
5825
5971
  "content": {
5826
- "text/plain": {
5827
- "schema": {
5828
- "$ref": "#/components/schemas/VectorStoreResponse"
5829
- }
5830
- },
5831
5972
  "application/json": {
5832
5973
  "schema": {
5833
5974
  "$ref": "#/components/schemas/VectorStoreResponse"
5834
5975
  }
5835
- },
5836
- "text/json": {
5837
- "schema": {
5838
- "$ref": "#/components/schemas/VectorStoreResponse"
5839
- }
5840
5976
  }
5841
5977
  }
5842
5978
  },
5843
5979
  "404": {
5844
5980
  "description": "Not Found",
5845
5981
  "content": {
5846
- "text/plain": {
5847
- "schema": {
5848
- "$ref": "#/components/schemas/ProblemDetails"
5849
- }
5850
- },
5851
5982
  "application/json": {
5852
5983
  "schema": {
5853
5984
  "$ref": "#/components/schemas/ProblemDetails"
5854
5985
  }
5855
- },
5856
- "text/json": {
5857
- "schema": {
5858
- "$ref": "#/components/schemas/ProblemDetails"
5859
- }
5860
5986
  }
5861
5987
  }
5862
5988
  }
@@ -5894,20 +6020,10 @@
5894
6020
  "404": {
5895
6021
  "description": "Not Found",
5896
6022
  "content": {
5897
- "text/plain": {
5898
- "schema": {
5899
- "$ref": "#/components/schemas/ProblemDetails"
5900
- }
5901
- },
5902
6023
  "application/json": {
5903
6024
  "schema": {
5904
6025
  "$ref": "#/components/schemas/ProblemDetails"
5905
6026
  }
5906
- },
5907
- "text/json": {
5908
- "schema": {
5909
- "$ref": "#/components/schemas/ProblemDetails"
5910
- }
5911
6027
  }
5912
6028
  }
5913
6029
  }
@@ -5963,40 +6079,20 @@
5963
6079
  "201": {
5964
6080
  "description": "Created",
5965
6081
  "content": {
5966
- "text/plain": {
5967
- "schema": {
5968
- "$ref": "#/components/schemas/VectorStoreFileResponse"
5969
- }
5970
- },
5971
6082
  "application/json": {
5972
6083
  "schema": {
5973
6084
  "$ref": "#/components/schemas/VectorStoreFileResponse"
5974
6085
  }
5975
- },
5976
- "text/json": {
5977
- "schema": {
5978
- "$ref": "#/components/schemas/VectorStoreFileResponse"
5979
- }
5980
6086
  }
5981
6087
  }
5982
6088
  },
5983
6089
  "404": {
5984
6090
  "description": "Not Found",
5985
6091
  "content": {
5986
- "text/plain": {
5987
- "schema": {
5988
- "$ref": "#/components/schemas/ProblemDetails"
5989
- }
5990
- },
5991
6092
  "application/json": {
5992
6093
  "schema": {
5993
6094
  "$ref": "#/components/schemas/ProblemDetails"
5994
6095
  }
5995
- },
5996
- "text/json": {
5997
- "schema": {
5998
- "$ref": "#/components/schemas/ProblemDetails"
5999
- }
6000
6096
  }
6001
6097
  }
6002
6098
  }
@@ -6008,11 +6104,13 @@
6008
6104
  "tags": [
6009
6105
  "VectorStores"
6010
6106
  ],
6011
- "summary": "Query the vector store using semantic search.",
6107
+ "summary": "Performs semantic similarity search against the vector store.",
6108
+ "description": "Executes a cosine similarity search to find document chunks most relevant\nto the query. Results are ranked by similarity score.\n\n**Note:** The query is automatically embedded using the store's configured\nembedding provider before search.\n\n**Example Request:**\n```json\n{\n \"query\": \"How do I configure authentication?\",\n \"top_k\": 5,\n \"min_score\": 0.7\n}\n```",
6012
6109
  "parameters": [
6013
6110
  {
6014
6111
  "name": "workspaceId",
6015
6112
  "in": "path",
6113
+ "description": "The workspace containing the vector store.",
6016
6114
  "required": true,
6017
6115
  "schema": {
6018
6116
  "type": "string",
@@ -6022,6 +6120,7 @@
6022
6120
  {
6023
6121
  "name": "vectorStoreId",
6024
6122
  "in": "path",
6123
+ "description": "The vector store to query.",
6025
6124
  "required": true,
6026
6125
  "schema": {
6027
6126
  "type": "string",
@@ -6030,6 +6129,7 @@
6030
6129
  }
6031
6130
  ],
6032
6131
  "requestBody": {
6132
+ "description": "Query parameters including text and result limits.",
6033
6133
  "content": {
6034
6134
  "application/json": {
6035
6135
  "schema": {
@@ -6050,42 +6150,22 @@
6050
6150
  },
6051
6151
  "responses": {
6052
6152
  "200": {
6053
- "description": "OK",
6153
+ "description": "Returns matching results.",
6054
6154
  "content": {
6055
- "text/plain": {
6056
- "schema": {
6057
- "$ref": "#/components/schemas/VectorQueryResponse"
6058
- }
6059
- },
6060
6155
  "application/json": {
6061
6156
  "schema": {
6062
6157
  "$ref": "#/components/schemas/VectorQueryResponse"
6063
6158
  }
6064
- },
6065
- "text/json": {
6066
- "schema": {
6067
- "$ref": "#/components/schemas/VectorQueryResponse"
6068
- }
6069
6159
  }
6070
6160
  }
6071
6161
  },
6072
6162
  "404": {
6073
- "description": "Not Found",
6163
+ "description": "Vector store not found.",
6074
6164
  "content": {
6075
- "text/plain": {
6076
- "schema": {
6077
- "$ref": "#/components/schemas/ProblemDetails"
6078
- }
6079
- },
6080
6165
  "application/json": {
6081
6166
  "schema": {
6082
6167
  "$ref": "#/components/schemas/ProblemDetails"
6083
6168
  }
6084
- },
6085
- "text/json": {
6086
- "schema": {
6087
- "$ref": "#/components/schemas/ProblemDetails"
6088
- }
6089
6169
  }
6090
6170
  }
6091
6171
  }
@@ -6144,20 +6224,10 @@
6144
6224
  "404": {
6145
6225
  "description": "Not Found",
6146
6226
  "content": {
6147
- "text/plain": {
6148
- "schema": {
6149
- "$ref": "#/components/schemas/ProblemDetails"
6150
- }
6151
- },
6152
6227
  "application/json": {
6153
6228
  "schema": {
6154
6229
  "$ref": "#/components/schemas/ProblemDetails"
6155
6230
  }
6156
- },
6157
- "text/json": {
6158
- "schema": {
6159
- "$ref": "#/components/schemas/ProblemDetails"
6160
- }
6161
6231
  }
6162
6232
  }
6163
6233
  }
@@ -6533,6 +6603,20 @@
6533
6603
  },
6534
6604
  "additionalProperties": false
6535
6605
  },
6606
+ "ApprovalDecision": {
6607
+ "type": "object",
6608
+ "properties": {
6609
+ "decision": {
6610
+ "type": "string",
6611
+ "nullable": true
6612
+ },
6613
+ "comment": {
6614
+ "type": "string",
6615
+ "nullable": true
6616
+ }
6617
+ },
6618
+ "additionalProperties": false
6619
+ },
6536
6620
  "AttachFileRequest": {
6537
6621
  "type": "object",
6538
6622
  "properties": {
@@ -7826,6 +7910,35 @@
7826
7910
  },
7827
7911
  "additionalProperties": false
7828
7912
  },
7913
+ "RunEventDto": {
7914
+ "type": "object",
7915
+ "properties": {
7916
+ "id": {
7917
+ "type": "string",
7918
+ "format": "uuid"
7919
+ },
7920
+ "seq": {
7921
+ "type": "integer",
7922
+ "format": "int64"
7923
+ },
7924
+ "type": {
7925
+ "type": "string",
7926
+ "nullable": true
7927
+ },
7928
+ "timestamp": {
7929
+ "type": "string",
7930
+ "format": "date-time"
7931
+ },
7932
+ "attempt_id": {
7933
+ "type": "string",
7934
+ "format": "uuid"
7935
+ },
7936
+ "payload": {
7937
+ "nullable": true
7938
+ }
7939
+ },
7940
+ "additionalProperties": false
7941
+ },
7829
7942
  "RunEventItem": {
7830
7943
  "type": "object",
7831
7944
  "properties": {
@@ -7847,6 +7960,30 @@
7847
7960
  },
7848
7961
  "additionalProperties": false
7849
7962
  },
7963
+ "RunEventsPollResponse": {
7964
+ "type": "object",
7965
+ "properties": {
7966
+ "events": {
7967
+ "type": "array",
7968
+ "items": {
7969
+ "$ref": "#/components/schemas/RunEventDto"
7970
+ },
7971
+ "nullable": true
7972
+ },
7973
+ "latest_seq": {
7974
+ "type": "integer",
7975
+ "format": "int64"
7976
+ },
7977
+ "next_after_seq": {
7978
+ "type": "integer",
7979
+ "format": "int64"
7980
+ },
7981
+ "has_more": {
7982
+ "type": "boolean"
7983
+ }
7984
+ },
7985
+ "additionalProperties": false
7986
+ },
7850
7987
  "RunEventsResponse": {
7851
7988
  "type": "object",
7852
7989
  "properties": {
@@ -8570,6 +8707,9 @@
8570
8707
  {
8571
8708
  "name": "ApiTokens"
8572
8709
  },
8710
+ {
8711
+ "name": "Approvals"
8712
+ },
8573
8713
  {
8574
8714
  "name": "Audit"
8575
8715
  },