@1claw/openapi-spec 0.61.56 → 0.61.58

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 +151 -1
  2. package/openapi.yaml +127 -1
  3. 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.56",
5
+ "version": "0.61.58",
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"
@@ -15875,6 +15875,63 @@
15875
15875
  }
15876
15876
  }
15877
15877
  },
15878
+ "/v1/platform/connections/{connectionId}/agents": {
15879
+ "post": {
15880
+ "tags": [
15881
+ "Platform"
15882
+ ],
15883
+ "summary": "Add agents to a bootstrapped connection",
15884
+ "description": "Provision additional agents on a connection that has already been\nbootstrapped, from a template belonging to the same app. `plt_` auth only.\n\nBootstrap refuses a second run (409) because it also creates the vault,\nthe policies and the plan tier, none of which should happen twice. This\nroute applies only the agent portion of a template: its `agents`, their\nper-agent `signing_keys`, `eoa` and `runtime`. `vault`, `policies`,\n`automations` and `entitlements` in the spec are ignored, and new agents\nattach to the vault the connection already has.\n\nConfiguration comes from a template rather than from fields on the\nrequest so that the agent portion of a spec has exactly one reader,\nshared with bootstrap.\n\nCapped per connection by `max_agents_per_connection` on the platform app\n(unset means a built-in default, not unlimited: an agent with signing\nkeys costs a KMS key per chain). The whole batch is checked before\nanything is created, so a template that would overshoot is refused\nrather than partly applied.\n",
15885
+ "operationId": "addConnectionAgents",
15886
+ "security": [
15887
+ {
15888
+ "BearerAuth": []
15889
+ }
15890
+ ],
15891
+ "parameters": [
15892
+ {
15893
+ "in": "path",
15894
+ "name": "connectionId",
15895
+ "required": true,
15896
+ "schema": {
15897
+ "type": "string",
15898
+ "format": "uuid"
15899
+ }
15900
+ }
15901
+ ],
15902
+ "requestBody": {
15903
+ "required": true,
15904
+ "content": {
15905
+ "application/json": {
15906
+ "schema": {
15907
+ "$ref": "#/components/schemas/AddConnectionAgentsRequest"
15908
+ }
15909
+ }
15910
+ }
15911
+ },
15912
+ "responses": {
15913
+ "201": {
15914
+ "description": "Agents provisioned",
15915
+ "content": {
15916
+ "application/json": {
15917
+ "schema": {
15918
+ "$ref": "#/components/schemas/AddConnectionAgentsResponse"
15919
+ }
15920
+ }
15921
+ }
15922
+ },
15923
+ "400": {
15924
+ "description": "Connection not bootstrapped yet, or the template provisions no agents"
15925
+ },
15926
+ "403": {
15927
+ "description": "Past the per-connection agent cap"
15928
+ },
15929
+ "404": {
15930
+ "$ref": "#/components/responses/NotFound"
15931
+ }
15932
+ }
15933
+ }
15934
+ },
15878
15935
  "/v1/platform/connections/{connectionId}/agents/{agentId}": {
15879
15936
  "patch": {
15880
15937
  "tags": [
@@ -37750,6 +37807,92 @@
37750
37807
  }
37751
37808
  }
37752
37809
  },
37810
+ "AddConnectionAgentsRequest": {
37811
+ "type": "object",
37812
+ "required": [
37813
+ "template_id"
37814
+ ],
37815
+ "properties": {
37816
+ "template_id": {
37817
+ "type": "string",
37818
+ "format": "uuid",
37819
+ "description": "A template belonging to the same platform app. Only its `agents`\nand their per-agent `signing_keys`, `eoa` and `runtime` are\napplied.\n"
37820
+ },
37821
+ "params": {
37822
+ "type": "object",
37823
+ "additionalProperties": true,
37824
+ "description": "Substituted into the spec as `{{params.*}}`, same as at bootstrap.\nUse it to name the agent after the account it signs for.\n"
37825
+ }
37826
+ }
37827
+ },
37828
+ "AddConnectionAgentsResponse": {
37829
+ "type": "object",
37830
+ "properties": {
37831
+ "connection_id": {
37832
+ "type": "string",
37833
+ "format": "uuid"
37834
+ },
37835
+ "agent_ids": {
37836
+ "type": "array",
37837
+ "items": {
37838
+ "type": "string",
37839
+ "format": "uuid"
37840
+ }
37841
+ },
37842
+ "agent_api_key": {
37843
+ "type": "string",
37844
+ "description": "Returned once, at creation, and never retrievable again."
37845
+ },
37846
+ "agent_evm_address": {
37847
+ "type": "string"
37848
+ },
37849
+ "signing_keys": {
37850
+ "type": "array",
37851
+ "description": "Provisioned signing key details, same shape as the bootstrap summary.",
37852
+ "items": {
37853
+ "type": "object",
37854
+ "properties": {
37855
+ "chain": {
37856
+ "type": "string"
37857
+ },
37858
+ "curve": {
37859
+ "type": "string"
37860
+ },
37861
+ "public_key": {
37862
+ "type": "string"
37863
+ },
37864
+ "address": {
37865
+ "type": "string"
37866
+ },
37867
+ "agent_id": {
37868
+ "type": [
37869
+ "string",
37870
+ "null"
37871
+ ],
37872
+ "format": "uuid"
37873
+ }
37874
+ }
37875
+ }
37876
+ },
37877
+ "runtime_ids": {
37878
+ "type": "array",
37879
+ "items": {
37880
+ "type": "string",
37881
+ "format": "uuid"
37882
+ }
37883
+ },
37884
+ "agent_count": {
37885
+ "type": "integer",
37886
+ "format": "int64",
37887
+ "description": "Agents on this connection after the call."
37888
+ },
37889
+ "max_agents_per_connection": {
37890
+ "type": "integer",
37891
+ "format": "int64",
37892
+ "description": "The ceiling the call was checked against."
37893
+ }
37894
+ }
37895
+ },
37753
37896
  "PatchConnectionAgentRequest": {
37754
37897
  "type": "object",
37755
37898
  "description": "At least one field is required.\n",
@@ -41241,6 +41384,13 @@
41241
41384
  "null"
41242
41385
  ]
41243
41386
  },
41387
+ "max_agents_per_connection": {
41388
+ "type": [
41389
+ "integer",
41390
+ "null"
41391
+ ],
41392
+ "description": "Agents one connection may hold, enforced by\n`POST /v1/platform/connections/{connectionId}/agents`. `null`\nclears the override back to the built-in default; it does not\nmean unlimited.\n"
41393
+ },
41244
41394
  "is_active": {
41245
41395
  "type": "boolean"
41246
41396
  },
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.56"
5
+ version: "0.61.58"
6
6
  description: |
7
7
  Secure secret management for AI agents. Provides vaults, secrets,
8
8
  policy-based access control, agent identity, Intents API,
@@ -10093,6 +10093,60 @@ paths:
10093
10093
  "404":
10094
10094
  $ref: "#/components/responses/NotFound"
10095
10095
 
10096
+ /v1/platform/connections/{connectionId}/agents:
10097
+ post:
10098
+ tags: [Platform]
10099
+ summary: Add agents to a bootstrapped connection
10100
+ description: |
10101
+ Provision additional agents on a connection that has already been
10102
+ bootstrapped, from a template belonging to the same app. `plt_` auth only.
10103
+
10104
+ Bootstrap refuses a second run (409) because it also creates the vault,
10105
+ the policies and the plan tier, none of which should happen twice. This
10106
+ route applies only the agent portion of a template: its `agents`, their
10107
+ per-agent `signing_keys`, `eoa` and `runtime`. `vault`, `policies`,
10108
+ `automations` and `entitlements` in the spec are ignored, and new agents
10109
+ attach to the vault the connection already has.
10110
+
10111
+ Configuration comes from a template rather than from fields on the
10112
+ request so that the agent portion of a spec has exactly one reader,
10113
+ shared with bootstrap.
10114
+
10115
+ Capped per connection by `max_agents_per_connection` on the platform app
10116
+ (unset means a built-in default, not unlimited: an agent with signing
10117
+ keys costs a KMS key per chain). The whole batch is checked before
10118
+ anything is created, so a template that would overshoot is refused
10119
+ rather than partly applied.
10120
+ operationId: addConnectionAgents
10121
+ security:
10122
+ - BearerAuth: []
10123
+ parameters:
10124
+ - in: path
10125
+ name: connectionId
10126
+ required: true
10127
+ schema:
10128
+ type: string
10129
+ format: uuid
10130
+ requestBody:
10131
+ required: true
10132
+ content:
10133
+ application/json:
10134
+ schema:
10135
+ $ref: "#/components/schemas/AddConnectionAgentsRequest"
10136
+ responses:
10137
+ "201":
10138
+ description: Agents provisioned
10139
+ content:
10140
+ application/json:
10141
+ schema:
10142
+ $ref: "#/components/schemas/AddConnectionAgentsResponse"
10143
+ "400":
10144
+ description: Connection not bootstrapped yet, or the template provisions no agents
10145
+ "403":
10146
+ description: Past the per-connection agent cap
10147
+ "404":
10148
+ $ref: "#/components/responses/NotFound"
10149
+
10096
10150
  /v1/platform/connections/{connectionId}/agents/{agentId}:
10097
10151
  patch:
10098
10152
  tags: [Platform]
@@ -24353,6 +24407,71 @@ components:
24353
24407
  curve:
24354
24408
  type: string
24355
24409
 
24410
+ AddConnectionAgentsRequest:
24411
+ type: object
24412
+ required: [template_id]
24413
+ properties:
24414
+ template_id:
24415
+ type: string
24416
+ format: uuid
24417
+ description: |
24418
+ A template belonging to the same platform app. Only its `agents`
24419
+ and their per-agent `signing_keys`, `eoa` and `runtime` are
24420
+ applied.
24421
+ params:
24422
+ type: object
24423
+ additionalProperties: true
24424
+ description: |
24425
+ Substituted into the spec as `{{params.*}}`, same as at bootstrap.
24426
+ Use it to name the agent after the account it signs for.
24427
+
24428
+ AddConnectionAgentsResponse:
24429
+ type: object
24430
+ properties:
24431
+ connection_id:
24432
+ type: string
24433
+ format: uuid
24434
+ agent_ids:
24435
+ type: array
24436
+ items:
24437
+ type: string
24438
+ format: uuid
24439
+ agent_api_key:
24440
+ type: string
24441
+ description: Returned once, at creation, and never retrievable again.
24442
+ agent_evm_address:
24443
+ type: string
24444
+ signing_keys:
24445
+ type: array
24446
+ description: Provisioned signing key details, same shape as the bootstrap summary.
24447
+ items:
24448
+ type: object
24449
+ properties:
24450
+ chain:
24451
+ type: string
24452
+ curve:
24453
+ type: string
24454
+ public_key:
24455
+ type: string
24456
+ address:
24457
+ type: string
24458
+ agent_id:
24459
+ type: [string, "null"]
24460
+ format: uuid
24461
+ runtime_ids:
24462
+ type: array
24463
+ items:
24464
+ type: string
24465
+ format: uuid
24466
+ agent_count:
24467
+ type: integer
24468
+ format: int64
24469
+ description: Agents on this connection after the call.
24470
+ max_agents_per_connection:
24471
+ type: integer
24472
+ format: int64
24473
+ description: The ceiling the call was checked against.
24474
+
24356
24475
  PatchConnectionAgentRequest:
24357
24476
  type: object
24358
24477
  description: |
@@ -26742,6 +26861,13 @@ components:
26742
26861
  enum: [silent, user_signin, configurable]
26743
26862
  max_connected_users:
26744
26863
  type: [integer, "null"]
26864
+ max_agents_per_connection:
26865
+ type: [integer, "null"]
26866
+ description: |
26867
+ Agents one connection may hold, enforced by
26868
+ `POST /v1/platform/connections/{connectionId}/agents`. `null`
26869
+ clears the override back to the built-in default; it does not
26870
+ mean unlimited.
26745
26871
  is_active:
26746
26872
  type: boolean
26747
26873
  api_key_expires_at:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@1claw/openapi-spec",
3
- "version": "0.61.56",
3
+ "version": "0.61.58",
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": {