@1claw/openapi-spec 0.61.55 → 0.61.57

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 +139 -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.55",
5
+ "version": "0.61.57",
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",
@@ -37764,6 +37907,10 @@
37764
37907
  "type": "boolean",
37765
37908
  "description": "Agent memory, off by default. Until this field existed a\nplatform app had no way to turn it on: a bootstrap template\naccepted `memory_enabled` in its spec and never read it, so\nthe capability was reachable only from the end user's own\ndashboard. Templates now honour the flag too.\n"
37766
37909
  },
37910
+ "raw_signing_enabled": {
37911
+ "type": "boolean",
37912
+ "description": "Raw/blind digest signing (`sign_digest`, `eip712_digest`),\noff by default. The same gap as `memory_enabled` above, one\ncapability later: a template accepted `raw_signing_enabled`\nand never read it, and this route had no field for it, so a\nplatform app that provisioned an agent for raw signing had\nno way to switch it on. Reported from production.\n\nThis route is the only one that reaches an already\nbootstrapped agent — it lives in the end user's own org, so\nthe platform app's own `PATCH /v1/agents/{agent_id}` returns\n403, and the fleet bulk-patch refuses capability flags by\ndesign. Enabling it is audited as\n`platform.connection.agent_patch` with\n`raw_signing_changed`.\n"
37913
+ },
37767
37914
  "system_prompt": {
37768
37915
  "type": [
37769
37916
  "string",
@@ -37788,6 +37935,9 @@
37788
37935
  "memory_enabled": {
37789
37936
  "type": "boolean"
37790
37937
  },
37938
+ "raw_signing_enabled": {
37939
+ "type": "boolean"
37940
+ },
37791
37941
  "system_prompt": {
37792
37942
  "type": [
37793
37943
  "string",
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.55"
5
+ version: "0.61.57"
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: |
@@ -24370,6 +24489,23 @@ components:
24370
24489
  accepted `memory_enabled` in its spec and never read it, so
24371
24490
  the capability was reachable only from the end user's own
24372
24491
  dashboard. Templates now honour the flag too.
24492
+ raw_signing_enabled:
24493
+ type: boolean
24494
+ description: |
24495
+ Raw/blind digest signing (`sign_digest`, `eip712_digest`),
24496
+ off by default. The same gap as `memory_enabled` above, one
24497
+ capability later: a template accepted `raw_signing_enabled`
24498
+ and never read it, and this route had no field for it, so a
24499
+ platform app that provisioned an agent for raw signing had
24500
+ no way to switch it on. Reported from production.
24501
+
24502
+ This route is the only one that reaches an already
24503
+ bootstrapped agent — it lives in the end user's own org, so
24504
+ the platform app's own `PATCH /v1/agents/{agent_id}` returns
24505
+ 403, and the fleet bulk-patch refuses capability flags by
24506
+ design. Enabling it is audited as
24507
+ `platform.connection.agent_patch` with
24508
+ `raw_signing_changed`.
24373
24509
  system_prompt:
24374
24510
  type: [string, "null"]
24375
24511
 
@@ -24385,6 +24521,8 @@ components:
24385
24521
  type: boolean
24386
24522
  memory_enabled:
24387
24523
  type: boolean
24524
+ raw_signing_enabled:
24525
+ type: boolean
24388
24526
  system_prompt:
24389
24527
  type: [string, "null"]
24390
24528
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@1claw/openapi-spec",
3
- "version": "0.61.55",
3
+ "version": "0.61.57",
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": {