@1claw/openapi-spec 0.57.0 → 0.58.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/openapi.json +470 -5
- package/openapi.yaml +301 -5
- package/package.json +1 -1
package/openapi.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"openapi": "3.1.0",
|
|
3
3
|
"info": {
|
|
4
4
|
"title": "1Claw API",
|
|
5
|
-
"version": "0.
|
|
5
|
+
"version": "0.58.0",
|
|
6
6
|
"description": "Secure secret management for AI agents. Provides vaults, secrets,\npolicy-based access control, agent identity, Intents API,\nsharing, billing, and audit logging. Automations (workflow_spec,\nwebhook tokens, event triggers, Assist), cloud runtimes with\ninteractive shell sessions, agent memory, and discovery.\n\nAll endpoints require JWT Bearer authentication unless marked with\n`security: []`.\n",
|
|
7
7
|
"contact": {
|
|
8
8
|
"email": "ops@1claw.xyz"
|
|
@@ -9648,8 +9648,15 @@
|
|
|
9648
9648
|
}
|
|
9649
9649
|
],
|
|
9650
9650
|
"responses": {
|
|
9651
|
-
"
|
|
9652
|
-
"description": "
|
|
9651
|
+
"200": {
|
|
9652
|
+
"description": "Soft-deleted; slug released for reuse within the org",
|
|
9653
|
+
"content": {
|
|
9654
|
+
"application/json": {
|
|
9655
|
+
"schema": {
|
|
9656
|
+
"$ref": "#/components/schemas/PlatformAppDeleteResponse"
|
|
9657
|
+
}
|
|
9658
|
+
}
|
|
9659
|
+
}
|
|
9653
9660
|
},
|
|
9654
9661
|
"403": {
|
|
9655
9662
|
"description": "Only human users can delete platform apps"
|
|
@@ -9657,6 +9664,71 @@
|
|
|
9657
9664
|
}
|
|
9658
9665
|
}
|
|
9659
9666
|
},
|
|
9667
|
+
"/v1/platform/apps/{appId}/transfer-ownership": {
|
|
9668
|
+
"post": {
|
|
9669
|
+
"tags": [
|
|
9670
|
+
"Platform"
|
|
9671
|
+
],
|
|
9672
|
+
"summary": "Transfer platform app to another organization",
|
|
9673
|
+
"description": "Moves the platform app record to another organization. Requires org\nowner/admin in the source org and step-up auth (`X-Auth-Confirm`,\npurpose `platform.app.transfer`). End-user connections and provisioned\nresources remain in their original organizations.\n",
|
|
9674
|
+
"operationId": "transferPlatformAppOwnership",
|
|
9675
|
+
"security": [
|
|
9676
|
+
{
|
|
9677
|
+
"BearerAuth": []
|
|
9678
|
+
}
|
|
9679
|
+
],
|
|
9680
|
+
"parameters": [
|
|
9681
|
+
{
|
|
9682
|
+
"in": "path",
|
|
9683
|
+
"name": "appId",
|
|
9684
|
+
"required": true,
|
|
9685
|
+
"schema": {
|
|
9686
|
+
"type": "string",
|
|
9687
|
+
"format": "uuid"
|
|
9688
|
+
}
|
|
9689
|
+
},
|
|
9690
|
+
{
|
|
9691
|
+
"in": "header",
|
|
9692
|
+
"name": "X-Auth-Confirm",
|
|
9693
|
+
"required": true,
|
|
9694
|
+
"schema": {
|
|
9695
|
+
"type": "string"
|
|
9696
|
+
}
|
|
9697
|
+
}
|
|
9698
|
+
],
|
|
9699
|
+
"requestBody": {
|
|
9700
|
+
"required": true,
|
|
9701
|
+
"content": {
|
|
9702
|
+
"application/json": {
|
|
9703
|
+
"schema": {
|
|
9704
|
+
"$ref": "#/components/schemas/TransferPlatformAppOwnershipRequest"
|
|
9705
|
+
}
|
|
9706
|
+
}
|
|
9707
|
+
}
|
|
9708
|
+
},
|
|
9709
|
+
"responses": {
|
|
9710
|
+
"200": {
|
|
9711
|
+
"description": "Ownership transferred",
|
|
9712
|
+
"content": {
|
|
9713
|
+
"application/json": {
|
|
9714
|
+
"schema": {
|
|
9715
|
+
"$ref": "#/components/schemas/TransferPlatformAppOwnershipResponse"
|
|
9716
|
+
}
|
|
9717
|
+
}
|
|
9718
|
+
}
|
|
9719
|
+
},
|
|
9720
|
+
"400": {
|
|
9721
|
+
"$ref": "#/components/responses/BadRequest"
|
|
9722
|
+
},
|
|
9723
|
+
"403": {
|
|
9724
|
+
"$ref": "#/components/responses/Forbidden"
|
|
9725
|
+
},
|
|
9726
|
+
"404": {
|
|
9727
|
+
"$ref": "#/components/responses/NotFound"
|
|
9728
|
+
}
|
|
9729
|
+
}
|
|
9730
|
+
}
|
|
9731
|
+
},
|
|
9660
9732
|
"/v1/platform/apps/{appId}/rotate-key": {
|
|
9661
9733
|
"post": {
|
|
9662
9734
|
"tags": [
|
|
@@ -11085,6 +11157,53 @@
|
|
|
11085
11157
|
}
|
|
11086
11158
|
},
|
|
11087
11159
|
"/v1/platform/apps/{appId}/spend-policies/{policyId}": {
|
|
11160
|
+
"get": {
|
|
11161
|
+
"tags": [
|
|
11162
|
+
"Platform"
|
|
11163
|
+
],
|
|
11164
|
+
"summary": "Get a spend policy by ID",
|
|
11165
|
+
"operationId": "getSpendPolicy",
|
|
11166
|
+
"security": [
|
|
11167
|
+
{
|
|
11168
|
+
"BearerAuth": []
|
|
11169
|
+
}
|
|
11170
|
+
],
|
|
11171
|
+
"parameters": [
|
|
11172
|
+
{
|
|
11173
|
+
"in": "path",
|
|
11174
|
+
"name": "appId",
|
|
11175
|
+
"required": true,
|
|
11176
|
+
"schema": {
|
|
11177
|
+
"type": "string",
|
|
11178
|
+
"format": "uuid"
|
|
11179
|
+
}
|
|
11180
|
+
},
|
|
11181
|
+
{
|
|
11182
|
+
"in": "path",
|
|
11183
|
+
"name": "policyId",
|
|
11184
|
+
"required": true,
|
|
11185
|
+
"schema": {
|
|
11186
|
+
"type": "string",
|
|
11187
|
+
"format": "uuid"
|
|
11188
|
+
}
|
|
11189
|
+
}
|
|
11190
|
+
],
|
|
11191
|
+
"responses": {
|
|
11192
|
+
"200": {
|
|
11193
|
+
"description": "Spend policy",
|
|
11194
|
+
"content": {
|
|
11195
|
+
"application/json": {
|
|
11196
|
+
"schema": {
|
|
11197
|
+
"$ref": "#/components/schemas/SpendPolicyResponse"
|
|
11198
|
+
}
|
|
11199
|
+
}
|
|
11200
|
+
}
|
|
11201
|
+
},
|
|
11202
|
+
"404": {
|
|
11203
|
+
"$ref": "#/components/responses/NotFound"
|
|
11204
|
+
}
|
|
11205
|
+
}
|
|
11206
|
+
},
|
|
11088
11207
|
"delete": {
|
|
11089
11208
|
"tags": [
|
|
11090
11209
|
"Platform"
|
|
@@ -11127,6 +11246,57 @@
|
|
|
11127
11246
|
}
|
|
11128
11247
|
},
|
|
11129
11248
|
"/v1/platform/connections/{connectionId}/spend-policy": {
|
|
11249
|
+
"get": {
|
|
11250
|
+
"tags": [
|
|
11251
|
+
"Platform"
|
|
11252
|
+
],
|
|
11253
|
+
"summary": "Get effective spend policy for a connection",
|
|
11254
|
+
"description": "Returns the effective spend policy for the connected user, resolving\nper-user overrides before app-level defaults. Requires plt_ platform auth.\n",
|
|
11255
|
+
"operationId": "getConnectionSpendPolicy",
|
|
11256
|
+
"security": [
|
|
11257
|
+
{
|
|
11258
|
+
"BearerAuth": []
|
|
11259
|
+
}
|
|
11260
|
+
],
|
|
11261
|
+
"parameters": [
|
|
11262
|
+
{
|
|
11263
|
+
"in": "path",
|
|
11264
|
+
"name": "connectionId",
|
|
11265
|
+
"required": true,
|
|
11266
|
+
"schema": {
|
|
11267
|
+
"type": "string",
|
|
11268
|
+
"format": "uuid"
|
|
11269
|
+
}
|
|
11270
|
+
}
|
|
11271
|
+
],
|
|
11272
|
+
"responses": {
|
|
11273
|
+
"200": {
|
|
11274
|
+
"description": "Effective spend policy (or null)",
|
|
11275
|
+
"content": {
|
|
11276
|
+
"application/json": {
|
|
11277
|
+
"schema": {
|
|
11278
|
+
"type": "object",
|
|
11279
|
+
"properties": {
|
|
11280
|
+
"policy": {
|
|
11281
|
+
"oneOf": [
|
|
11282
|
+
{
|
|
11283
|
+
"$ref": "#/components/schemas/SpendPolicyResponse"
|
|
11284
|
+
},
|
|
11285
|
+
{
|
|
11286
|
+
"type": "null"
|
|
11287
|
+
}
|
|
11288
|
+
]
|
|
11289
|
+
}
|
|
11290
|
+
}
|
|
11291
|
+
}
|
|
11292
|
+
}
|
|
11293
|
+
}
|
|
11294
|
+
},
|
|
11295
|
+
"404": {
|
|
11296
|
+
"$ref": "#/components/responses/NotFound"
|
|
11297
|
+
}
|
|
11298
|
+
}
|
|
11299
|
+
},
|
|
11130
11300
|
"put": {
|
|
11131
11301
|
"tags": [
|
|
11132
11302
|
"Platform"
|
|
@@ -11148,6 +11318,15 @@
|
|
|
11148
11318
|
"type": "string",
|
|
11149
11319
|
"format": "uuid"
|
|
11150
11320
|
}
|
|
11321
|
+
},
|
|
11322
|
+
{
|
|
11323
|
+
"in": "header",
|
|
11324
|
+
"name": "Idempotency-Key",
|
|
11325
|
+
"required": false,
|
|
11326
|
+
"schema": {
|
|
11327
|
+
"type": "string"
|
|
11328
|
+
},
|
|
11329
|
+
"description": "Optional replay protection; same key + body returns cached response (409 on body mismatch)."
|
|
11151
11330
|
}
|
|
11152
11331
|
],
|
|
11153
11332
|
"requestBody": {
|
|
@@ -11162,7 +11341,17 @@
|
|
|
11162
11341
|
},
|
|
11163
11342
|
"responses": {
|
|
11164
11343
|
"200": {
|
|
11165
|
-
"description": "Spend policy set",
|
|
11344
|
+
"description": "Spend policy set (or idempotent replay)",
|
|
11345
|
+
"content": {
|
|
11346
|
+
"application/json": {
|
|
11347
|
+
"schema": {
|
|
11348
|
+
"$ref": "#/components/schemas/SpendPolicyResponse"
|
|
11349
|
+
}
|
|
11350
|
+
}
|
|
11351
|
+
}
|
|
11352
|
+
},
|
|
11353
|
+
"201": {
|
|
11354
|
+
"description": "Spend policy created",
|
|
11166
11355
|
"content": {
|
|
11167
11356
|
"application/json": {
|
|
11168
11357
|
"schema": {
|
|
@@ -11176,6 +11365,201 @@
|
|
|
11176
11365
|
},
|
|
11177
11366
|
"403": {
|
|
11178
11367
|
"$ref": "#/components/responses/Forbidden"
|
|
11368
|
+
},
|
|
11369
|
+
"404": {
|
|
11370
|
+
"$ref": "#/components/responses/NotFound"
|
|
11371
|
+
},
|
|
11372
|
+
"409": {
|
|
11373
|
+
"description": "Idempotency-Key reused with different body"
|
|
11374
|
+
}
|
|
11375
|
+
}
|
|
11376
|
+
}
|
|
11377
|
+
},
|
|
11378
|
+
"/v1/platform/connections/{connectionId}/approvals": {
|
|
11379
|
+
"get": {
|
|
11380
|
+
"tags": [
|
|
11381
|
+
"Platform"
|
|
11382
|
+
],
|
|
11383
|
+
"summary": "List approvals for a platform connection",
|
|
11384
|
+
"description": "Returns approvals assigned to the connection's user, filtered to agents\nprovisioned on the connection. Requires plt_ platform auth.\n",
|
|
11385
|
+
"operationId": "listConnectionApprovals",
|
|
11386
|
+
"security": [
|
|
11387
|
+
{
|
|
11388
|
+
"BearerAuth": []
|
|
11389
|
+
}
|
|
11390
|
+
],
|
|
11391
|
+
"parameters": [
|
|
11392
|
+
{
|
|
11393
|
+
"in": "path",
|
|
11394
|
+
"name": "connectionId",
|
|
11395
|
+
"required": true,
|
|
11396
|
+
"schema": {
|
|
11397
|
+
"type": "string",
|
|
11398
|
+
"format": "uuid"
|
|
11399
|
+
}
|
|
11400
|
+
},
|
|
11401
|
+
{
|
|
11402
|
+
"name": "status",
|
|
11403
|
+
"in": "query",
|
|
11404
|
+
"required": false,
|
|
11405
|
+
"schema": {
|
|
11406
|
+
"type": "string"
|
|
11407
|
+
}
|
|
11408
|
+
},
|
|
11409
|
+
{
|
|
11410
|
+
"name": "risk_tier",
|
|
11411
|
+
"in": "query",
|
|
11412
|
+
"required": false,
|
|
11413
|
+
"schema": {
|
|
11414
|
+
"type": "integer"
|
|
11415
|
+
}
|
|
11416
|
+
},
|
|
11417
|
+
{
|
|
11418
|
+
"name": "limit",
|
|
11419
|
+
"in": "query",
|
|
11420
|
+
"required": false,
|
|
11421
|
+
"schema": {
|
|
11422
|
+
"type": "integer",
|
|
11423
|
+
"default": 50
|
|
11424
|
+
}
|
|
11425
|
+
},
|
|
11426
|
+
{
|
|
11427
|
+
"name": "offset",
|
|
11428
|
+
"in": "query",
|
|
11429
|
+
"required": false,
|
|
11430
|
+
"schema": {
|
|
11431
|
+
"type": "integer",
|
|
11432
|
+
"default": 0
|
|
11433
|
+
}
|
|
11434
|
+
}
|
|
11435
|
+
],
|
|
11436
|
+
"responses": {
|
|
11437
|
+
"200": {
|
|
11438
|
+
"description": "Connection-scoped approvals",
|
|
11439
|
+
"content": {
|
|
11440
|
+
"application/json": {
|
|
11441
|
+
"schema": {
|
|
11442
|
+
"$ref": "#/components/schemas/ApprovalListResponse"
|
|
11443
|
+
}
|
|
11444
|
+
}
|
|
11445
|
+
}
|
|
11446
|
+
},
|
|
11447
|
+
"404": {
|
|
11448
|
+
"$ref": "#/components/responses/NotFound"
|
|
11449
|
+
}
|
|
11450
|
+
}
|
|
11451
|
+
}
|
|
11452
|
+
},
|
|
11453
|
+
"/v1/platform/connections/{connectionId}/approvals/{approvalId}": {
|
|
11454
|
+
"get": {
|
|
11455
|
+
"tags": [
|
|
11456
|
+
"Platform"
|
|
11457
|
+
],
|
|
11458
|
+
"summary": "Get a connection-scoped approval",
|
|
11459
|
+
"operationId": "getConnectionApproval",
|
|
11460
|
+
"security": [
|
|
11461
|
+
{
|
|
11462
|
+
"BearerAuth": []
|
|
11463
|
+
}
|
|
11464
|
+
],
|
|
11465
|
+
"parameters": [
|
|
11466
|
+
{
|
|
11467
|
+
"in": "path",
|
|
11468
|
+
"name": "connectionId",
|
|
11469
|
+
"required": true,
|
|
11470
|
+
"schema": {
|
|
11471
|
+
"type": "string",
|
|
11472
|
+
"format": "uuid"
|
|
11473
|
+
}
|
|
11474
|
+
},
|
|
11475
|
+
{
|
|
11476
|
+
"in": "path",
|
|
11477
|
+
"name": "approvalId",
|
|
11478
|
+
"required": true,
|
|
11479
|
+
"schema": {
|
|
11480
|
+
"type": "string",
|
|
11481
|
+
"format": "uuid"
|
|
11482
|
+
}
|
|
11483
|
+
}
|
|
11484
|
+
],
|
|
11485
|
+
"responses": {
|
|
11486
|
+
"200": {
|
|
11487
|
+
"description": "Approval detail",
|
|
11488
|
+
"content": {
|
|
11489
|
+
"application/json": {
|
|
11490
|
+
"schema": {
|
|
11491
|
+
"$ref": "#/components/schemas/ApprovalResponse"
|
|
11492
|
+
}
|
|
11493
|
+
}
|
|
11494
|
+
}
|
|
11495
|
+
},
|
|
11496
|
+
"404": {
|
|
11497
|
+
"$ref": "#/components/responses/NotFound"
|
|
11498
|
+
}
|
|
11499
|
+
}
|
|
11500
|
+
}
|
|
11501
|
+
},
|
|
11502
|
+
"/v1/platform/connections/{connectionId}/pending-approvals": {
|
|
11503
|
+
"get": {
|
|
11504
|
+
"tags": [
|
|
11505
|
+
"Platform"
|
|
11506
|
+
],
|
|
11507
|
+
"summary": "List pending consensus approvals for a connection",
|
|
11508
|
+
"description": "Returns pending approvals for agents provisioned on the connection,\nincluding `action_payload` and `payload_hash` for consensus UX.\nRequires plt_ platform auth.\n",
|
|
11509
|
+
"operationId": "listConnectionPendingApprovals",
|
|
11510
|
+
"security": [
|
|
11511
|
+
{
|
|
11512
|
+
"BearerAuth": []
|
|
11513
|
+
}
|
|
11514
|
+
],
|
|
11515
|
+
"parameters": [
|
|
11516
|
+
{
|
|
11517
|
+
"in": "path",
|
|
11518
|
+
"name": "connectionId",
|
|
11519
|
+
"required": true,
|
|
11520
|
+
"schema": {
|
|
11521
|
+
"type": "string",
|
|
11522
|
+
"format": "uuid"
|
|
11523
|
+
}
|
|
11524
|
+
},
|
|
11525
|
+
{
|
|
11526
|
+
"name": "status",
|
|
11527
|
+
"in": "query",
|
|
11528
|
+
"schema": {
|
|
11529
|
+
"type": "string",
|
|
11530
|
+
"default": "pending"
|
|
11531
|
+
}
|
|
11532
|
+
},
|
|
11533
|
+
{
|
|
11534
|
+
"name": "limit",
|
|
11535
|
+
"in": "query",
|
|
11536
|
+
"schema": {
|
|
11537
|
+
"type": "integer",
|
|
11538
|
+
"default": 50
|
|
11539
|
+
}
|
|
11540
|
+
},
|
|
11541
|
+
{
|
|
11542
|
+
"name": "offset",
|
|
11543
|
+
"in": "query",
|
|
11544
|
+
"schema": {
|
|
11545
|
+
"type": "integer",
|
|
11546
|
+
"default": 0
|
|
11547
|
+
}
|
|
11548
|
+
}
|
|
11549
|
+
],
|
|
11550
|
+
"responses": {
|
|
11551
|
+
"200": {
|
|
11552
|
+
"description": "Pending approvals list",
|
|
11553
|
+
"content": {
|
|
11554
|
+
"application/json": {
|
|
11555
|
+
"schema": {
|
|
11556
|
+
"$ref": "#/components/schemas/PendingApprovalListResponse"
|
|
11557
|
+
}
|
|
11558
|
+
}
|
|
11559
|
+
}
|
|
11560
|
+
},
|
|
11561
|
+
"404": {
|
|
11562
|
+
"$ref": "#/components/responses/NotFound"
|
|
11179
11563
|
}
|
|
11180
11564
|
}
|
|
11181
11565
|
}
|
|
@@ -14199,7 +14583,7 @@
|
|
|
14199
14583
|
"Runtimes"
|
|
14200
14584
|
],
|
|
14201
14585
|
"summary": "Chat with a running runtime agent",
|
|
14202
|
-
"description": "Human-only. Proxies to the runtime container's OpenAI-compatible\n`POST /v1/chat/completions` (hermes / openclaw / openclaude chat bridge).\nStarts the runtime if stopped. Streams SSE when `Accept: text/event-stream`\nor `stream: true`. Conversation history is ephemeral (pass `messages`).\nRequires a public URL (shell access, Shroud sidecar, or HTTP hosting).\n",
|
|
14586
|
+
"description": "Human-only. Proxies to the runtime container's OpenAI-compatible\n`POST /v1/chat/completions` (hermes / openclaw / openclaude / opencode chat bridge).\nStarts the runtime if stopped. Streams SSE when `Accept: text/event-stream`\nor `stream: true`. Conversation history is ephemeral (pass `messages`).\nRequires a public URL (shell access, Shroud sidecar, or HTTP hosting).\n",
|
|
14203
14587
|
"operationId": "runtimeChat",
|
|
14204
14588
|
"parameters": [
|
|
14205
14589
|
{
|
|
@@ -24898,6 +25282,69 @@
|
|
|
24898
25282
|
}
|
|
24899
25283
|
}
|
|
24900
25284
|
},
|
|
25285
|
+
"PlatformAppDeleteResponse": {
|
|
25286
|
+
"type": "object",
|
|
25287
|
+
"required": [
|
|
25288
|
+
"deleted",
|
|
25289
|
+
"soft_delete",
|
|
25290
|
+
"slug_released",
|
|
25291
|
+
"former_slug"
|
|
25292
|
+
],
|
|
25293
|
+
"properties": {
|
|
25294
|
+
"deleted": {
|
|
25295
|
+
"type": "boolean"
|
|
25296
|
+
},
|
|
25297
|
+
"soft_delete": {
|
|
25298
|
+
"type": "boolean"
|
|
25299
|
+
},
|
|
25300
|
+
"slug_released": {
|
|
25301
|
+
"type": "boolean"
|
|
25302
|
+
},
|
|
25303
|
+
"former_slug": {
|
|
25304
|
+
"type": "string"
|
|
25305
|
+
}
|
|
25306
|
+
}
|
|
25307
|
+
},
|
|
25308
|
+
"TransferPlatformAppOwnershipRequest": {
|
|
25309
|
+
"type": "object",
|
|
25310
|
+
"properties": {
|
|
25311
|
+
"target_org_id": {
|
|
25312
|
+
"type": "string",
|
|
25313
|
+
"format": "uuid"
|
|
25314
|
+
},
|
|
25315
|
+
"target_user_email": {
|
|
25316
|
+
"type": "string",
|
|
25317
|
+
"format": "email"
|
|
25318
|
+
}
|
|
25319
|
+
},
|
|
25320
|
+
"description": "Provide `target_org_id` or `target_user_email` (owner/admin in destination org)."
|
|
25321
|
+
},
|
|
25322
|
+
"TransferPlatformAppOwnershipResponse": {
|
|
25323
|
+
"type": "object",
|
|
25324
|
+
"required": [
|
|
25325
|
+
"app_id",
|
|
25326
|
+
"former_org_id",
|
|
25327
|
+
"new_org_id",
|
|
25328
|
+
"message"
|
|
25329
|
+
],
|
|
25330
|
+
"properties": {
|
|
25331
|
+
"app_id": {
|
|
25332
|
+
"type": "string",
|
|
25333
|
+
"format": "uuid"
|
|
25334
|
+
},
|
|
25335
|
+
"former_org_id": {
|
|
25336
|
+
"type": "string",
|
|
25337
|
+
"format": "uuid"
|
|
25338
|
+
},
|
|
25339
|
+
"new_org_id": {
|
|
25340
|
+
"type": "string",
|
|
25341
|
+
"format": "uuid"
|
|
25342
|
+
},
|
|
25343
|
+
"message": {
|
|
25344
|
+
"type": "string"
|
|
25345
|
+
}
|
|
25346
|
+
}
|
|
25347
|
+
},
|
|
24901
25348
|
"PlatformAppResponse": {
|
|
24902
25349
|
"type": "object",
|
|
24903
25350
|
"properties": {
|
|
@@ -25944,6 +26391,24 @@
|
|
|
25944
26391
|
}
|
|
25945
26392
|
}
|
|
25946
26393
|
},
|
|
26394
|
+
"ApprovalListResponse": {
|
|
26395
|
+
"type": "object",
|
|
26396
|
+
"required": [
|
|
26397
|
+
"approvals",
|
|
26398
|
+
"total"
|
|
26399
|
+
],
|
|
26400
|
+
"properties": {
|
|
26401
|
+
"approvals": {
|
|
26402
|
+
"type": "array",
|
|
26403
|
+
"items": {
|
|
26404
|
+
"$ref": "#/components/schemas/ApprovalResponse"
|
|
26405
|
+
}
|
|
26406
|
+
},
|
|
26407
|
+
"total": {
|
|
26408
|
+
"type": "integer"
|
|
26409
|
+
}
|
|
26410
|
+
}
|
|
26411
|
+
},
|
|
25947
26412
|
"ApprovalStatusResponse": {
|
|
25948
26413
|
"type": "object",
|
|
25949
26414
|
"required": [
|
package/openapi.yaml
CHANGED
|
@@ -2,7 +2,7 @@ openapi: 3.1.0
|
|
|
2
2
|
|
|
3
3
|
info:
|
|
4
4
|
title: 1Claw API
|
|
5
|
-
version: 0.
|
|
5
|
+
version: 0.58.0
|
|
6
6
|
description: |
|
|
7
7
|
Secure secret management for AI agents. Provides vaults, secrets,
|
|
8
8
|
policy-based access control, agent identity, Intents API,
|
|
@@ -6216,11 +6216,59 @@ paths:
|
|
|
6216
6216
|
type: string
|
|
6217
6217
|
format: uuid
|
|
6218
6218
|
responses:
|
|
6219
|
-
"
|
|
6220
|
-
description:
|
|
6219
|
+
"200":
|
|
6220
|
+
description: Soft-deleted; slug released for reuse within the org
|
|
6221
|
+
content:
|
|
6222
|
+
application/json:
|
|
6223
|
+
schema:
|
|
6224
|
+
$ref: "#/components/schemas/PlatformAppDeleteResponse"
|
|
6221
6225
|
"403":
|
|
6222
6226
|
description: Only human users can delete platform apps
|
|
6223
6227
|
|
|
6228
|
+
/v1/platform/apps/{appId}/transfer-ownership:
|
|
6229
|
+
post:
|
|
6230
|
+
tags: [Platform]
|
|
6231
|
+
summary: Transfer platform app to another organization
|
|
6232
|
+
description: |
|
|
6233
|
+
Moves the platform app record to another organization. Requires org
|
|
6234
|
+
owner/admin in the source org and step-up auth (`X-Auth-Confirm`,
|
|
6235
|
+
purpose `platform.app.transfer`). End-user connections and provisioned
|
|
6236
|
+
resources remain in their original organizations.
|
|
6237
|
+
operationId: transferPlatformAppOwnership
|
|
6238
|
+
security:
|
|
6239
|
+
- BearerAuth: []
|
|
6240
|
+
parameters:
|
|
6241
|
+
- in: path
|
|
6242
|
+
name: appId
|
|
6243
|
+
required: true
|
|
6244
|
+
schema:
|
|
6245
|
+
type: string
|
|
6246
|
+
format: uuid
|
|
6247
|
+
- in: header
|
|
6248
|
+
name: X-Auth-Confirm
|
|
6249
|
+
required: true
|
|
6250
|
+
schema:
|
|
6251
|
+
type: string
|
|
6252
|
+
requestBody:
|
|
6253
|
+
required: true
|
|
6254
|
+
content:
|
|
6255
|
+
application/json:
|
|
6256
|
+
schema:
|
|
6257
|
+
$ref: "#/components/schemas/TransferPlatformAppOwnershipRequest"
|
|
6258
|
+
responses:
|
|
6259
|
+
"200":
|
|
6260
|
+
description: Ownership transferred
|
|
6261
|
+
content:
|
|
6262
|
+
application/json:
|
|
6263
|
+
schema:
|
|
6264
|
+
$ref: "#/components/schemas/TransferPlatformAppOwnershipResponse"
|
|
6265
|
+
"400":
|
|
6266
|
+
$ref: "#/components/responses/BadRequest"
|
|
6267
|
+
"403":
|
|
6268
|
+
$ref: "#/components/responses/Forbidden"
|
|
6269
|
+
"404":
|
|
6270
|
+
$ref: "#/components/responses/NotFound"
|
|
6271
|
+
|
|
6224
6272
|
/v1/platform/apps/{appId}/rotate-key:
|
|
6225
6273
|
post:
|
|
6226
6274
|
tags: [Platform]
|
|
@@ -7110,6 +7158,34 @@ paths:
|
|
|
7110
7158
|
$ref: "#/components/schemas/SpendPolicyResponse"
|
|
7111
7159
|
|
|
7112
7160
|
/v1/platform/apps/{appId}/spend-policies/{policyId}:
|
|
7161
|
+
get:
|
|
7162
|
+
tags: [Platform]
|
|
7163
|
+
summary: Get a spend policy by ID
|
|
7164
|
+
operationId: getSpendPolicy
|
|
7165
|
+
security:
|
|
7166
|
+
- BearerAuth: []
|
|
7167
|
+
parameters:
|
|
7168
|
+
- in: path
|
|
7169
|
+
name: appId
|
|
7170
|
+
required: true
|
|
7171
|
+
schema:
|
|
7172
|
+
type: string
|
|
7173
|
+
format: uuid
|
|
7174
|
+
- in: path
|
|
7175
|
+
name: policyId
|
|
7176
|
+
required: true
|
|
7177
|
+
schema:
|
|
7178
|
+
type: string
|
|
7179
|
+
format: uuid
|
|
7180
|
+
responses:
|
|
7181
|
+
"200":
|
|
7182
|
+
description: Spend policy
|
|
7183
|
+
content:
|
|
7184
|
+
application/json:
|
|
7185
|
+
schema:
|
|
7186
|
+
$ref: "#/components/schemas/SpendPolicyResponse"
|
|
7187
|
+
"404":
|
|
7188
|
+
$ref: "#/components/responses/NotFound"
|
|
7113
7189
|
delete:
|
|
7114
7190
|
tags: [Platform]
|
|
7115
7191
|
summary: Delete a spend policy
|
|
@@ -7136,6 +7212,36 @@ paths:
|
|
|
7136
7212
|
$ref: "#/components/responses/NotFound"
|
|
7137
7213
|
|
|
7138
7214
|
/v1/platform/connections/{connectionId}/spend-policy:
|
|
7215
|
+
get:
|
|
7216
|
+
tags: [Platform]
|
|
7217
|
+
summary: Get effective spend policy for a connection
|
|
7218
|
+
description: |
|
|
7219
|
+
Returns the effective spend policy for the connected user, resolving
|
|
7220
|
+
per-user overrides before app-level defaults. Requires plt_ platform auth.
|
|
7221
|
+
operationId: getConnectionSpendPolicy
|
|
7222
|
+
security:
|
|
7223
|
+
- BearerAuth: []
|
|
7224
|
+
parameters:
|
|
7225
|
+
- in: path
|
|
7226
|
+
name: connectionId
|
|
7227
|
+
required: true
|
|
7228
|
+
schema:
|
|
7229
|
+
type: string
|
|
7230
|
+
format: uuid
|
|
7231
|
+
responses:
|
|
7232
|
+
"200":
|
|
7233
|
+
description: Effective spend policy (or null)
|
|
7234
|
+
content:
|
|
7235
|
+
application/json:
|
|
7236
|
+
schema:
|
|
7237
|
+
type: object
|
|
7238
|
+
properties:
|
|
7239
|
+
policy:
|
|
7240
|
+
oneOf:
|
|
7241
|
+
- $ref: "#/components/schemas/SpendPolicyResponse"
|
|
7242
|
+
- type: "null"
|
|
7243
|
+
"404":
|
|
7244
|
+
$ref: "#/components/responses/NotFound"
|
|
7139
7245
|
put:
|
|
7140
7246
|
tags: [Platform]
|
|
7141
7247
|
summary: Set per-user spend policy override
|
|
@@ -7153,6 +7259,12 @@ paths:
|
|
|
7153
7259
|
schema:
|
|
7154
7260
|
type: string
|
|
7155
7261
|
format: uuid
|
|
7262
|
+
- in: header
|
|
7263
|
+
name: Idempotency-Key
|
|
7264
|
+
required: false
|
|
7265
|
+
schema:
|
|
7266
|
+
type: string
|
|
7267
|
+
description: Optional replay protection; same key + body returns cached response (409 on body mismatch).
|
|
7156
7268
|
requestBody:
|
|
7157
7269
|
required: true
|
|
7158
7270
|
content:
|
|
@@ -7161,16 +7273,149 @@ paths:
|
|
|
7161
7273
|
$ref: "#/components/schemas/CreateSpendPolicyRequest"
|
|
7162
7274
|
responses:
|
|
7163
7275
|
"200":
|
|
7164
|
-
description: Spend policy set
|
|
7276
|
+
description: Spend policy set (or idempotent replay)
|
|
7277
|
+
content:
|
|
7278
|
+
application/json:
|
|
7279
|
+
schema:
|
|
7280
|
+
$ref: "#/components/schemas/SpendPolicyResponse"
|
|
7281
|
+
"201":
|
|
7282
|
+
description: Spend policy created
|
|
7165
7283
|
content:
|
|
7166
7284
|
application/json:
|
|
7167
7285
|
schema:
|
|
7168
7286
|
$ref: "#/components/schemas/SpendPolicyResponse"
|
|
7287
|
+
"409":
|
|
7288
|
+
description: Idempotency-Key reused with different body
|
|
7169
7289
|
"400":
|
|
7170
7290
|
$ref: "#/components/responses/BadRequest"
|
|
7171
7291
|
"403":
|
|
7172
7292
|
$ref: "#/components/responses/Forbidden"
|
|
7173
7293
|
|
|
7294
|
+
"404":
|
|
7295
|
+
$ref: "#/components/responses/NotFound"
|
|
7296
|
+
|
|
7297
|
+
/v1/platform/connections/{connectionId}/approvals:
|
|
7298
|
+
get:
|
|
7299
|
+
tags: [Platform]
|
|
7300
|
+
summary: List approvals for a platform connection
|
|
7301
|
+
description: |
|
|
7302
|
+
Returns approvals assigned to the connection's user, filtered to agents
|
|
7303
|
+
provisioned on the connection. Requires plt_ platform auth.
|
|
7304
|
+
operationId: listConnectionApprovals
|
|
7305
|
+
security:
|
|
7306
|
+
- BearerAuth: []
|
|
7307
|
+
parameters:
|
|
7308
|
+
- in: path
|
|
7309
|
+
name: connectionId
|
|
7310
|
+
required: true
|
|
7311
|
+
schema:
|
|
7312
|
+
type: string
|
|
7313
|
+
format: uuid
|
|
7314
|
+
- name: status
|
|
7315
|
+
in: query
|
|
7316
|
+
required: false
|
|
7317
|
+
schema:
|
|
7318
|
+
type: string
|
|
7319
|
+
- name: risk_tier
|
|
7320
|
+
in: query
|
|
7321
|
+
required: false
|
|
7322
|
+
schema:
|
|
7323
|
+
type: integer
|
|
7324
|
+
- name: limit
|
|
7325
|
+
in: query
|
|
7326
|
+
required: false
|
|
7327
|
+
schema:
|
|
7328
|
+
type: integer
|
|
7329
|
+
default: 50
|
|
7330
|
+
- name: offset
|
|
7331
|
+
in: query
|
|
7332
|
+
required: false
|
|
7333
|
+
schema:
|
|
7334
|
+
type: integer
|
|
7335
|
+
default: 0
|
|
7336
|
+
responses:
|
|
7337
|
+
"200":
|
|
7338
|
+
description: Connection-scoped approvals
|
|
7339
|
+
content:
|
|
7340
|
+
application/json:
|
|
7341
|
+
schema:
|
|
7342
|
+
$ref: "#/components/schemas/ApprovalListResponse"
|
|
7343
|
+
"404":
|
|
7344
|
+
$ref: "#/components/responses/NotFound"
|
|
7345
|
+
|
|
7346
|
+
/v1/platform/connections/{connectionId}/approvals/{approvalId}:
|
|
7347
|
+
get:
|
|
7348
|
+
tags: [Platform]
|
|
7349
|
+
summary: Get a connection-scoped approval
|
|
7350
|
+
operationId: getConnectionApproval
|
|
7351
|
+
security:
|
|
7352
|
+
- BearerAuth: []
|
|
7353
|
+
parameters:
|
|
7354
|
+
- in: path
|
|
7355
|
+
name: connectionId
|
|
7356
|
+
required: true
|
|
7357
|
+
schema:
|
|
7358
|
+
type: string
|
|
7359
|
+
format: uuid
|
|
7360
|
+
- in: path
|
|
7361
|
+
name: approvalId
|
|
7362
|
+
required: true
|
|
7363
|
+
schema:
|
|
7364
|
+
type: string
|
|
7365
|
+
format: uuid
|
|
7366
|
+
responses:
|
|
7367
|
+
"200":
|
|
7368
|
+
description: Approval detail
|
|
7369
|
+
content:
|
|
7370
|
+
application/json:
|
|
7371
|
+
schema:
|
|
7372
|
+
$ref: "#/components/schemas/ApprovalResponse"
|
|
7373
|
+
"404":
|
|
7374
|
+
$ref: "#/components/responses/NotFound"
|
|
7375
|
+
|
|
7376
|
+
/v1/platform/connections/{connectionId}/pending-approvals:
|
|
7377
|
+
get:
|
|
7378
|
+
tags: [Platform]
|
|
7379
|
+
summary: List pending consensus approvals for a connection
|
|
7380
|
+
description: |
|
|
7381
|
+
Returns pending approvals for agents provisioned on the connection,
|
|
7382
|
+
including `action_payload` and `payload_hash` for consensus UX.
|
|
7383
|
+
Requires plt_ platform auth.
|
|
7384
|
+
operationId: listConnectionPendingApprovals
|
|
7385
|
+
security:
|
|
7386
|
+
- BearerAuth: []
|
|
7387
|
+
parameters:
|
|
7388
|
+
- in: path
|
|
7389
|
+
name: connectionId
|
|
7390
|
+
required: true
|
|
7391
|
+
schema:
|
|
7392
|
+
type: string
|
|
7393
|
+
format: uuid
|
|
7394
|
+
- name: status
|
|
7395
|
+
in: query
|
|
7396
|
+
schema:
|
|
7397
|
+
type: string
|
|
7398
|
+
default: pending
|
|
7399
|
+
- name: limit
|
|
7400
|
+
in: query
|
|
7401
|
+
schema:
|
|
7402
|
+
type: integer
|
|
7403
|
+
default: 50
|
|
7404
|
+
- name: offset
|
|
7405
|
+
in: query
|
|
7406
|
+
schema:
|
|
7407
|
+
type: integer
|
|
7408
|
+
default: 0
|
|
7409
|
+
responses:
|
|
7410
|
+
"200":
|
|
7411
|
+
description: Pending approvals list
|
|
7412
|
+
content:
|
|
7413
|
+
application/json:
|
|
7414
|
+
schema:
|
|
7415
|
+
$ref: "#/components/schemas/PendingApprovalListResponse"
|
|
7416
|
+
"404":
|
|
7417
|
+
$ref: "#/components/responses/NotFound"
|
|
7418
|
+
|
|
7174
7419
|
# --- Approvals ---
|
|
7175
7420
|
|
|
7176
7421
|
/v1/approvals:
|
|
@@ -9053,7 +9298,7 @@ paths:
|
|
|
9053
9298
|
summary: Chat with a running runtime agent
|
|
9054
9299
|
description: |
|
|
9055
9300
|
Human-only. Proxies to the runtime container's OpenAI-compatible
|
|
9056
|
-
`POST /v1/chat/completions` (hermes / openclaw / openclaude chat bridge).
|
|
9301
|
+
`POST /v1/chat/completions` (hermes / openclaw / openclaude / opencode chat bridge).
|
|
9057
9302
|
Starts the runtime if stopped. Streams SSE when `Accept: text/event-stream`
|
|
9058
9303
|
or `stream: true`. Conversation history is ephemeral (pass `messages`).
|
|
9059
9304
|
Requires a public URL (shell access, Shroud sidecar, or HTTP hosting).
|
|
@@ -16353,6 +16598,46 @@ components:
|
|
|
16353
16598
|
nullable: true
|
|
16354
16599
|
description: Optional expiration time for the platform API key. Set to null to clear.
|
|
16355
16600
|
|
|
16601
|
+
PlatformAppDeleteResponse:
|
|
16602
|
+
type: object
|
|
16603
|
+
required: [deleted, soft_delete, slug_released, former_slug]
|
|
16604
|
+
properties:
|
|
16605
|
+
deleted:
|
|
16606
|
+
type: boolean
|
|
16607
|
+
soft_delete:
|
|
16608
|
+
type: boolean
|
|
16609
|
+
slug_released:
|
|
16610
|
+
type: boolean
|
|
16611
|
+
former_slug:
|
|
16612
|
+
type: string
|
|
16613
|
+
|
|
16614
|
+
TransferPlatformAppOwnershipRequest:
|
|
16615
|
+
type: object
|
|
16616
|
+
properties:
|
|
16617
|
+
target_org_id:
|
|
16618
|
+
type: string
|
|
16619
|
+
format: uuid
|
|
16620
|
+
target_user_email:
|
|
16621
|
+
type: string
|
|
16622
|
+
format: email
|
|
16623
|
+
description: Provide `target_org_id` or `target_user_email` (owner/admin in destination org).
|
|
16624
|
+
|
|
16625
|
+
TransferPlatformAppOwnershipResponse:
|
|
16626
|
+
type: object
|
|
16627
|
+
required: [app_id, former_org_id, new_org_id, message]
|
|
16628
|
+
properties:
|
|
16629
|
+
app_id:
|
|
16630
|
+
type: string
|
|
16631
|
+
format: uuid
|
|
16632
|
+
former_org_id:
|
|
16633
|
+
type: string
|
|
16634
|
+
format: uuid
|
|
16635
|
+
new_org_id:
|
|
16636
|
+
type: string
|
|
16637
|
+
format: uuid
|
|
16638
|
+
message:
|
|
16639
|
+
type: string
|
|
16640
|
+
|
|
16356
16641
|
PlatformAppResponse:
|
|
16357
16642
|
type: object
|
|
16358
16643
|
properties:
|
|
@@ -17080,6 +17365,17 @@ components:
|
|
|
17080
17365
|
type: string
|
|
17081
17366
|
format: date-time
|
|
17082
17367
|
|
|
17368
|
+
ApprovalListResponse:
|
|
17369
|
+
type: object
|
|
17370
|
+
required: [approvals, total]
|
|
17371
|
+
properties:
|
|
17372
|
+
approvals:
|
|
17373
|
+
type: array
|
|
17374
|
+
items:
|
|
17375
|
+
$ref: "#/components/schemas/ApprovalResponse"
|
|
17376
|
+
total:
|
|
17377
|
+
type: integer
|
|
17378
|
+
|
|
17083
17379
|
ApprovalStatusResponse:
|
|
17084
17380
|
type: object
|
|
17085
17381
|
required: [status]
|