@1claw/openapi-spec 0.61.12 → 0.61.14
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 +120 -1
- package/openapi.yaml +68 -1
- 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.61.
|
|
5
|
+
"version": "0.61.14",
|
|
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\n## Domains\n\n`api.1claw.co` is canonical: it is the OIDC issuer, the `aud` the API\nmints, and the first entry in `servers` — a generated client takes its\nbase URL from there, and the previous ordering pointed every SDK at the\ndomain the issuer had already left. `api.1claw.xyz` still answers and is\nstill accepted on token validation, because tokens minted before the\nmove carry it; it is never minted now.\n\nOne deliberate exception: the Shroud attestation identity token is\nrequested from GCP with `audience: https://api.1claw.xyz`, so\n`/v1/shroud/attestation` reports that as its `expected_audience`. That\nis accurate rather than stale — the audience is a verification contract\nwith anyone already checking the token, and moving it is a breaking\nchange for them, not a rename.\n\nAll endpoints require JWT Bearer authentication unless marked with\n`security: []`.\n",
|
|
7
7
|
"contact": {
|
|
8
8
|
"email": "ops@1claw.co"
|
|
@@ -1318,6 +1318,76 @@
|
|
|
1318
1318
|
}
|
|
1319
1319
|
}
|
|
1320
1320
|
},
|
|
1321
|
+
"/v1/auth/feature-quota/consume": {
|
|
1322
|
+
"post": {
|
|
1323
|
+
"tags": [
|
|
1324
|
+
"Authentication"
|
|
1325
|
+
],
|
|
1326
|
+
"summary": "Count one call against a per-user feature quota",
|
|
1327
|
+
"description": "Atomic fixed-window counter for metered dashboard features (currently\n`voice_brief`, 30 calls per hour). The limit and window are defined\nserver-side; the caller only names the feature. Users only.\n",
|
|
1328
|
+
"operationId": "consumeFeatureQuota",
|
|
1329
|
+
"requestBody": {
|
|
1330
|
+
"required": true,
|
|
1331
|
+
"content": {
|
|
1332
|
+
"application/json": {
|
|
1333
|
+
"schema": {
|
|
1334
|
+
"type": "object",
|
|
1335
|
+
"required": [
|
|
1336
|
+
"feature"
|
|
1337
|
+
],
|
|
1338
|
+
"properties": {
|
|
1339
|
+
"feature": {
|
|
1340
|
+
"type": "string",
|
|
1341
|
+
"enum": [
|
|
1342
|
+
"voice_brief"
|
|
1343
|
+
]
|
|
1344
|
+
}
|
|
1345
|
+
}
|
|
1346
|
+
}
|
|
1347
|
+
}
|
|
1348
|
+
}
|
|
1349
|
+
},
|
|
1350
|
+
"responses": {
|
|
1351
|
+
"200": {
|
|
1352
|
+
"description": "Whether this call is within the window's limit",
|
|
1353
|
+
"content": {
|
|
1354
|
+
"application/json": {
|
|
1355
|
+
"schema": {
|
|
1356
|
+
"type": "object",
|
|
1357
|
+
"required": [
|
|
1358
|
+
"allowed",
|
|
1359
|
+
"limit",
|
|
1360
|
+
"remaining",
|
|
1361
|
+
"reset_at"
|
|
1362
|
+
],
|
|
1363
|
+
"properties": {
|
|
1364
|
+
"allowed": {
|
|
1365
|
+
"type": "boolean"
|
|
1366
|
+
},
|
|
1367
|
+
"limit": {
|
|
1368
|
+
"type": "integer"
|
|
1369
|
+
},
|
|
1370
|
+
"remaining": {
|
|
1371
|
+
"type": "integer"
|
|
1372
|
+
},
|
|
1373
|
+
"reset_at": {
|
|
1374
|
+
"type": "string",
|
|
1375
|
+
"format": "date-time"
|
|
1376
|
+
}
|
|
1377
|
+
}
|
|
1378
|
+
}
|
|
1379
|
+
}
|
|
1380
|
+
}
|
|
1381
|
+
},
|
|
1382
|
+
"400": {
|
|
1383
|
+
"$ref": "#/components/responses/BadRequest"
|
|
1384
|
+
},
|
|
1385
|
+
"403": {
|
|
1386
|
+
"$ref": "#/components/responses/Forbidden"
|
|
1387
|
+
}
|
|
1388
|
+
}
|
|
1389
|
+
}
|
|
1390
|
+
},
|
|
1321
1391
|
"/v1/auth/me": {
|
|
1322
1392
|
"get": {
|
|
1323
1393
|
"tags": [
|
|
@@ -6015,6 +6085,55 @@
|
|
|
6015
6085
|
}
|
|
6016
6086
|
}
|
|
6017
6087
|
},
|
|
6088
|
+
"/v1/admin/kms/relevel": {
|
|
6089
|
+
"post": {
|
|
6090
|
+
"tags": [
|
|
6091
|
+
"Admin"
|
|
6092
|
+
],
|
|
6093
|
+
"summary": "Move orgs onto the KEK protection level their tier and payment call for",
|
|
6094
|
+
"description": "Platform admins only. Examines up to `limit` orgs whose stored KEK level disagrees with the target (Pro earns HSM only with an active subscription; Team, Business and Enterprise keep HSM; the platform org is always software) and starts a migration for each: a new key at the right level, every secret and every org-scoped row re-wrapped, the old key released from the keep set 30 days after completion. The nightly consolidation job runs the same pass, 25 orgs at a time.",
|
|
6095
|
+
"operationId": "adminKmsRelevel",
|
|
6096
|
+
"parameters": [
|
|
6097
|
+
{
|
|
6098
|
+
"name": "limit",
|
|
6099
|
+
"in": "query",
|
|
6100
|
+
"required": false,
|
|
6101
|
+
"schema": {
|
|
6102
|
+
"type": "integer",
|
|
6103
|
+
"minimum": 1,
|
|
6104
|
+
"maximum": 500,
|
|
6105
|
+
"default": 25
|
|
6106
|
+
}
|
|
6107
|
+
}
|
|
6108
|
+
],
|
|
6109
|
+
"responses": {
|
|
6110
|
+
"200": {
|
|
6111
|
+
"description": "Orgs examined and migrations started",
|
|
6112
|
+
"content": {
|
|
6113
|
+
"application/json": {
|
|
6114
|
+
"schema": {
|
|
6115
|
+
"type": "object",
|
|
6116
|
+
"properties": {
|
|
6117
|
+
"examined": {
|
|
6118
|
+
"type": "integer"
|
|
6119
|
+
},
|
|
6120
|
+
"migrations_started": {
|
|
6121
|
+
"type": "integer"
|
|
6122
|
+
},
|
|
6123
|
+
"limit": {
|
|
6124
|
+
"type": "integer"
|
|
6125
|
+
}
|
|
6126
|
+
}
|
|
6127
|
+
}
|
|
6128
|
+
}
|
|
6129
|
+
}
|
|
6130
|
+
},
|
|
6131
|
+
"403": {
|
|
6132
|
+
"description": "Not a platform admin"
|
|
6133
|
+
}
|
|
6134
|
+
}
|
|
6135
|
+
}
|
|
6136
|
+
},
|
|
6018
6137
|
"/v1/admin/chains": {
|
|
6019
6138
|
"get": {
|
|
6020
6139
|
"tags": [
|
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.61.
|
|
5
|
+
version: "0.61.14"
|
|
6
6
|
description: |
|
|
7
7
|
Secure secret management for AI agents. Provides vaults, secrets,
|
|
8
8
|
policy-based access control, agent identity, Intents API,
|
|
@@ -914,6 +914,43 @@ paths:
|
|
|
914
914
|
"403":
|
|
915
915
|
$ref: "#/components/responses/Forbidden"
|
|
916
916
|
|
|
917
|
+
/v1/auth/feature-quota/consume:
|
|
918
|
+
post:
|
|
919
|
+
tags: [Authentication]
|
|
920
|
+
summary: Count one call against a per-user feature quota
|
|
921
|
+
description: |
|
|
922
|
+
Atomic fixed-window counter for metered dashboard features (currently
|
|
923
|
+
`voice_brief`, 30 calls per hour). The limit and window are defined
|
|
924
|
+
server-side; the caller only names the feature. Users only.
|
|
925
|
+
operationId: consumeFeatureQuota
|
|
926
|
+
requestBody:
|
|
927
|
+
required: true
|
|
928
|
+
content:
|
|
929
|
+
application/json:
|
|
930
|
+
schema:
|
|
931
|
+
type: object
|
|
932
|
+
required: [feature]
|
|
933
|
+
properties:
|
|
934
|
+
feature:
|
|
935
|
+
type: string
|
|
936
|
+
enum: [voice_brief]
|
|
937
|
+
responses:
|
|
938
|
+
"200":
|
|
939
|
+
description: Whether this call is within the window's limit
|
|
940
|
+
content:
|
|
941
|
+
application/json:
|
|
942
|
+
schema:
|
|
943
|
+
type: object
|
|
944
|
+
required: [allowed, limit, remaining, reset_at]
|
|
945
|
+
properties:
|
|
946
|
+
allowed: { type: boolean }
|
|
947
|
+
limit: { type: integer }
|
|
948
|
+
remaining: { type: integer }
|
|
949
|
+
reset_at: { type: string, format: date-time }
|
|
950
|
+
"400":
|
|
951
|
+
$ref: "#/components/responses/BadRequest"
|
|
952
|
+
"403":
|
|
953
|
+
$ref: "#/components/responses/Forbidden"
|
|
917
954
|
/v1/auth/me:
|
|
918
955
|
get:
|
|
919
956
|
tags: [Authentication]
|
|
@@ -3907,6 +3944,36 @@ paths:
|
|
|
3907
3944
|
'400': { description: Unknown tier }
|
|
3908
3945
|
'403': { description: Not a platform admin }
|
|
3909
3946
|
'404': { description: Agent not found }
|
|
3947
|
+
/v1/admin/kms/relevel:
|
|
3948
|
+
post:
|
|
3949
|
+
tags: [Admin]
|
|
3950
|
+
summary: Move orgs onto the KEK protection level their tier and payment call for
|
|
3951
|
+
description: >-
|
|
3952
|
+
Platform admins only. Examines up to `limit` orgs whose stored KEK
|
|
3953
|
+
level disagrees with the target (Pro earns HSM only with an active
|
|
3954
|
+
subscription; Team, Business and Enterprise keep HSM; the platform
|
|
3955
|
+
org is always software) and starts a migration for each: a new key
|
|
3956
|
+
at the right level, every secret and every org-scoped row re-wrapped,
|
|
3957
|
+
the old key released from the keep set 30 days after completion.
|
|
3958
|
+
The nightly consolidation job runs the same pass, 25 orgs at a time.
|
|
3959
|
+
operationId: adminKmsRelevel
|
|
3960
|
+
parameters:
|
|
3961
|
+
- name: limit
|
|
3962
|
+
in: query
|
|
3963
|
+
required: false
|
|
3964
|
+
schema: { type: integer, minimum: 1, maximum: 500, default: 25 }
|
|
3965
|
+
responses:
|
|
3966
|
+
'200':
|
|
3967
|
+
description: Orgs examined and migrations started
|
|
3968
|
+
content:
|
|
3969
|
+
application/json:
|
|
3970
|
+
schema:
|
|
3971
|
+
type: object
|
|
3972
|
+
properties:
|
|
3973
|
+
examined: { type: integer }
|
|
3974
|
+
migrations_started: { type: integer }
|
|
3975
|
+
limit: { type: integer }
|
|
3976
|
+
'403': { description: Not a platform admin }
|
|
3910
3977
|
/v1/admin/chains:
|
|
3911
3978
|
get:
|
|
3912
3979
|
tags: [Chains]
|