@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 CHANGED
@@ -2,7 +2,7 @@
2
2
  "openapi": "3.1.0",
3
3
  "info": {
4
4
  "title": "1Claw API",
5
- "version": "0.61.12",
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.12"
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]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@1claw/openapi-spec",
3
- "version": "0.61.12",
3
+ "version": "0.61.14",
4
4
  "description": "OpenAPI 3.1.0 specification for the 1Claw Vault API \u2014 generate clients in any language",
5
5
  "license": "MIT",
6
6
  "repository": {