@1claw/openapi-spec 0.53.1 → 0.53.3

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 +155 -88
  2. package/openapi.yaml +111 -61
  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.53.1",
5
+ "version": "0.53.2",
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\nAll endpoints require JWT Bearer authentication unless marked with\n`security: []`.\n",
7
7
  "contact": {
8
8
  "email": "ops@1claw.xyz"
@@ -16045,13 +16045,13 @@
16045
16045
  }
16046
16046
  }
16047
16047
  },
16048
- "/v1/wallets/access-policies": {
16048
+ "/v1/treasury/wallets/access-policies": {
16049
16049
  "post": {
16050
16050
  "tags": [
16051
16051
  "Wallet Access"
16052
16052
  ],
16053
16053
  "summary": "Create a wallet access policy",
16054
- "description": "Create a role-based wallet access policy granting an agent or user\nspecific permissions (send, swap, receive) on a treasury wallet chain.\n",
16054
+ "description": "Create a role-based wallet access policy granting an agent, user, role,\nor platform app specific permissions on treasury wallets within a scope\n(org-wide, platform app, or single wallet). Requires Pro+ tier.\n",
16055
16055
  "operationId": "createWalletAccessPolicy",
16056
16056
  "security": [
16057
16057
  {
@@ -16103,21 +16103,26 @@
16103
16103
  ],
16104
16104
  "parameters": [
16105
16105
  {
16106
- "name": "wallet_chain",
16106
+ "name": "scope_type",
16107
16107
  "in": "query",
16108
16108
  "schema": {
16109
- "type": "string"
16109
+ "type": "string",
16110
+ "enum": [
16111
+ "wallet",
16112
+ "platform_app",
16113
+ "org"
16114
+ ]
16110
16115
  },
16111
- "description": "Filter by chain (e.g. ethereum, solana)"
16116
+ "description": "Filter by scope type"
16112
16117
  },
16113
16118
  {
16114
- "name": "target_agent_id",
16119
+ "name": "scope_id",
16115
16120
  "in": "query",
16116
16121
  "schema": {
16117
16122
  "type": "string",
16118
16123
  "format": "uuid"
16119
16124
  },
16120
- "description": "Filter by target agent"
16125
+ "description": "Filter by scope ID (wallet or platform app UUID)"
16121
16126
  }
16122
16127
  ],
16123
16128
  "responses": {
@@ -16137,7 +16142,7 @@
16137
16142
  }
16138
16143
  }
16139
16144
  },
16140
- "/v1/wallets/access-policies/{id}": {
16145
+ "/v1/treasury/wallets/access-policies/{id}": {
16141
16146
  "delete": {
16142
16147
  "tags": [
16143
16148
  "Wallet Access"
@@ -21755,6 +21760,7 @@
21755
21760
  "type": "object",
21756
21761
  "required": [
21757
21762
  "attested",
21763
+ "attestation_level",
21758
21764
  "image_hash",
21759
21765
  "identity_token",
21760
21766
  "verification"
@@ -21762,7 +21768,17 @@
21762
21768
  "properties": {
21763
21769
  "attested": {
21764
21770
  "type": "boolean",
21765
- "description": "Whether TEE attestation was successfully fetched"
21771
+ "description": "Whether at least an identity token was obtained (true for identity,\nconfidential, or sev_snp levels). Backward-compatible boolean; prefer\nattestation_level for granularity.\n"
21772
+ },
21773
+ "attestation_level": {
21774
+ "type": "string",
21775
+ "enum": [
21776
+ "none",
21777
+ "identity",
21778
+ "confidential",
21779
+ "sev_snp"
21780
+ ],
21781
+ "description": "Granularity of TEE attestation achieved. `none` = dev/non-GCE;\n`identity` = GCE metadata JWT only; `confidential` = CC claims present;\n`sev_snp` = full SEV-SNP measurement verified against image digest.\n"
21766
21782
  },
21767
21783
  "image_hash": {
21768
21784
  "type": "string",
@@ -21772,6 +21788,11 @@
21772
21788
  "type": "string",
21773
21789
  "description": "GCE metadata identity JWT (verify against Google public keys)"
21774
21790
  },
21791
+ "confidential_claims": {
21792
+ "nullable": true,
21793
+ "description": "Confidential Computing claims extracted from the identity JWT",
21794
+ "$ref": "#/components/schemas/ConfidentialClaims"
21795
+ },
21775
21796
  "verification": {
21776
21797
  "type": "object",
21777
21798
  "properties": {
@@ -21792,6 +21813,28 @@
21792
21813
  }
21793
21814
  }
21794
21815
  },
21816
+ "ConfidentialClaims": {
21817
+ "type": "object",
21818
+ "nullable": true,
21819
+ "properties": {
21820
+ "secboot": {
21821
+ "type": "boolean",
21822
+ "description": "Whether secure boot was enabled"
21823
+ },
21824
+ "hwmodel": {
21825
+ "type": "string",
21826
+ "description": "Hardware model string (e.g. GCP_AMD_SEV)"
21827
+ },
21828
+ "instance_confidentiality": {
21829
+ "type": "string",
21830
+ "description": "Instance confidentiality level from google.compute_engine"
21831
+ },
21832
+ "sw_name": {
21833
+ "type": "string",
21834
+ "description": "Software name claim (swname or sw_name)"
21835
+ }
21836
+ }
21837
+ },
21795
21838
  "AuditEvent": {
21796
21839
  "type": "object",
21797
21840
  "properties": {
@@ -28744,59 +28787,78 @@
28744
28787
  "CreateWalletAccessPolicyRequest": {
28745
28788
  "type": "object",
28746
28789
  "required": [
28747
- "wallet_chain",
28748
- "permissions"
28790
+ "scope_type",
28791
+ "principal_type",
28792
+ "principal_id"
28749
28793
  ],
28750
28794
  "properties": {
28751
- "wallet_chain": {
28795
+ "scope_type": {
28752
28796
  "type": "string",
28753
- "description": "Chain for which the policy applies (e.g. ethereum, solana)"
28797
+ "enum": [
28798
+ "wallet",
28799
+ "platform_app",
28800
+ "org"
28801
+ ],
28802
+ "description": "Policy scope — org-wide, platform app, or single wallet"
28754
28803
  },
28755
- "target_agent_id": {
28804
+ "scope_id": {
28756
28805
  "type": "string",
28757
28806
  "format": "uuid",
28758
- "description": "Agent granted access (mutually exclusive with target_user_id)"
28807
+ "nullable": true,
28808
+ "description": "Wallet or platform app UUID when scope_type is not org"
28809
+ },
28810
+ "principal_type": {
28811
+ "type": "string",
28812
+ "enum": [
28813
+ "user",
28814
+ "agent",
28815
+ "role",
28816
+ "platform_app"
28817
+ ],
28818
+ "description": "Who receives the grant"
28759
28819
  },
28760
- "target_user_id": {
28820
+ "principal_id": {
28761
28821
  "type": "string",
28762
- "format": "uuid",
28763
- "description": "User granted access (mutually exclusive with target_agent_id)"
28822
+ "description": "User/agent UUID, role name, or platform app UUID"
28764
28823
  },
28765
- "permissions": {
28824
+ "can_sign": {
28825
+ "type": "boolean",
28826
+ "default": false
28827
+ },
28828
+ "can_view_balance": {
28829
+ "type": "boolean",
28830
+ "default": true
28831
+ },
28832
+ "can_export": {
28833
+ "type": "boolean",
28834
+ "default": false
28835
+ },
28836
+ "can_send": {
28837
+ "type": "boolean",
28838
+ "default": false
28839
+ },
28840
+ "can_swap": {
28841
+ "type": "boolean",
28842
+ "default": false
28843
+ },
28844
+ "allowed_chains": {
28766
28845
  "type": "array",
28767
28846
  "items": {
28768
- "type": "string",
28769
- "enum": [
28770
- "send",
28771
- "swap",
28772
- "receive"
28773
- ]
28774
- }
28847
+ "type": "string"
28848
+ },
28849
+ "description": "Chains this policy applies to (empty = all)"
28850
+ },
28851
+ "max_value_per_tx_eth": {
28852
+ "type": "string",
28853
+ "description": "Max value per transaction in ETH"
28854
+ },
28855
+ "daily_limit_eth": {
28856
+ "type": "string",
28857
+ "description": "Daily spend limit in ETH"
28775
28858
  },
28776
28859
  "conditions": {
28777
28860
  "type": "object",
28778
- "properties": {
28779
- "max_value_per_tx_eth": {
28780
- "type": "string",
28781
- "description": "Max value per transaction in ETH"
28782
- },
28783
- "daily_limit_eth": {
28784
- "type": "string",
28785
- "description": "Daily spend limit in ETH"
28786
- },
28787
- "allowed_chains": {
28788
- "type": "array",
28789
- "items": {
28790
- "type": "string"
28791
- }
28792
- },
28793
- "allowed_tokens": {
28794
- "type": "array",
28795
- "items": {
28796
- "type": "string"
28797
- }
28798
- }
28799
- }
28861
+ "description": "Additional JSON conditions (reserved for future enforcement)"
28800
28862
  },
28801
28863
  "expires_at": {
28802
28864
  "type": "string",
@@ -28815,66 +28877,71 @@
28815
28877
  "type": "string",
28816
28878
  "format": "uuid"
28817
28879
  },
28818
- "wallet_chain": {
28880
+ "scope_type": {
28819
28881
  "type": "string"
28820
28882
  },
28821
- "target_agent_id": {
28883
+ "scope_id": {
28822
28884
  "type": "string",
28823
28885
  "format": "uuid",
28824
28886
  "nullable": true
28825
28887
  },
28826
- "target_user_id": {
28827
- "type": "string",
28828
- "format": "uuid",
28829
- "nullable": true
28888
+ "principal_type": {
28889
+ "type": "string"
28830
28890
  },
28831
- "permissions": {
28891
+ "principal_id": {
28892
+ "type": "string"
28893
+ },
28894
+ "can_sign": {
28895
+ "type": "boolean"
28896
+ },
28897
+ "can_view_balance": {
28898
+ "type": "boolean"
28899
+ },
28900
+ "can_export": {
28901
+ "type": "boolean"
28902
+ },
28903
+ "can_send": {
28904
+ "type": "boolean"
28905
+ },
28906
+ "can_swap": {
28907
+ "type": "boolean"
28908
+ },
28909
+ "allowed_chains": {
28832
28910
  "type": "array",
28833
28911
  "items": {
28834
- "type": "string",
28835
- "enum": [
28836
- "send",
28837
- "swap",
28838
- "receive"
28839
- ]
28912
+ "type": "string"
28840
28913
  }
28841
28914
  },
28915
+ "max_value_per_tx_eth": {
28916
+ "type": "string",
28917
+ "nullable": true
28918
+ },
28919
+ "daily_limit_eth": {
28920
+ "type": "string",
28921
+ "nullable": true
28922
+ },
28842
28923
  "conditions": {
28843
- "type": "object",
28844
- "nullable": true,
28845
- "properties": {
28846
- "max_value_per_tx_eth": {
28847
- "type": "string",
28848
- "nullable": true
28849
- },
28850
- "daily_limit_eth": {
28851
- "type": "string",
28852
- "nullable": true
28853
- },
28854
- "allowed_chains": {
28855
- "type": "array",
28856
- "items": {
28857
- "type": "string"
28858
- },
28859
- "nullable": true
28860
- },
28861
- "allowed_tokens": {
28862
- "type": "array",
28863
- "items": {
28864
- "type": "string"
28865
- },
28866
- "nullable": true
28867
- }
28868
- }
28924
+ "type": "object"
28925
+ },
28926
+ "is_active": {
28927
+ "type": "boolean"
28869
28928
  },
28870
28929
  "expires_at": {
28871
28930
  "type": "string",
28872
28931
  "format": "date-time",
28873
28932
  "nullable": true
28874
28933
  },
28934
+ "created_by": {
28935
+ "type": "string",
28936
+ "format": "uuid"
28937
+ },
28875
28938
  "created_at": {
28876
28939
  "type": "string",
28877
28940
  "format": "date-time"
28941
+ },
28942
+ "updated_at": {
28943
+ "type": "string",
28944
+ "format": "date-time"
28878
28945
  }
28879
28946
  }
28880
28947
  },
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.53.1
5
+ version: 0.53.2
6
6
  description: |
7
7
  Secure secret management for AI agents. Provides vaults, secrets,
8
8
  policy-based access control, agent identity, Intents API,
@@ -10255,13 +10255,14 @@ paths:
10255
10255
  # Wallet Access Policies
10256
10256
  # ---------------------------------------------------------------------------
10257
10257
 
10258
- /v1/wallets/access-policies:
10258
+ /v1/treasury/wallets/access-policies:
10259
10259
  post:
10260
10260
  tags: [Wallet Access]
10261
10261
  summary: Create a wallet access policy
10262
10262
  description: |
10263
- Create a role-based wallet access policy granting an agent or user
10264
- specific permissions (send, swap, receive) on a treasury wallet chain.
10263
+ Create a role-based wallet access policy granting an agent, user, role,
10264
+ or platform app specific permissions on treasury wallets within a scope
10265
+ (org-wide, platform app, or single wallet). Requires Pro+ tier.
10265
10266
  operationId: createWalletAccessPolicy
10266
10267
  security:
10267
10268
  - BearerAuth: []
@@ -10291,17 +10292,18 @@ paths:
10291
10292
  security:
10292
10293
  - BearerAuth: []
10293
10294
  parameters:
10294
- - name: wallet_chain
10295
+ - name: scope_type
10295
10296
  in: query
10296
10297
  schema:
10297
10298
  type: string
10298
- description: Filter by chain (e.g. ethereum, solana)
10299
- - name: target_agent_id
10299
+ enum: [wallet, platform_app, org]
10300
+ description: Filter by scope type
10301
+ - name: scope_id
10300
10302
  in: query
10301
10303
  schema:
10302
10304
  type: string
10303
10305
  format: uuid
10304
- description: Filter by target agent
10306
+ description: Filter by scope ID (wallet or platform app UUID)
10305
10307
  responses:
10306
10308
  "200":
10307
10309
  description: Policy list
@@ -10312,7 +10314,7 @@ paths:
10312
10314
  "401":
10313
10315
  $ref: "#/components/responses/Unauthorized"
10314
10316
 
10315
- /v1/wallets/access-policies/{id}:
10317
+ /v1/treasury/wallets/access-policies/{id}:
10316
10318
  delete:
10317
10319
  tags: [Wallet Access]
10318
10320
  summary: Delete a wallet access policy
@@ -14270,17 +14272,31 @@ components:
14270
14272
 
14271
14273
  ShroudAttestationResponse:
14272
14274
  type: object
14273
- required: [attested, image_hash, identity_token, verification]
14275
+ required: [attested, attestation_level, image_hash, identity_token, verification]
14274
14276
  properties:
14275
14277
  attested:
14276
14278
  type: boolean
14277
- description: Whether TEE attestation was successfully fetched
14279
+ description: |
14280
+ Whether at least an identity token was obtained (true for identity,
14281
+ confidential, or sev_snp levels). Backward-compatible boolean; prefer
14282
+ attestation_level for granularity.
14283
+ attestation_level:
14284
+ type: string
14285
+ enum: [none, identity, confidential, sev_snp]
14286
+ description: |
14287
+ Granularity of TEE attestation achieved. `none` = dev/non-GCE;
14288
+ `identity` = GCE metadata JWT only; `confidential` = CC claims present;
14289
+ `sev_snp` = full SEV-SNP measurement verified against image digest.
14278
14290
  image_hash:
14279
14291
  type: string
14280
14292
  description: Confidential VM image hash (compare against published Docker digest)
14281
14293
  identity_token:
14282
14294
  type: string
14283
14295
  description: GCE metadata identity JWT (verify against Google public keys)
14296
+ confidential_claims:
14297
+ nullable: true
14298
+ description: Confidential Computing claims extracted from the identity JWT
14299
+ $ref: "#/components/schemas/ConfidentialClaims"
14284
14300
  verification:
14285
14301
  type: object
14286
14302
  properties:
@@ -14294,6 +14310,23 @@ components:
14294
14310
  expected_audience:
14295
14311
  type: string
14296
14312
 
14313
+ ConfidentialClaims:
14314
+ type: object
14315
+ nullable: true
14316
+ properties:
14317
+ secboot:
14318
+ type: boolean
14319
+ description: Whether secure boot was enabled
14320
+ hwmodel:
14321
+ type: string
14322
+ description: Hardware model string (e.g. GCP_AMD_SEV)
14323
+ instance_confidentiality:
14324
+ type: string
14325
+ description: Instance confidentiality level from google.compute_engine
14326
+ sw_name:
14327
+ type: string
14328
+ description: Software name claim (swname or sw_name)
14329
+
14297
14330
  AuditEvent:
14298
14331
  type: object
14299
14332
  properties:
@@ -18997,41 +19030,53 @@ components:
18997
19030
 
18998
19031
  CreateWalletAccessPolicyRequest:
18999
19032
  type: object
19000
- required: [wallet_chain, permissions]
19033
+ required: [scope_type, principal_type, principal_id]
19001
19034
  properties:
19002
- wallet_chain:
19035
+ scope_type:
19003
19036
  type: string
19004
- description: Chain for which the policy applies (e.g. ethereum, solana)
19005
- target_agent_id:
19037
+ enum: [wallet, platform_app, org]
19038
+ description: Policy scope — org-wide, platform app, or single wallet
19039
+ scope_id:
19006
19040
  type: string
19007
19041
  format: uuid
19008
- description: Agent granted access (mutually exclusive with target_user_id)
19009
- target_user_id:
19042
+ nullable: true
19043
+ description: Wallet or platform app UUID when scope_type is not org
19044
+ principal_type:
19010
19045
  type: string
19011
- format: uuid
19012
- description: User granted access (mutually exclusive with target_agent_id)
19013
- permissions:
19046
+ enum: [user, agent, role, platform_app]
19047
+ description: Who receives the grant
19048
+ principal_id:
19049
+ type: string
19050
+ description: User/agent UUID, role name, or platform app UUID
19051
+ can_sign:
19052
+ type: boolean
19053
+ default: false
19054
+ can_view_balance:
19055
+ type: boolean
19056
+ default: true
19057
+ can_export:
19058
+ type: boolean
19059
+ default: false
19060
+ can_send:
19061
+ type: boolean
19062
+ default: false
19063
+ can_swap:
19064
+ type: boolean
19065
+ default: false
19066
+ allowed_chains:
19014
19067
  type: array
19015
19068
  items:
19016
19069
  type: string
19017
- enum: [send, swap, receive]
19070
+ description: Chains this policy applies to (empty = all)
19071
+ max_value_per_tx_eth:
19072
+ type: string
19073
+ description: Max value per transaction in ETH
19074
+ daily_limit_eth:
19075
+ type: string
19076
+ description: Daily spend limit in ETH
19018
19077
  conditions:
19019
19078
  type: object
19020
- properties:
19021
- max_value_per_tx_eth:
19022
- type: string
19023
- description: Max value per transaction in ETH
19024
- daily_limit_eth:
19025
- type: string
19026
- description: Daily spend limit in ETH
19027
- allowed_chains:
19028
- type: array
19029
- items:
19030
- type: string
19031
- allowed_tokens:
19032
- type: array
19033
- items:
19034
- type: string
19079
+ description: Additional JSON conditions (reserved for future enforcement)
19035
19080
  expires_at:
19036
19081
  type: string
19037
19082
  format: date-time
@@ -19045,48 +19090,53 @@ components:
19045
19090
  org_id:
19046
19091
  type: string
19047
19092
  format: uuid
19048
- wallet_chain:
19093
+ scope_type:
19049
19094
  type: string
19050
- target_agent_id:
19095
+ scope_id:
19051
19096
  type: string
19052
19097
  format: uuid
19053
19098
  nullable: true
19054
- target_user_id:
19099
+ principal_type:
19055
19100
  type: string
19056
- format: uuid
19057
- nullable: true
19058
- permissions:
19101
+ principal_id:
19102
+ type: string
19103
+ can_sign:
19104
+ type: boolean
19105
+ can_view_balance:
19106
+ type: boolean
19107
+ can_export:
19108
+ type: boolean
19109
+ can_send:
19110
+ type: boolean
19111
+ can_swap:
19112
+ type: boolean
19113
+ allowed_chains:
19059
19114
  type: array
19060
19115
  items:
19061
19116
  type: string
19062
- enum: [send, swap, receive]
19117
+ max_value_per_tx_eth:
19118
+ type: string
19119
+ nullable: true
19120
+ daily_limit_eth:
19121
+ type: string
19122
+ nullable: true
19063
19123
  conditions:
19064
19124
  type: object
19065
- nullable: true
19066
- properties:
19067
- max_value_per_tx_eth:
19068
- type: string
19069
- nullable: true
19070
- daily_limit_eth:
19071
- type: string
19072
- nullable: true
19073
- allowed_chains:
19074
- type: array
19075
- items:
19076
- type: string
19077
- nullable: true
19078
- allowed_tokens:
19079
- type: array
19080
- items:
19081
- type: string
19082
- nullable: true
19125
+ is_active:
19126
+ type: boolean
19083
19127
  expires_at:
19084
19128
  type: string
19085
19129
  format: date-time
19086
19130
  nullable: true
19131
+ created_by:
19132
+ type: string
19133
+ format: uuid
19087
19134
  created_at:
19088
19135
  type: string
19089
19136
  format: date-time
19137
+ updated_at:
19138
+ type: string
19139
+ format: date-time
19090
19140
 
19091
19141
  WalletAccessPolicyListResponse:
19092
19142
  type: object
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@1claw/openapi-spec",
3
- "version": "0.53.1",
3
+ "version": "0.53.3",
4
4
  "description": "OpenAPI 3.1.0 specification for the 1Claw Vault API — generate clients in any language",
5
5
  "license": "MIT",
6
6
  "repository": {