@1claw/openapi-spec 0.57.0 → 0.58.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.
- package/README.md +22 -2
- package/openapi.json +1066 -25
- package/openapi.yaml +730 -58
- package/package.json +1 -1
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]
|
|
@@ -6377,6 +6425,35 @@ paths:
|
|
|
6377
6425
|
$ref: "#/components/schemas/PlatformTemplateResponse"
|
|
6378
6426
|
|
|
6379
6427
|
/v1/platform/apps/{appId}/templates/{template_id}:
|
|
6428
|
+
get:
|
|
6429
|
+
tags: [Platform]
|
|
6430
|
+
summary: Get a bootstrap template
|
|
6431
|
+
description: Returns the full template spec for a platform app. plt_ or user JWT.
|
|
6432
|
+
operationId: getPlatformTemplate
|
|
6433
|
+
security:
|
|
6434
|
+
- BearerAuth: []
|
|
6435
|
+
parameters:
|
|
6436
|
+
- in: path
|
|
6437
|
+
name: appId
|
|
6438
|
+
required: true
|
|
6439
|
+
schema:
|
|
6440
|
+
type: string
|
|
6441
|
+
format: uuid
|
|
6442
|
+
- in: path
|
|
6443
|
+
name: template_id
|
|
6444
|
+
required: true
|
|
6445
|
+
schema:
|
|
6446
|
+
type: string
|
|
6447
|
+
format: uuid
|
|
6448
|
+
responses:
|
|
6449
|
+
"200":
|
|
6450
|
+
description: Template details
|
|
6451
|
+
content:
|
|
6452
|
+
application/json:
|
|
6453
|
+
schema:
|
|
6454
|
+
$ref: "#/components/schemas/PlatformTemplateResponse"
|
|
6455
|
+
"404":
|
|
6456
|
+
$ref: "#/components/responses/NotFound"
|
|
6380
6457
|
patch:
|
|
6381
6458
|
tags: [Platform]
|
|
6382
6459
|
summary: Update a bootstrap template
|
|
@@ -7026,41 +7103,400 @@ paths:
|
|
|
7026
7103
|
Public endpoint — the token itself is the authentication. Returns 409 if already claimed, 410 if expired.
|
|
7027
7104
|
parameters:
|
|
7028
7105
|
- in: path
|
|
7029
|
-
name: token
|
|
7106
|
+
name: token
|
|
7107
|
+
required: true
|
|
7108
|
+
schema:
|
|
7109
|
+
type: string
|
|
7110
|
+
description: The `ct_` prefixed claim token from the bootstrap response
|
|
7111
|
+
responses:
|
|
7112
|
+
"200":
|
|
7113
|
+
description: Claim redeemed
|
|
7114
|
+
content:
|
|
7115
|
+
application/json:
|
|
7116
|
+
schema:
|
|
7117
|
+
$ref: "#/components/schemas/ClaimRedeemResponse"
|
|
7118
|
+
"404":
|
|
7119
|
+
description: Invalid claim token
|
|
7120
|
+
"409":
|
|
7121
|
+
description: Claim token already used
|
|
7122
|
+
"410":
|
|
7123
|
+
description: Claim token has expired
|
|
7124
|
+
|
|
7125
|
+
# --- Spend Policies ---
|
|
7126
|
+
|
|
7127
|
+
/v1/platform/apps/{appId}/spend-policies:
|
|
7128
|
+
post:
|
|
7129
|
+
tags: [Platform]
|
|
7130
|
+
summary: Create wallet spend policy
|
|
7131
|
+
description: |
|
|
7132
|
+
Create an app-wide spend policy that governs what embedded wallet users
|
|
7133
|
+
can do with their wallets. Policies apply to all connected users by default
|
|
7134
|
+
and can be overridden per-user via connection-level policies.
|
|
7135
|
+
operationId: createSpendPolicy
|
|
7136
|
+
security:
|
|
7137
|
+
- BearerAuth: []
|
|
7138
|
+
parameters:
|
|
7139
|
+
- in: path
|
|
7140
|
+
name: appId
|
|
7141
|
+
required: true
|
|
7142
|
+
schema:
|
|
7143
|
+
type: string
|
|
7144
|
+
format: uuid
|
|
7145
|
+
requestBody:
|
|
7146
|
+
required: true
|
|
7147
|
+
content:
|
|
7148
|
+
application/json:
|
|
7149
|
+
schema:
|
|
7150
|
+
$ref: "#/components/schemas/CreateSpendPolicyRequest"
|
|
7151
|
+
responses:
|
|
7152
|
+
"201":
|
|
7153
|
+
description: Spend policy created
|
|
7154
|
+
content:
|
|
7155
|
+
application/json:
|
|
7156
|
+
schema:
|
|
7157
|
+
$ref: "#/components/schemas/SpendPolicyResponse"
|
|
7158
|
+
"400":
|
|
7159
|
+
$ref: "#/components/responses/BadRequest"
|
|
7160
|
+
"403":
|
|
7161
|
+
$ref: "#/components/responses/Forbidden"
|
|
7162
|
+
get:
|
|
7163
|
+
tags: [Platform]
|
|
7164
|
+
summary: List spend policies for app
|
|
7165
|
+
description: Returns all spend policies configured for the platform app.
|
|
7166
|
+
operationId: listSpendPolicies
|
|
7167
|
+
security:
|
|
7168
|
+
- BearerAuth: []
|
|
7169
|
+
parameters:
|
|
7170
|
+
- in: path
|
|
7171
|
+
name: appId
|
|
7172
|
+
required: true
|
|
7173
|
+
schema:
|
|
7174
|
+
type: string
|
|
7175
|
+
format: uuid
|
|
7176
|
+
responses:
|
|
7177
|
+
"200":
|
|
7178
|
+
description: Spend policies
|
|
7179
|
+
content:
|
|
7180
|
+
application/json:
|
|
7181
|
+
schema:
|
|
7182
|
+
type: object
|
|
7183
|
+
properties:
|
|
7184
|
+
policies:
|
|
7185
|
+
type: array
|
|
7186
|
+
items:
|
|
7187
|
+
$ref: "#/components/schemas/SpendPolicyResponse"
|
|
7188
|
+
|
|
7189
|
+
/v1/platform/apps/{appId}/spend-policies/{policyId}:
|
|
7190
|
+
get:
|
|
7191
|
+
tags: [Platform]
|
|
7192
|
+
summary: Get a spend policy by ID
|
|
7193
|
+
operationId: getSpendPolicy
|
|
7194
|
+
security:
|
|
7195
|
+
- BearerAuth: []
|
|
7196
|
+
parameters:
|
|
7197
|
+
- in: path
|
|
7198
|
+
name: appId
|
|
7199
|
+
required: true
|
|
7200
|
+
schema:
|
|
7201
|
+
type: string
|
|
7202
|
+
format: uuid
|
|
7203
|
+
- in: path
|
|
7204
|
+
name: policyId
|
|
7205
|
+
required: true
|
|
7206
|
+
schema:
|
|
7207
|
+
type: string
|
|
7208
|
+
format: uuid
|
|
7209
|
+
responses:
|
|
7210
|
+
"200":
|
|
7211
|
+
description: Spend policy
|
|
7212
|
+
content:
|
|
7213
|
+
application/json:
|
|
7214
|
+
schema:
|
|
7215
|
+
$ref: "#/components/schemas/SpendPolicyResponse"
|
|
7216
|
+
"404":
|
|
7217
|
+
$ref: "#/components/responses/NotFound"
|
|
7218
|
+
delete:
|
|
7219
|
+
tags: [Platform]
|
|
7220
|
+
summary: Delete a spend policy
|
|
7221
|
+
operationId: deleteSpendPolicy
|
|
7222
|
+
security:
|
|
7223
|
+
- BearerAuth: []
|
|
7224
|
+
parameters:
|
|
7225
|
+
- in: path
|
|
7226
|
+
name: appId
|
|
7227
|
+
required: true
|
|
7228
|
+
schema:
|
|
7229
|
+
type: string
|
|
7230
|
+
format: uuid
|
|
7231
|
+
- in: path
|
|
7232
|
+
name: policyId
|
|
7233
|
+
required: true
|
|
7234
|
+
schema:
|
|
7235
|
+
type: string
|
|
7236
|
+
format: uuid
|
|
7237
|
+
responses:
|
|
7238
|
+
"204":
|
|
7239
|
+
description: Deleted
|
|
7240
|
+
"404":
|
|
7241
|
+
$ref: "#/components/responses/NotFound"
|
|
7242
|
+
|
|
7243
|
+
/v1/platform/connections/{connectionId}/spend-policy:
|
|
7244
|
+
get:
|
|
7245
|
+
tags: [Platform]
|
|
7246
|
+
summary: Get effective spend policy for a connection
|
|
7247
|
+
description: |
|
|
7248
|
+
Returns the effective spend policy for the connected user, resolving
|
|
7249
|
+
per-user overrides before app-level defaults. Requires plt_ platform auth.
|
|
7250
|
+
operationId: getConnectionSpendPolicy
|
|
7251
|
+
security:
|
|
7252
|
+
- BearerAuth: []
|
|
7253
|
+
parameters:
|
|
7254
|
+
- in: path
|
|
7255
|
+
name: connectionId
|
|
7256
|
+
required: true
|
|
7257
|
+
schema:
|
|
7258
|
+
type: string
|
|
7259
|
+
format: uuid
|
|
7260
|
+
responses:
|
|
7261
|
+
"200":
|
|
7262
|
+
description: Effective spend policy (or null)
|
|
7263
|
+
content:
|
|
7264
|
+
application/json:
|
|
7265
|
+
schema:
|
|
7266
|
+
type: object
|
|
7267
|
+
properties:
|
|
7268
|
+
policy:
|
|
7269
|
+
oneOf:
|
|
7270
|
+
- $ref: "#/components/schemas/SpendPolicyResponse"
|
|
7271
|
+
- type: "null"
|
|
7272
|
+
"404":
|
|
7273
|
+
$ref: "#/components/responses/NotFound"
|
|
7274
|
+
put:
|
|
7275
|
+
tags: [Platform]
|
|
7276
|
+
summary: Set per-user spend policy override
|
|
7277
|
+
description: |
|
|
7278
|
+
Replace the per-user spend policy for a connected user (deactivates the
|
|
7279
|
+
previous active row, then inserts). Requires plt_ platform auth.
|
|
7280
|
+
Optional `Idempotency-Key` header must cover the full request body — reusing
|
|
7281
|
+
the same key with different parameters returns 409.
|
|
7282
|
+
operationId: setUserSpendPolicy
|
|
7283
|
+
security:
|
|
7284
|
+
- BearerAuth: []
|
|
7285
|
+
parameters:
|
|
7286
|
+
- in: path
|
|
7287
|
+
name: connectionId
|
|
7288
|
+
required: true
|
|
7289
|
+
schema:
|
|
7290
|
+
type: string
|
|
7291
|
+
format: uuid
|
|
7292
|
+
- in: header
|
|
7293
|
+
name: Idempotency-Key
|
|
7294
|
+
required: false
|
|
7295
|
+
schema:
|
|
7296
|
+
type: string
|
|
7297
|
+
description: Optional replay protection; same key + body returns cached response (409 on body mismatch).
|
|
7298
|
+
requestBody:
|
|
7299
|
+
required: true
|
|
7300
|
+
content:
|
|
7301
|
+
application/json:
|
|
7302
|
+
schema:
|
|
7303
|
+
$ref: "#/components/schemas/CreateSpendPolicyRequest"
|
|
7304
|
+
responses:
|
|
7305
|
+
"200":
|
|
7306
|
+
description: Spend policy set (or idempotent replay)
|
|
7307
|
+
content:
|
|
7308
|
+
application/json:
|
|
7309
|
+
schema:
|
|
7310
|
+
$ref: "#/components/schemas/SpendPolicyResponse"
|
|
7311
|
+
"201":
|
|
7312
|
+
description: Spend policy created
|
|
7313
|
+
content:
|
|
7314
|
+
application/json:
|
|
7315
|
+
schema:
|
|
7316
|
+
$ref: "#/components/schemas/SpendPolicyResponse"
|
|
7317
|
+
"409":
|
|
7318
|
+
description: Idempotency-Key reused with different body
|
|
7319
|
+
"400":
|
|
7320
|
+
$ref: "#/components/responses/BadRequest"
|
|
7321
|
+
"403":
|
|
7322
|
+
$ref: "#/components/responses/Forbidden"
|
|
7323
|
+
|
|
7324
|
+
"404":
|
|
7325
|
+
$ref: "#/components/responses/NotFound"
|
|
7326
|
+
|
|
7327
|
+
/v1/platform/connections/{connectionId}/approvals:
|
|
7328
|
+
get:
|
|
7329
|
+
tags: [Platform]
|
|
7330
|
+
summary: List approvals for a platform connection
|
|
7331
|
+
description: |
|
|
7332
|
+
Returns approvals assigned to the connection's user, filtered to agents
|
|
7333
|
+
provisioned on the connection. Requires plt_ platform auth.
|
|
7334
|
+
operationId: listConnectionApprovals
|
|
7335
|
+
security:
|
|
7336
|
+
- BearerAuth: []
|
|
7337
|
+
parameters:
|
|
7338
|
+
- in: path
|
|
7339
|
+
name: connectionId
|
|
7340
|
+
required: true
|
|
7341
|
+
schema:
|
|
7342
|
+
type: string
|
|
7343
|
+
format: uuid
|
|
7344
|
+
- name: status
|
|
7345
|
+
in: query
|
|
7346
|
+
required: false
|
|
7347
|
+
schema:
|
|
7348
|
+
type: string
|
|
7349
|
+
- name: risk_tier
|
|
7350
|
+
in: query
|
|
7351
|
+
required: false
|
|
7352
|
+
schema:
|
|
7353
|
+
type: integer
|
|
7354
|
+
- name: limit
|
|
7355
|
+
in: query
|
|
7356
|
+
required: false
|
|
7357
|
+
schema:
|
|
7358
|
+
type: integer
|
|
7359
|
+
default: 50
|
|
7360
|
+
- name: offset
|
|
7361
|
+
in: query
|
|
7362
|
+
required: false
|
|
7363
|
+
schema:
|
|
7364
|
+
type: integer
|
|
7365
|
+
default: 0
|
|
7366
|
+
responses:
|
|
7367
|
+
"200":
|
|
7368
|
+
description: Connection-scoped approvals
|
|
7369
|
+
content:
|
|
7370
|
+
application/json:
|
|
7371
|
+
schema:
|
|
7372
|
+
$ref: "#/components/schemas/ApprovalListResponse"
|
|
7373
|
+
"404":
|
|
7374
|
+
$ref: "#/components/responses/NotFound"
|
|
7375
|
+
|
|
7376
|
+
/v1/platform/connections/{connectionId}/approvals/{approvalId}:
|
|
7377
|
+
get:
|
|
7378
|
+
tags: [Platform]
|
|
7379
|
+
summary: Get a connection-scoped approval
|
|
7380
|
+
operationId: getConnectionApproval
|
|
7381
|
+
security:
|
|
7382
|
+
- BearerAuth: []
|
|
7383
|
+
parameters:
|
|
7384
|
+
- in: path
|
|
7385
|
+
name: connectionId
|
|
7386
|
+
required: true
|
|
7387
|
+
schema:
|
|
7388
|
+
type: string
|
|
7389
|
+
format: uuid
|
|
7390
|
+
- in: path
|
|
7391
|
+
name: approvalId
|
|
7392
|
+
required: true
|
|
7393
|
+
schema:
|
|
7394
|
+
type: string
|
|
7395
|
+
format: uuid
|
|
7396
|
+
responses:
|
|
7397
|
+
"200":
|
|
7398
|
+
description: Approval detail
|
|
7399
|
+
content:
|
|
7400
|
+
application/json:
|
|
7401
|
+
schema:
|
|
7402
|
+
$ref: "#/components/schemas/ApprovalResponse"
|
|
7403
|
+
"404":
|
|
7404
|
+
$ref: "#/components/responses/NotFound"
|
|
7405
|
+
|
|
7406
|
+
/v1/platform/connections/{connectionId}/pending-approvals:
|
|
7407
|
+
get:
|
|
7408
|
+
tags: [Platform]
|
|
7409
|
+
summary: List pending consensus approvals for a connection
|
|
7410
|
+
description: |
|
|
7411
|
+
Returns pending approvals for agents provisioned on the connection,
|
|
7412
|
+
including `action_payload` and `payload_hash` for consensus UX.
|
|
7413
|
+
Requires plt_ platform auth.
|
|
7414
|
+
operationId: listConnectionPendingApprovals
|
|
7415
|
+
security:
|
|
7416
|
+
- BearerAuth: []
|
|
7417
|
+
parameters:
|
|
7418
|
+
- in: path
|
|
7419
|
+
name: connectionId
|
|
7420
|
+
required: true
|
|
7421
|
+
schema:
|
|
7422
|
+
type: string
|
|
7423
|
+
format: uuid
|
|
7424
|
+
- name: status
|
|
7425
|
+
in: query
|
|
7426
|
+
schema:
|
|
7427
|
+
type: string
|
|
7428
|
+
default: pending
|
|
7429
|
+
- name: limit
|
|
7430
|
+
in: query
|
|
7431
|
+
schema:
|
|
7432
|
+
type: integer
|
|
7433
|
+
default: 50
|
|
7434
|
+
- name: offset
|
|
7435
|
+
in: query
|
|
7436
|
+
schema:
|
|
7437
|
+
type: integer
|
|
7438
|
+
default: 0
|
|
7439
|
+
responses:
|
|
7440
|
+
"200":
|
|
7441
|
+
description: Pending approvals list
|
|
7442
|
+
content:
|
|
7443
|
+
application/json:
|
|
7444
|
+
schema:
|
|
7445
|
+
$ref: "#/components/schemas/PendingApprovalListResponse"
|
|
7446
|
+
"404":
|
|
7447
|
+
$ref: "#/components/responses/NotFound"
|
|
7448
|
+
|
|
7449
|
+
/v1/platform/connections/{connectionId}/pending-approvals/{approvalId}:
|
|
7450
|
+
get:
|
|
7451
|
+
tags: [Platform]
|
|
7452
|
+
summary: Get a connection-scoped pending approval (with payload_hash)
|
|
7453
|
+
operationId: getConnectionPendingApproval
|
|
7454
|
+
security:
|
|
7455
|
+
- BearerAuth: []
|
|
7456
|
+
parameters:
|
|
7457
|
+
- in: path
|
|
7458
|
+
name: connectionId
|
|
7459
|
+
required: true
|
|
7460
|
+
schema:
|
|
7461
|
+
type: string
|
|
7462
|
+
format: uuid
|
|
7463
|
+
- in: path
|
|
7464
|
+
name: approvalId
|
|
7030
7465
|
required: true
|
|
7031
7466
|
schema:
|
|
7032
7467
|
type: string
|
|
7033
|
-
|
|
7468
|
+
format: uuid
|
|
7034
7469
|
responses:
|
|
7035
7470
|
"200":
|
|
7036
|
-
description:
|
|
7471
|
+
description: Pending approval detail including action_payload and payload_hash
|
|
7037
7472
|
content:
|
|
7038
7473
|
application/json:
|
|
7039
7474
|
schema:
|
|
7040
|
-
$ref: "#/components/schemas/
|
|
7475
|
+
$ref: "#/components/schemas/PendingApprovalResponse"
|
|
7041
7476
|
"404":
|
|
7042
|
-
|
|
7043
|
-
"409":
|
|
7044
|
-
description: Claim token already used
|
|
7045
|
-
"410":
|
|
7046
|
-
description: Claim token has expired
|
|
7047
|
-
|
|
7048
|
-
# --- Spend Policies ---
|
|
7477
|
+
$ref: "#/components/responses/NotFound"
|
|
7049
7478
|
|
|
7050
|
-
/v1/platform/
|
|
7479
|
+
/v1/platform/connections/{connectionId}/pending-approvals/{approvalId}/decide:
|
|
7051
7480
|
post:
|
|
7052
7481
|
tags: [Platform]
|
|
7053
|
-
summary:
|
|
7482
|
+
summary: Decide a pending approval for a connection user
|
|
7054
7483
|
description: |
|
|
7055
|
-
|
|
7056
|
-
|
|
7057
|
-
|
|
7058
|
-
|
|
7484
|
+
Platform apps vote on behalf of the connected user after verifying intent
|
|
7485
|
+
out-of-band (e.g. wallet mandate). Requires `payload_hash` matching the
|
|
7486
|
+
pending row. Accepts `decision`: `approve` or `reject` (aliases `approved` /
|
|
7487
|
+
`rejected`). plt_ auth only; scoped to agents on the connection.
|
|
7488
|
+
operationId: decideConnectionPendingApproval
|
|
7059
7489
|
security:
|
|
7060
7490
|
- BearerAuth: []
|
|
7061
7491
|
parameters:
|
|
7062
7492
|
- in: path
|
|
7063
|
-
name:
|
|
7493
|
+
name: connectionId
|
|
7494
|
+
required: true
|
|
7495
|
+
schema:
|
|
7496
|
+
type: string
|
|
7497
|
+
format: uuid
|
|
7498
|
+
- in: path
|
|
7499
|
+
name: approvalId
|
|
7064
7500
|
required: true
|
|
7065
7501
|
schema:
|
|
7066
7502
|
type: string
|
|
@@ -7070,80 +7506,119 @@ paths:
|
|
|
7070
7506
|
content:
|
|
7071
7507
|
application/json:
|
|
7072
7508
|
schema:
|
|
7073
|
-
$ref: "#/components/schemas/
|
|
7509
|
+
$ref: "#/components/schemas/ApprovePendingApprovalRequest"
|
|
7074
7510
|
responses:
|
|
7075
|
-
"
|
|
7076
|
-
description:
|
|
7511
|
+
"200":
|
|
7512
|
+
description: Updated pending approval
|
|
7077
7513
|
content:
|
|
7078
7514
|
application/json:
|
|
7079
7515
|
schema:
|
|
7080
|
-
$ref: "#/components/schemas/
|
|
7516
|
+
$ref: "#/components/schemas/PendingApprovalResponse"
|
|
7081
7517
|
"400":
|
|
7082
7518
|
$ref: "#/components/responses/BadRequest"
|
|
7083
7519
|
"403":
|
|
7084
7520
|
$ref: "#/components/responses/Forbidden"
|
|
7085
|
-
|
|
7521
|
+
"404":
|
|
7522
|
+
$ref: "#/components/responses/NotFound"
|
|
7523
|
+
"409":
|
|
7524
|
+
description: Already voted
|
|
7525
|
+
|
|
7526
|
+
/v1/platform/connections/{connectionId}/approvals/{approvalId}/decide:
|
|
7527
|
+
post:
|
|
7086
7528
|
tags: [Platform]
|
|
7087
|
-
summary:
|
|
7088
|
-
description:
|
|
7089
|
-
|
|
7529
|
+
summary: Decide a mobile/agent approval for a connection user
|
|
7530
|
+
description: |
|
|
7531
|
+
Platform apps decide agent approval requests on behalf of the connected user.
|
|
7532
|
+
Accepts `decision`: `approved` or `rejected` (aliases `approve` / `reject`).
|
|
7533
|
+
plt_ auth only.
|
|
7534
|
+
operationId: decideConnectionApproval
|
|
7090
7535
|
security:
|
|
7091
7536
|
- BearerAuth: []
|
|
7092
7537
|
parameters:
|
|
7093
7538
|
- in: path
|
|
7094
|
-
name:
|
|
7539
|
+
name: connectionId
|
|
7095
7540
|
required: true
|
|
7096
7541
|
schema:
|
|
7097
7542
|
type: string
|
|
7098
7543
|
format: uuid
|
|
7544
|
+
- in: path
|
|
7545
|
+
name: approvalId
|
|
7546
|
+
required: true
|
|
7547
|
+
schema:
|
|
7548
|
+
type: string
|
|
7549
|
+
format: uuid
|
|
7550
|
+
requestBody:
|
|
7551
|
+
required: true
|
|
7552
|
+
content:
|
|
7553
|
+
application/json:
|
|
7554
|
+
schema:
|
|
7555
|
+
type: object
|
|
7556
|
+
required: [decision]
|
|
7557
|
+
properties:
|
|
7558
|
+
decision:
|
|
7559
|
+
type: string
|
|
7560
|
+
enum: [approved, rejected, approve, reject]
|
|
7561
|
+
reason:
|
|
7562
|
+
type: string
|
|
7099
7563
|
responses:
|
|
7100
7564
|
"200":
|
|
7101
|
-
description:
|
|
7565
|
+
description: Decided approval
|
|
7102
7566
|
content:
|
|
7103
7567
|
application/json:
|
|
7104
7568
|
schema:
|
|
7105
|
-
|
|
7106
|
-
|
|
7107
|
-
|
|
7108
|
-
|
|
7109
|
-
|
|
7110
|
-
|
|
7569
|
+
$ref: "#/components/schemas/ApprovalResponse"
|
|
7570
|
+
"403":
|
|
7571
|
+
$ref: "#/components/responses/Forbidden"
|
|
7572
|
+
"404":
|
|
7573
|
+
$ref: "#/components/responses/NotFound"
|
|
7574
|
+
"409":
|
|
7575
|
+
description: Already decided
|
|
7111
7576
|
|
|
7112
|
-
/v1/platform/
|
|
7577
|
+
/v1/platform/connections/{connectionId}/signing-keys/{chain}:
|
|
7113
7578
|
delete:
|
|
7114
7579
|
tags: [Platform]
|
|
7115
|
-
summary:
|
|
7116
|
-
|
|
7580
|
+
summary: Deactivate a signing key for a connection agent
|
|
7581
|
+
description: |
|
|
7582
|
+
Deactivates the signing key for an agent provisioned on the connection.
|
|
7583
|
+
When multiple agents exist, pass `agent_id` query param. plt_ auth only.
|
|
7584
|
+
operationId: deactivateConnectionSigningKey
|
|
7117
7585
|
security:
|
|
7118
7586
|
- BearerAuth: []
|
|
7119
7587
|
parameters:
|
|
7120
7588
|
- in: path
|
|
7121
|
-
name:
|
|
7589
|
+
name: connectionId
|
|
7122
7590
|
required: true
|
|
7123
7591
|
schema:
|
|
7124
7592
|
type: string
|
|
7125
7593
|
format: uuid
|
|
7126
7594
|
- in: path
|
|
7127
|
-
name:
|
|
7595
|
+
name: chain
|
|
7128
7596
|
required: true
|
|
7597
|
+
schema:
|
|
7598
|
+
type: string
|
|
7599
|
+
- in: query
|
|
7600
|
+
name: agent_id
|
|
7601
|
+
required: false
|
|
7129
7602
|
schema:
|
|
7130
7603
|
type: string
|
|
7131
7604
|
format: uuid
|
|
7132
7605
|
responses:
|
|
7133
7606
|
"204":
|
|
7134
|
-
description:
|
|
7607
|
+
description: Key deactivated
|
|
7608
|
+
"400":
|
|
7609
|
+
description: Multiple agents — agent_id required
|
|
7135
7610
|
"404":
|
|
7136
7611
|
$ref: "#/components/responses/NotFound"
|
|
7137
7612
|
|
|
7138
|
-
/v1/platform/connections/{connectionId}/
|
|
7139
|
-
|
|
7613
|
+
/v1/platform/connections/{connectionId}/runtimes:
|
|
7614
|
+
post:
|
|
7140
7615
|
tags: [Platform]
|
|
7141
|
-
summary:
|
|
7616
|
+
summary: Create a runtime for a connection agent
|
|
7142
7617
|
description: |
|
|
7143
|
-
|
|
7144
|
-
|
|
7145
|
-
|
|
7146
|
-
operationId:
|
|
7618
|
+
Creates a Cloud Runtime in the end-user's org for an agent on this connection.
|
|
7619
|
+
Use instead of `POST /v1/runtimes` with a plt_ key (which resolves to the platform org).
|
|
7620
|
+
App must verify user intent out-of-band (e.g. wallet mandate) before calling.
|
|
7621
|
+
operationId: createConnectionRuntime
|
|
7147
7622
|
security:
|
|
7148
7623
|
- BearerAuth: []
|
|
7149
7624
|
parameters:
|
|
@@ -7158,18 +7633,55 @@ paths:
|
|
|
7158
7633
|
content:
|
|
7159
7634
|
application/json:
|
|
7160
7635
|
schema:
|
|
7161
|
-
$ref: "#/components/schemas/
|
|
7636
|
+
$ref: "#/components/schemas/CreateConnectionRuntimeRequest"
|
|
7162
7637
|
responses:
|
|
7163
|
-
"
|
|
7164
|
-
description:
|
|
7638
|
+
"201":
|
|
7639
|
+
description: Runtime created
|
|
7165
7640
|
content:
|
|
7166
7641
|
application/json:
|
|
7167
7642
|
schema:
|
|
7168
|
-
$ref: "#/components/schemas/
|
|
7169
|
-
"
|
|
7170
|
-
$ref: "#/components/responses/
|
|
7643
|
+
$ref: "#/components/schemas/RuntimeResponse"
|
|
7644
|
+
"403":
|
|
7645
|
+
$ref: "#/components/responses/Forbidden"
|
|
7646
|
+
"404":
|
|
7647
|
+
$ref: "#/components/responses/NotFound"
|
|
7648
|
+
|
|
7649
|
+
/v1/platform/connections/{connectionId}/agents/{agentId}/chat:
|
|
7650
|
+
post:
|
|
7651
|
+
tags: [Platform]
|
|
7652
|
+
summary: Chat with a connection agent (plt_ scoped)
|
|
7653
|
+
description: |
|
|
7654
|
+
Send a chat message to an agent provisioned on this connection, acting as the
|
|
7655
|
+
connected end-user. Use instead of `POST /v1/agents/{id}/chat` with a plt_ key.
|
|
7656
|
+
operationId: connectionAgentChat
|
|
7657
|
+
security:
|
|
7658
|
+
- BearerAuth: []
|
|
7659
|
+
parameters:
|
|
7660
|
+
- in: path
|
|
7661
|
+
name: connectionId
|
|
7662
|
+
required: true
|
|
7663
|
+
schema:
|
|
7664
|
+
type: string
|
|
7665
|
+
format: uuid
|
|
7666
|
+
- in: path
|
|
7667
|
+
name: agentId
|
|
7668
|
+
required: true
|
|
7669
|
+
schema:
|
|
7670
|
+
type: string
|
|
7671
|
+
format: uuid
|
|
7672
|
+
requestBody:
|
|
7673
|
+
required: true
|
|
7674
|
+
content:
|
|
7675
|
+
application/json:
|
|
7676
|
+
schema:
|
|
7677
|
+
$ref: "#/components/schemas/SendChatMessageRequest"
|
|
7678
|
+
responses:
|
|
7679
|
+
"200":
|
|
7680
|
+
description: Message sent (JSON or SSE stream)
|
|
7171
7681
|
"403":
|
|
7172
7682
|
$ref: "#/components/responses/Forbidden"
|
|
7683
|
+
"404":
|
|
7684
|
+
$ref: "#/components/responses/NotFound"
|
|
7173
7685
|
|
|
7174
7686
|
# --- Approvals ---
|
|
7175
7687
|
|
|
@@ -8749,6 +9261,45 @@ paths:
|
|
|
8749
9261
|
schema:
|
|
8750
9262
|
$ref: "#/components/schemas/AutomationPresetsResponse"
|
|
8751
9263
|
|
|
9264
|
+
/v1/agents/{agent_id}/automations:
|
|
9265
|
+
post:
|
|
9266
|
+
tags: [Automations]
|
|
9267
|
+
summary: Create agent automation (agent-only)
|
|
9268
|
+
operationId: createAgentAutomation
|
|
9269
|
+
description: |
|
|
9270
|
+
Agent-scoped create for simple manual or webhook automations from chat/runtime tools.
|
|
9271
|
+
Allowed step types: log, notify, memory_get, memory_put, wait (max 10).
|
|
9272
|
+
Cron, swap, http, and transaction steps require human dashboard setup.
|
|
9273
|
+
Requires agent JWT; agent_id in path must match the caller.
|
|
9274
|
+
parameters:
|
|
9275
|
+
- name: agent_id
|
|
9276
|
+
in: path
|
|
9277
|
+
required: true
|
|
9278
|
+
schema:
|
|
9279
|
+
type: string
|
|
9280
|
+
format: uuid
|
|
9281
|
+
requestBody:
|
|
9282
|
+
required: true
|
|
9283
|
+
content:
|
|
9284
|
+
application/json:
|
|
9285
|
+
schema:
|
|
9286
|
+
$ref: "#/components/schemas/AgentCreateAutomationRequest"
|
|
9287
|
+
responses:
|
|
9288
|
+
"201":
|
|
9289
|
+
description: Automation created (includes one-time webhook credentials when trigger_type is webhook)
|
|
9290
|
+
content:
|
|
9291
|
+
application/json:
|
|
9292
|
+
schema:
|
|
9293
|
+
$ref: "#/components/schemas/AutomationCreatedResponse"
|
|
9294
|
+
"400":
|
|
9295
|
+
$ref: "#/components/responses/BadRequest"
|
|
9296
|
+
"401":
|
|
9297
|
+
$ref: "#/components/responses/Unauthorized"
|
|
9298
|
+
"403":
|
|
9299
|
+
$ref: "#/components/responses/Forbidden"
|
|
9300
|
+
"404":
|
|
9301
|
+
$ref: "#/components/responses/NotFound"
|
|
9302
|
+
|
|
8752
9303
|
# ---------------------------------------------------------------------------
|
|
8753
9304
|
# Runtimes
|
|
8754
9305
|
# ---------------------------------------------------------------------------
|
|
@@ -9053,7 +9604,7 @@ paths:
|
|
|
9053
9604
|
summary: Chat with a running runtime agent
|
|
9054
9605
|
description: |
|
|
9055
9606
|
Human-only. Proxies to the runtime container's OpenAI-compatible
|
|
9056
|
-
`POST /v1/chat/completions` (hermes / openclaw / openclaude chat bridge).
|
|
9607
|
+
`POST /v1/chat/completions` (hermes / openclaw / openclaude / opencode chat bridge).
|
|
9057
9608
|
Starts the runtime if stopped. Streams SSE when `Accept: text/event-stream`
|
|
9058
9609
|
or `stream: true`. Conversation history is ephemeral (pass `messages`).
|
|
9059
9610
|
Requires a public URL (shell access, Shroud sidecar, or HTTP hosting).
|
|
@@ -16353,6 +16904,46 @@ components:
|
|
|
16353
16904
|
nullable: true
|
|
16354
16905
|
description: Optional expiration time for the platform API key. Set to null to clear.
|
|
16355
16906
|
|
|
16907
|
+
PlatformAppDeleteResponse:
|
|
16908
|
+
type: object
|
|
16909
|
+
required: [deleted, soft_delete, slug_released, former_slug]
|
|
16910
|
+
properties:
|
|
16911
|
+
deleted:
|
|
16912
|
+
type: boolean
|
|
16913
|
+
soft_delete:
|
|
16914
|
+
type: boolean
|
|
16915
|
+
slug_released:
|
|
16916
|
+
type: boolean
|
|
16917
|
+
former_slug:
|
|
16918
|
+
type: string
|
|
16919
|
+
|
|
16920
|
+
TransferPlatformAppOwnershipRequest:
|
|
16921
|
+
type: object
|
|
16922
|
+
properties:
|
|
16923
|
+
target_org_id:
|
|
16924
|
+
type: string
|
|
16925
|
+
format: uuid
|
|
16926
|
+
target_user_email:
|
|
16927
|
+
type: string
|
|
16928
|
+
format: email
|
|
16929
|
+
description: Provide `target_org_id` or `target_user_email` (owner/admin in destination org).
|
|
16930
|
+
|
|
16931
|
+
TransferPlatformAppOwnershipResponse:
|
|
16932
|
+
type: object
|
|
16933
|
+
required: [app_id, former_org_id, new_org_id, message]
|
|
16934
|
+
properties:
|
|
16935
|
+
app_id:
|
|
16936
|
+
type: string
|
|
16937
|
+
format: uuid
|
|
16938
|
+
former_org_id:
|
|
16939
|
+
type: string
|
|
16940
|
+
format: uuid
|
|
16941
|
+
new_org_id:
|
|
16942
|
+
type: string
|
|
16943
|
+
format: uuid
|
|
16944
|
+
message:
|
|
16945
|
+
type: string
|
|
16946
|
+
|
|
16356
16947
|
PlatformAppResponse:
|
|
16357
16948
|
type: object
|
|
16358
16949
|
properties:
|
|
@@ -17080,6 +17671,17 @@ components:
|
|
|
17080
17671
|
type: string
|
|
17081
17672
|
format: date-time
|
|
17082
17673
|
|
|
17674
|
+
ApprovalListResponse:
|
|
17675
|
+
type: object
|
|
17676
|
+
required: [approvals, total]
|
|
17677
|
+
properties:
|
|
17678
|
+
approvals:
|
|
17679
|
+
type: array
|
|
17680
|
+
items:
|
|
17681
|
+
$ref: "#/components/schemas/ApprovalResponse"
|
|
17682
|
+
total:
|
|
17683
|
+
type: integer
|
|
17684
|
+
|
|
17083
17685
|
ApprovalStatusResponse:
|
|
17084
17686
|
type: object
|
|
17085
17687
|
required: [status]
|
|
@@ -17358,6 +17960,16 @@ components:
|
|
|
17358
17960
|
items:
|
|
17359
17961
|
type: string
|
|
17360
17962
|
format: uuid
|
|
17963
|
+
runtime_ids:
|
|
17964
|
+
type: array
|
|
17965
|
+
items:
|
|
17966
|
+
type: string
|
|
17967
|
+
format: uuid
|
|
17968
|
+
automation_ids:
|
|
17969
|
+
type: array
|
|
17970
|
+
items:
|
|
17971
|
+
type: string
|
|
17972
|
+
format: uuid
|
|
17361
17973
|
claimed_at:
|
|
17362
17974
|
type: string
|
|
17363
17975
|
format: date-time
|
|
@@ -18206,6 +18818,33 @@ components:
|
|
|
18206
18818
|
- type: object
|
|
18207
18819
|
additionalProperties: true
|
|
18208
18820
|
|
|
18821
|
+
AgentCreateAutomationRequest:
|
|
18822
|
+
type: object
|
|
18823
|
+
required: [name, workflow_spec]
|
|
18824
|
+
description: |
|
|
18825
|
+
Agent-scoped automation create. Defaults to manual trigger.
|
|
18826
|
+
workflow_spec must use only agent-allowed step types (log, notify, memory_get, memory_put, wait).
|
|
18827
|
+
properties:
|
|
18828
|
+
name:
|
|
18829
|
+
type: string
|
|
18830
|
+
maxLength: 128
|
|
18831
|
+
trigger_type:
|
|
18832
|
+
type: string
|
|
18833
|
+
enum: [manual, webhook]
|
|
18834
|
+
default: manual
|
|
18835
|
+
workflow_spec:
|
|
18836
|
+
oneOf:
|
|
18837
|
+
- type: array
|
|
18838
|
+
items:
|
|
18839
|
+
type: object
|
|
18840
|
+
additionalProperties: true
|
|
18841
|
+
- type: object
|
|
18842
|
+
additionalProperties: true
|
|
18843
|
+
auto_trigger:
|
|
18844
|
+
type: boolean
|
|
18845
|
+
default: false
|
|
18846
|
+
description: When true (manual trigger only), start a run immediately after creation
|
|
18847
|
+
|
|
18209
18848
|
UpdateAutomationRequest:
|
|
18210
18849
|
type: object
|
|
18211
18850
|
properties:
|
|
@@ -18289,6 +18928,10 @@ components:
|
|
|
18289
18928
|
type: string
|
|
18290
18929
|
nullable: true
|
|
18291
18930
|
description: Resolved agent display name (enriched list field)
|
|
18931
|
+
created_by_type:
|
|
18932
|
+
type: string
|
|
18933
|
+
enum: [user, agent]
|
|
18934
|
+
description: Whether the automation was created by a human or agent (chat-native create)
|
|
18292
18935
|
created_at:
|
|
18293
18936
|
type: string
|
|
18294
18937
|
format: date-time
|
|
@@ -18434,6 +19077,35 @@ components:
|
|
|
18434
19077
|
|
|
18435
19078
|
# --- Runtimes ---
|
|
18436
19079
|
|
|
19080
|
+
CreateConnectionRuntimeRequest:
|
|
19081
|
+
type: object
|
|
19082
|
+
required: [name]
|
|
19083
|
+
properties:
|
|
19084
|
+
name:
|
|
19085
|
+
type: string
|
|
19086
|
+
agent_id:
|
|
19087
|
+
type: string
|
|
19088
|
+
format: uuid
|
|
19089
|
+
description: Required when multiple agents on the connection; defaults to sole agent
|
|
19090
|
+
template:
|
|
19091
|
+
type: string
|
|
19092
|
+
preset:
|
|
19093
|
+
type: string
|
|
19094
|
+
default: medium
|
|
19095
|
+
env_public:
|
|
19096
|
+
type: object
|
|
19097
|
+
additionalProperties: true
|
|
19098
|
+
idle_timeout_secs:
|
|
19099
|
+
type: integer
|
|
19100
|
+
expose_http:
|
|
19101
|
+
type: boolean
|
|
19102
|
+
slug:
|
|
19103
|
+
type: string
|
|
19104
|
+
inbound_auth:
|
|
19105
|
+
type: string
|
|
19106
|
+
startup_command:
|
|
19107
|
+
type: string
|
|
19108
|
+
|
|
18437
19109
|
CreateRuntimeRequest:
|
|
18438
19110
|
type: object
|
|
18439
19111
|
required: [name, agent_id]
|
|
@@ -20332,7 +21004,7 @@ components:
|
|
|
20332
21004
|
properties:
|
|
20333
21005
|
decision:
|
|
20334
21006
|
type: string
|
|
20335
|
-
enum: [approve, reject]
|
|
21007
|
+
enum: [approve, reject, approved, rejected]
|
|
20336
21008
|
payload_hash:
|
|
20337
21009
|
type: string
|
|
20338
21010
|
reason:
|