@1claw/openapi-spec 0.25.0 → 0.27.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.
Files changed (3) hide show
  1. package/openapi.json +189 -1
  2. package/openapi.yaml +128 -1
  3. package/package.json +38 -38
package/openapi.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "openapi": "3.1.0",
3
3
  "info": {
4
4
  "title": "1Claw API",
5
- "version": "2.14.0",
5
+ "version": "2.15.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.\n\nAll endpoints require JWT Bearer authentication unless marked with\n`security: []`.\n",
7
7
  "contact": {
8
8
  "email": "ops@1claw.xyz"
@@ -6165,6 +6165,77 @@
6165
6165
  }
6166
6166
  }
6167
6167
  },
6168
+ "/v1/platform/apps/{appId}/rotate-key": {
6169
+ "post": {
6170
+ "tags": [
6171
+ "Platform"
6172
+ ],
6173
+ "summary": "Rotate platform API key",
6174
+ "description": "Generate a new API key for the platform app. The old key is immediately invalidated. Returns the new key (one-time).",
6175
+ "security": [
6176
+ {
6177
+ "BearerAuth": []
6178
+ }
6179
+ ],
6180
+ "parameters": [
6181
+ {
6182
+ "name": "appId",
6183
+ "in": "path",
6184
+ "required": true,
6185
+ "schema": {
6186
+ "type": "string",
6187
+ "format": "uuid"
6188
+ }
6189
+ }
6190
+ ],
6191
+ "requestBody": {
6192
+ "content": {
6193
+ "application/json": {
6194
+ "schema": {
6195
+ "type": "object",
6196
+ "properties": {
6197
+ "api_key_expires_at": {
6198
+ "type": "string",
6199
+ "format": "date-time",
6200
+ "nullable": true,
6201
+ "description": "Optional expiration for the new key."
6202
+ }
6203
+ }
6204
+ }
6205
+ }
6206
+ }
6207
+ },
6208
+ "responses": {
6209
+ "200": {
6210
+ "description": "New key generated",
6211
+ "content": {
6212
+ "application/json": {
6213
+ "schema": {
6214
+ "type": "object",
6215
+ "properties": {
6216
+ "api_key": {
6217
+ "type": "string",
6218
+ "description": "The new API key (shown once)"
6219
+ },
6220
+ "api_key_prefix": {
6221
+ "type": "string"
6222
+ },
6223
+ "api_key_expires_at": {
6224
+ "type": "string",
6225
+ "format": "date-time",
6226
+ "nullable": true
6227
+ }
6228
+ }
6229
+ }
6230
+ }
6231
+ }
6232
+ },
6233
+ "403": {
6234
+ "description": "Only human users can rotate platform keys"
6235
+ }
6236
+ }
6237
+ }
6238
+ },
6168
6239
  "/v1/platform/apps/{appId}/templates": {
6169
6240
  "post": {
6170
6241
  "tags": [
@@ -6382,6 +6453,81 @@
6382
6453
  }
6383
6454
  }
6384
6455
  },
6456
+ "/v1/platform/connections/{connectionId}/reissue-claim": {
6457
+ "post": {
6458
+ "tags": [
6459
+ "Platform"
6460
+ ],
6461
+ "summary": "Reissue a claim URL",
6462
+ "description": "Mints a fresh 10-minute claim token for an already-bootstrapped connection without re-provisioning resources. Use when the original claim URL has expired.",
6463
+ "security": [
6464
+ {
6465
+ "BearerAuth": []
6466
+ }
6467
+ ],
6468
+ "parameters": [
6469
+ {
6470
+ "in": "path",
6471
+ "name": "connectionId",
6472
+ "required": true,
6473
+ "schema": {
6474
+ "type": "string",
6475
+ "format": "uuid"
6476
+ }
6477
+ }
6478
+ ],
6479
+ "requestBody": {
6480
+ "required": false,
6481
+ "content": {
6482
+ "application/json": {
6483
+ "schema": {
6484
+ "type": "object",
6485
+ "properties": {
6486
+ "return_to": {
6487
+ "type": "string",
6488
+ "description": "Optional redirect URL after claim"
6489
+ }
6490
+ }
6491
+ }
6492
+ }
6493
+ }
6494
+ },
6495
+ "responses": {
6496
+ "200": {
6497
+ "description": "New claim URL issued",
6498
+ "content": {
6499
+ "application/json": {
6500
+ "schema": {
6501
+ "type": "object",
6502
+ "properties": {
6503
+ "claim_url": {
6504
+ "type": "string"
6505
+ },
6506
+ "claim_token": {
6507
+ "type": "string"
6508
+ },
6509
+ "expires_in": {
6510
+ "type": "integer",
6511
+ "description": "Seconds until expiry (600 = 10 min)"
6512
+ },
6513
+ "connection_id": {
6514
+ "type": "string",
6515
+ "format": "uuid"
6516
+ }
6517
+ }
6518
+ }
6519
+ }
6520
+ }
6521
+ },
6522
+ "400": {
6523
+ "description": "Connection not yet bootstrapped"
6524
+ },
6525
+ "404": {
6526
+ "description": "Connection not found"
6527
+ }
6528
+ }
6529
+ }
6530
+ },
6385
6531
  "/v1/platform/apps/{appId}/audit": {
6386
6532
  "get": {
6387
6533
  "tags": [
@@ -8132,6 +8278,12 @@
8132
8278
  },
8133
8279
  "shroud_config": {
8134
8280
  "$ref": "#/components/schemas/ShroudConfig"
8281
+ },
8282
+ "api_key_expires_at": {
8283
+ "type": "string",
8284
+ "format": "date-time",
8285
+ "nullable": true,
8286
+ "description": "Optional expiration time for the agent's API key."
8135
8287
  }
8136
8288
  }
8137
8289
  },
@@ -8211,6 +8363,12 @@
8211
8363
  "maximum": 3600,
8212
8364
  "nullable": true,
8213
8365
  "description": "Per-agent TTL override for federation tokens (seconds). NULL falls\nback to the global default (`ONECLAW_JWT_FEDERATED_TOKEN_EXPIRY_SECS`).\nHard-capped at 3600 seconds.\n"
8366
+ },
8367
+ "api_key_expires_at": {
8368
+ "type": "string",
8369
+ "format": "date-time",
8370
+ "nullable": true,
8371
+ "description": "Optional expiration time for the agent's API key. Set to null to clear."
8214
8372
  }
8215
8373
  }
8216
8374
  },
@@ -8359,6 +8517,12 @@
8359
8517
  "type": "boolean",
8360
8518
  "description": "Whether EIP-191 personal_sign is enabled."
8361
8519
  },
8520
+ "api_key_expires_at": {
8521
+ "type": "string",
8522
+ "format": "date-time",
8523
+ "nullable": true,
8524
+ "description": "Optional expiration time for the agent's API key."
8525
+ },
8362
8526
  "created_at": {
8363
8527
  "type": "string",
8364
8528
  "format": "date-time"
@@ -11311,6 +11475,12 @@
11311
11475
  "max_connected_users": {
11312
11476
  "type": "integer",
11313
11477
  "nullable": true
11478
+ },
11479
+ "api_key_expires_at": {
11480
+ "type": "string",
11481
+ "format": "date-time",
11482
+ "nullable": true,
11483
+ "description": "Optional expiration time for the platform API key."
11314
11484
  }
11315
11485
  }
11316
11486
  },
@@ -11367,6 +11537,12 @@
11367
11537
  },
11368
11538
  "is_active": {
11369
11539
  "type": "boolean"
11540
+ },
11541
+ "api_key_expires_at": {
11542
+ "type": "string",
11543
+ "format": "date-time",
11544
+ "nullable": true,
11545
+ "description": "Optional expiration time for the platform API key. Set to null to clear."
11370
11546
  }
11371
11547
  }
11372
11548
  },
@@ -11432,6 +11608,18 @@
11432
11608
  "connected_users": {
11433
11609
  "type": "integer"
11434
11610
  },
11611
+ "api_key_expires_at": {
11612
+ "type": "string",
11613
+ "format": "date-time",
11614
+ "nullable": true,
11615
+ "description": "When the platform API key expires."
11616
+ },
11617
+ "api_key_rotated_at": {
11618
+ "type": "string",
11619
+ "format": "date-time",
11620
+ "nullable": true,
11621
+ "description": "When the platform API key was last rotated."
11622
+ },
11435
11623
  "created_at": {
11436
11624
  "type": "string",
11437
11625
  "format": "date-time"
package/openapi.yaml CHANGED
@@ -2,7 +2,7 @@ openapi: 3.1.0
2
2
 
3
3
  info:
4
4
  title: 1Claw API
5
- version: 2.14.0
5
+ version: 2.15.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,
@@ -4006,6 +4006,51 @@ paths:
4006
4006
  "403":
4007
4007
  description: Only human users can delete platform apps
4008
4008
 
4009
+ /v1/platform/apps/{appId}/rotate-key:
4010
+ post:
4011
+ tags: [Platform]
4012
+ summary: Rotate platform API key
4013
+ description: Generate a new API key for the platform app. The old key is immediately invalidated. Returns the new key (one-time).
4014
+ security:
4015
+ - BearerAuth: []
4016
+ parameters:
4017
+ - name: appId
4018
+ in: path
4019
+ required: true
4020
+ schema:
4021
+ type: string
4022
+ format: uuid
4023
+ requestBody:
4024
+ content:
4025
+ application/json:
4026
+ schema:
4027
+ type: object
4028
+ properties:
4029
+ api_key_expires_at:
4030
+ type: string
4031
+ format: date-time
4032
+ nullable: true
4033
+ description: Optional expiration for the new key.
4034
+ responses:
4035
+ "200":
4036
+ description: New key generated
4037
+ content:
4038
+ application/json:
4039
+ schema:
4040
+ type: object
4041
+ properties:
4042
+ api_key:
4043
+ type: string
4044
+ description: The new API key (shown once)
4045
+ api_key_prefix:
4046
+ type: string
4047
+ api_key_expires_at:
4048
+ type: string
4049
+ format: date-time
4050
+ nullable: true
4051
+ "403":
4052
+ description: Only human users can rotate platform keys
4053
+
4009
4054
  /v1/platform/apps/{appId}/templates:
4010
4055
  post:
4011
4056
  tags: [Platform]
@@ -4134,6 +4179,53 @@ paths:
4134
4179
  schema:
4135
4180
  $ref: "#/components/schemas/BootstrapResponse"
4136
4181
 
4182
+ /v1/platform/connections/{connectionId}/reissue-claim:
4183
+ post:
4184
+ tags: [Platform]
4185
+ summary: Reissue a claim URL
4186
+ description: Mints a fresh 10-minute claim token for an already-bootstrapped connection without re-provisioning resources. Use when the original claim URL has expired.
4187
+ security:
4188
+ - BearerAuth: []
4189
+ parameters:
4190
+ - in: path
4191
+ name: connectionId
4192
+ required: true
4193
+ schema:
4194
+ type: string
4195
+ format: uuid
4196
+ requestBody:
4197
+ required: false
4198
+ content:
4199
+ application/json:
4200
+ schema:
4201
+ type: object
4202
+ properties:
4203
+ return_to:
4204
+ type: string
4205
+ description: Optional redirect URL after claim
4206
+ responses:
4207
+ "200":
4208
+ description: New claim URL issued
4209
+ content:
4210
+ application/json:
4211
+ schema:
4212
+ type: object
4213
+ properties:
4214
+ claim_url:
4215
+ type: string
4216
+ claim_token:
4217
+ type: string
4218
+ expires_in:
4219
+ type: integer
4220
+ description: Seconds until expiry (600 = 10 min)
4221
+ connection_id:
4222
+ type: string
4223
+ format: uuid
4224
+ "400":
4225
+ description: Connection not yet bootstrapped
4226
+ "404":
4227
+ description: Connection not found
4228
+
4137
4229
  /v1/platform/apps/{appId}/audit:
4138
4230
  get:
4139
4231
  tags: [Platform]
@@ -5346,6 +5438,11 @@ components:
5346
5438
  description: Enable Shroud LLM Proxy for this agent
5347
5439
  shroud_config:
5348
5440
  $ref: "#/components/schemas/ShroudConfig"
5441
+ api_key_expires_at:
5442
+ type: string
5443
+ format: date-time
5444
+ nullable: true
5445
+ description: Optional expiration time for the agent's API key.
5349
5446
 
5350
5447
  UpdateAgentRequest:
5351
5448
  type: object
@@ -5412,6 +5509,11 @@ components:
5412
5509
  Per-agent TTL override for federation tokens (seconds). NULL falls
5413
5510
  back to the global default (`ONECLAW_JWT_FEDERATED_TOKEN_EXPIRY_SECS`).
5414
5511
  Hard-capped at 3600 seconds.
5512
+ api_key_expires_at:
5513
+ type: string
5514
+ format: date-time
5515
+ nullable: true
5516
+ description: Optional expiration time for the agent's API key. Set to null to clear.
5415
5517
 
5416
5518
  AgentResponse:
5417
5519
  type: object
@@ -5519,6 +5621,11 @@ components:
5519
5621
  message_signing_enabled:
5520
5622
  type: boolean
5521
5623
  description: Whether EIP-191 personal_sign is enabled.
5624
+ api_key_expires_at:
5625
+ type: string
5626
+ format: date-time
5627
+ nullable: true
5628
+ description: Optional expiration time for the agent's API key.
5522
5629
  created_at:
5523
5630
  type: string
5524
5631
  format: date-time
@@ -7560,6 +7667,11 @@ components:
7560
7667
  max_connected_users:
7561
7668
  type: integer
7562
7669
  nullable: true
7670
+ api_key_expires_at:
7671
+ type: string
7672
+ format: date-time
7673
+ nullable: true
7674
+ description: Optional expiration time for the platform API key.
7563
7675
 
7564
7676
  UpdatePlatformAppRequest:
7565
7677
  type: object
@@ -7594,6 +7706,11 @@ components:
7594
7706
  nullable: true
7595
7707
  is_active:
7596
7708
  type: boolean
7709
+ api_key_expires_at:
7710
+ type: string
7711
+ format: date-time
7712
+ nullable: true
7713
+ description: Optional expiration time for the platform API key. Set to null to clear.
7597
7714
 
7598
7715
  PlatformAppResponse:
7599
7716
  type: object
@@ -7640,6 +7757,16 @@ components:
7640
7757
  nullable: true
7641
7758
  connected_users:
7642
7759
  type: integer
7760
+ api_key_expires_at:
7761
+ type: string
7762
+ format: date-time
7763
+ nullable: true
7764
+ description: When the platform API key expires.
7765
+ api_key_rotated_at:
7766
+ type: string
7767
+ format: date-time
7768
+ nullable: true
7769
+ description: When the platform API key was last rotated.
7643
7770
  created_at:
7644
7771
  type: string
7645
7772
  format: date-time
package/package.json CHANGED
@@ -1,40 +1,40 @@
1
1
  {
2
- "name": "@1claw/openapi-spec",
3
- "version": "0.25.0",
4
- "description": "OpenAPI 3.1.0 specification for the 1Claw Vault API generate clients in any language",
5
- "license": "MIT",
6
- "repository": {
7
- "type": "git",
8
- "url": "https://github.com/1clawAI/1claw.git",
9
- "directory": "packages/openapi-spec"
10
- },
11
- "files": [
12
- "openapi.yaml",
13
- "openapi.json",
14
- "README.md"
15
- ],
16
- "exports": {
17
- "./openapi.yaml": "./openapi.yaml",
18
- "./openapi.json": "./openapi.json"
19
- },
20
- "scripts": {
21
- "build": "node scripts/yaml-to-json.mjs",
22
- "prepublishOnly": "npm run build"
23
- },
24
- "publishConfig": {
25
- "access": "public"
26
- },
27
- "keywords": [
28
- "1claw",
29
- "openapi",
30
- "api-spec",
31
- "codegen",
32
- "swagger",
33
- "secrets",
34
- "vault",
35
- "ai-agents"
36
- ],
37
- "devDependencies": {
38
- "js-yaml": "^4.1.1"
39
- }
2
+ "name": "@1claw/openapi-spec",
3
+ "version": "0.27.0",
4
+ "description": "OpenAPI 3.1.0 specification for the 1Claw Vault API \u2014 generate clients in any language",
5
+ "license": "MIT",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "https://github.com/1clawAI/1claw.git",
9
+ "directory": "packages/openapi-spec"
10
+ },
11
+ "files": [
12
+ "openapi.yaml",
13
+ "openapi.json",
14
+ "README.md"
15
+ ],
16
+ "exports": {
17
+ "./openapi.yaml": "./openapi.yaml",
18
+ "./openapi.json": "./openapi.json"
19
+ },
20
+ "scripts": {
21
+ "build": "node scripts/yaml-to-json.mjs",
22
+ "prepublishOnly": "npm run build"
23
+ },
24
+ "publishConfig": {
25
+ "access": "public"
26
+ },
27
+ "keywords": [
28
+ "1claw",
29
+ "openapi",
30
+ "api-spec",
31
+ "codegen",
32
+ "swagger",
33
+ "secrets",
34
+ "vault",
35
+ "ai-agents"
36
+ ],
37
+ "devDependencies": {
38
+ "js-yaml": "^4.1.1"
39
+ }
40
40
  }