@1claw/openapi-spec 0.51.0 → 0.53.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.
- package/README.md +14 -1
- package/openapi.json +292 -5
- package/openapi.yaml +222 -3
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -40,7 +40,20 @@ openapi-generator generate \
|
|
|
40
40
|
import spec from "@1claw/openapi-spec/openapi.json";
|
|
41
41
|
```
|
|
42
42
|
|
|
43
|
-
## What's in the spec (v0.
|
|
43
|
+
## What's in the spec (v0.52.0)
|
|
44
|
+
|
|
45
|
+
### Environment Variables (v0.51)
|
|
46
|
+
- **Per-key env vars** — `GET/POST /v1/vaults/{id}/env-vars`, `GET/PATCH/DELETE .../{key}`, `GET .../resolve` with three-tier precedence (org shared < vault < branch override)
|
|
47
|
+
- **Vault environments** — `GET/POST /v1/vaults/{id}/environments`, `DELETE .../{slug}` (built-in + tier-gated custom)
|
|
48
|
+
- **Org shared vars** — `GET/POST /v1/org/env-vars`, link/unlink to vaults
|
|
49
|
+
- **Sensitive vars** — write-only after creation; org setting `env.require_sensitive_prod`
|
|
50
|
+
- **Runtime injection** — resolved vars merged into Cloud Runtime container env at start/rebuild
|
|
51
|
+
|
|
52
|
+
### Agent Environment Tagging (v0.52)
|
|
53
|
+
- **Agent fields** — `environment`, `environment_locked`, `env_auto_resolve`, `per_environment_guardrails` on create/update/response schemas
|
|
54
|
+
- **JWT claim** — Agent tokens include `environment` when the agent has a tag
|
|
55
|
+
- **Policy conditions** — `environment_in` array in built-in policy `conditions` JSON
|
|
56
|
+
- **Env var resolution** — `GET /v1/vaults/{id}/env-vars/resolve` accepts optional `environment`; auto-fills from agent tag when `env_auto_resolve` is true
|
|
44
57
|
|
|
45
58
|
### Cedar/OPA Enforcement v2 (v0.48)
|
|
46
59
|
- **Policy backend** — `GET/PATCH /v1/org/settings/policy-backend`, `GET /v1/org/policy-shadow-report`
|
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.
|
|
5
|
+
"version": "0.53.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. 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"
|
|
@@ -3107,7 +3107,7 @@
|
|
|
3107
3107
|
"Environment Variables"
|
|
3108
3108
|
],
|
|
3109
3109
|
"summary": "Resolve environment variables",
|
|
3110
|
-
"description": "Resolve the final KEY=VALUE set for an environment with full precedence (shared < vault < branch override).",
|
|
3110
|
+
"description": "Resolve the final KEY=VALUE set for an environment with full precedence (shared < vault < branch override).\nWhen the caller is an agent with `env_auto_resolve: true`, the `environment` query parameter may be omitted —\nthe server uses the agent's tagged environment from the JWT. Org setting `env.enforce_agent_environment_scope`\nblocks agents from resolving vars outside their tagged environment.\n",
|
|
3111
3111
|
"operationId": "resolveEnvVars",
|
|
3112
3112
|
"parameters": [
|
|
3113
3113
|
{
|
|
@@ -3116,17 +3116,19 @@
|
|
|
3116
3116
|
{
|
|
3117
3117
|
"name": "environment",
|
|
3118
3118
|
"in": "query",
|
|
3119
|
-
"required":
|
|
3119
|
+
"required": false,
|
|
3120
3120
|
"schema": {
|
|
3121
3121
|
"type": "string"
|
|
3122
|
-
}
|
|
3122
|
+
},
|
|
3123
|
+
"description": "Target environment (production, preview, development, or custom). Required for human callers; optional for agents with env_auto_resolve when the agent has an environment tag."
|
|
3123
3124
|
},
|
|
3124
3125
|
{
|
|
3125
3126
|
"name": "git_branch",
|
|
3126
3127
|
"in": "query",
|
|
3127
3128
|
"schema": {
|
|
3128
3129
|
"type": "string"
|
|
3129
|
-
}
|
|
3130
|
+
},
|
|
3131
|
+
"description": "Optional git branch for preview branch overrides"
|
|
3130
3132
|
}
|
|
3131
3133
|
],
|
|
3132
3134
|
"responses": {
|
|
@@ -6353,6 +6355,55 @@
|
|
|
6353
6355
|
}
|
|
6354
6356
|
}
|
|
6355
6357
|
},
|
|
6358
|
+
"/v1/audit/verify": {
|
|
6359
|
+
"get": {
|
|
6360
|
+
"tags": [
|
|
6361
|
+
"Audit"
|
|
6362
|
+
],
|
|
6363
|
+
"summary": "Verify audit hash chain integrity",
|
|
6364
|
+
"operationId": "verifyAuditChain",
|
|
6365
|
+
"description": "Verifies the HMAC-SHA256 integrity hash chain for audit events in the\ncalling organization. Returns whether the chain is valid, how many\nevents were verified, and the point of first break (if any).\n",
|
|
6366
|
+
"parameters": [
|
|
6367
|
+
{
|
|
6368
|
+
"name": "from",
|
|
6369
|
+
"in": "query",
|
|
6370
|
+
"schema": {
|
|
6371
|
+
"type": "string",
|
|
6372
|
+
"format": "date-time"
|
|
6373
|
+
}
|
|
6374
|
+
},
|
|
6375
|
+
{
|
|
6376
|
+
"name": "to",
|
|
6377
|
+
"in": "query",
|
|
6378
|
+
"schema": {
|
|
6379
|
+
"type": "string",
|
|
6380
|
+
"format": "date-time"
|
|
6381
|
+
}
|
|
6382
|
+
},
|
|
6383
|
+
{
|
|
6384
|
+
"name": "limit",
|
|
6385
|
+
"in": "query",
|
|
6386
|
+
"schema": {
|
|
6387
|
+
"type": "integer",
|
|
6388
|
+
"default": 1000,
|
|
6389
|
+
"maximum": 10000
|
|
6390
|
+
}
|
|
6391
|
+
}
|
|
6392
|
+
],
|
|
6393
|
+
"responses": {
|
|
6394
|
+
"200": {
|
|
6395
|
+
"description": "Chain verification result",
|
|
6396
|
+
"content": {
|
|
6397
|
+
"application/json": {
|
|
6398
|
+
"schema": {
|
|
6399
|
+
"$ref": "#/components/schemas/AuditVerifyResponse"
|
|
6400
|
+
}
|
|
6401
|
+
}
|
|
6402
|
+
}
|
|
6403
|
+
}
|
|
6404
|
+
}
|
|
6405
|
+
}
|
|
6406
|
+
},
|
|
6356
6407
|
"/v1/security/ip-rules": {
|
|
6357
6408
|
"get": {
|
|
6358
6409
|
"tags": [
|
|
@@ -8380,6 +8431,34 @@
|
|
|
8380
8431
|
}
|
|
8381
8432
|
}
|
|
8382
8433
|
},
|
|
8434
|
+
"/v1/shroud/attestation": {
|
|
8435
|
+
"get": {
|
|
8436
|
+
"tags": [
|
|
8437
|
+
"Shroud"
|
|
8438
|
+
],
|
|
8439
|
+
"summary": "TEE attestation proof (public)",
|
|
8440
|
+
"operationId": "getShroudAttestation",
|
|
8441
|
+
"security": [],
|
|
8442
|
+
"description": "Public endpoint returning the TEE attestation proof for Shroud.\nReturns the GCE Confidential VM identity token and image hash so\ncustomers can verify Shroud is running inside a Confidential VM\nbefore signing contracts. Served from shroud.1claw.xyz.\n",
|
|
8443
|
+
"servers": [
|
|
8444
|
+
{
|
|
8445
|
+
"url": "https://shroud.1claw.xyz"
|
|
8446
|
+
}
|
|
8447
|
+
],
|
|
8448
|
+
"responses": {
|
|
8449
|
+
"200": {
|
|
8450
|
+
"description": "Attestation proof",
|
|
8451
|
+
"content": {
|
|
8452
|
+
"application/json": {
|
|
8453
|
+
"schema": {
|
|
8454
|
+
"$ref": "#/components/schemas/ShroudAttestationResponse"
|
|
8455
|
+
}
|
|
8456
|
+
}
|
|
8457
|
+
}
|
|
8458
|
+
}
|
|
8459
|
+
}
|
|
8460
|
+
}
|
|
8461
|
+
},
|
|
8383
8462
|
"/v1/shroud/activity": {
|
|
8384
8463
|
"get": {
|
|
8385
8464
|
"tags": [
|
|
@@ -17419,6 +17498,16 @@
|
|
|
17419
17498
|
},
|
|
17420
17499
|
"tx_conditions": {
|
|
17421
17500
|
"$ref": "#/components/schemas/TxConditions"
|
|
17501
|
+
},
|
|
17502
|
+
"approval_id": {
|
|
17503
|
+
"type": "string",
|
|
17504
|
+
"format": "uuid",
|
|
17505
|
+
"description": "Optional completed approval ID for control-plane consensus bypass. When control-plane consensus policies match, resubmit with this field after the approval has been executed.\n"
|
|
17506
|
+
},
|
|
17507
|
+
"policy_schema_version": {
|
|
17508
|
+
"type": "integer",
|
|
17509
|
+
"default": 2,
|
|
17510
|
+
"description": "Policy schema version. Version 1 = legacy field-matching only.\nVersion 2 = expression engine support in tx_conditions.\n"
|
|
17422
17511
|
}
|
|
17423
17512
|
}
|
|
17424
17513
|
},
|
|
@@ -17461,6 +17550,11 @@
|
|
|
17461
17550
|
},
|
|
17462
17551
|
"tx_conditions": {
|
|
17463
17552
|
"$ref": "#/components/schemas/TxConditions"
|
|
17553
|
+
},
|
|
17554
|
+
"approval_id": {
|
|
17555
|
+
"type": "string",
|
|
17556
|
+
"format": "uuid",
|
|
17557
|
+
"description": "Optional completed approval ID for control-plane consensus bypass.\n"
|
|
17464
17558
|
}
|
|
17465
17559
|
}
|
|
17466
17560
|
},
|
|
@@ -17539,6 +17633,10 @@
|
|
|
17539
17633
|
},
|
|
17540
17634
|
"tx_conditions": {
|
|
17541
17635
|
"$ref": "#/components/schemas/TxConditions"
|
|
17636
|
+
},
|
|
17637
|
+
"policy_schema_version": {
|
|
17638
|
+
"type": "integer",
|
|
17639
|
+
"description": "Policy schema version (1 = legacy, 2 = expression engine)"
|
|
17542
17640
|
}
|
|
17543
17641
|
}
|
|
17544
17642
|
},
|
|
@@ -17789,6 +17887,25 @@
|
|
|
17789
17887
|
"format": "date-time",
|
|
17790
17888
|
"nullable": true,
|
|
17791
17889
|
"description": "Optional expiration time for the agent's API key."
|
|
17890
|
+
},
|
|
17891
|
+
"environment": {
|
|
17892
|
+
"type": "string",
|
|
17893
|
+
"description": "Named environment for this agent (production, preview, development, or custom)."
|
|
17894
|
+
},
|
|
17895
|
+
"environment_locked": {
|
|
17896
|
+
"type": "boolean",
|
|
17897
|
+
"default": false,
|
|
17898
|
+
"description": "When true, the environment tag cannot be changed after creation."
|
|
17899
|
+
},
|
|
17900
|
+
"env_auto_resolve": {
|
|
17901
|
+
"type": "boolean",
|
|
17902
|
+
"default": false,
|
|
17903
|
+
"description": "When true, env var resolve endpoints auto-fill environment from this agent's tag."
|
|
17904
|
+
},
|
|
17905
|
+
"approval_id": {
|
|
17906
|
+
"type": "string",
|
|
17907
|
+
"format": "uuid",
|
|
17908
|
+
"description": "Optional completed approval ID for control-plane consensus bypass when creating an agent under a control-plane governance policy.\n"
|
|
17792
17909
|
}
|
|
17793
17910
|
}
|
|
17794
17911
|
},
|
|
@@ -17976,6 +18093,24 @@
|
|
|
17976
18093
|
"format": "date-time",
|
|
17977
18094
|
"nullable": true,
|
|
17978
18095
|
"description": "Optional expiration time for the agent's API key. Set to null to clear."
|
|
18096
|
+
},
|
|
18097
|
+
"environment": {
|
|
18098
|
+
"type": "string",
|
|
18099
|
+
"nullable": true,
|
|
18100
|
+
"description": "Named environment for this agent (production, preview, development, or custom)."
|
|
18101
|
+
},
|
|
18102
|
+
"environment_locked": {
|
|
18103
|
+
"type": "boolean",
|
|
18104
|
+
"description": "When true, the environment tag cannot be changed after creation."
|
|
18105
|
+
},
|
|
18106
|
+
"env_auto_resolve": {
|
|
18107
|
+
"type": "boolean",
|
|
18108
|
+
"description": "When true, env var resolve endpoints auto-fill environment from this agent's tag."
|
|
18109
|
+
},
|
|
18110
|
+
"per_environment_guardrails": {
|
|
18111
|
+
"type": "object",
|
|
18112
|
+
"additionalProperties": true,
|
|
18113
|
+
"description": "Per-environment guardrail overrides keyed by environment slug."
|
|
17979
18114
|
}
|
|
17980
18115
|
}
|
|
17981
18116
|
},
|
|
@@ -18279,6 +18414,24 @@
|
|
|
18279
18414
|
"items": {
|
|
18280
18415
|
"$ref": "#/components/schemas/AgentSmartAccountResponse"
|
|
18281
18416
|
}
|
|
18417
|
+
},
|
|
18418
|
+
"environment": {
|
|
18419
|
+
"type": "string",
|
|
18420
|
+
"nullable": true,
|
|
18421
|
+
"description": "Named environment this agent belongs to (production, preview, development, or custom)."
|
|
18422
|
+
},
|
|
18423
|
+
"environment_locked": {
|
|
18424
|
+
"type": "boolean",
|
|
18425
|
+
"description": "When true, the environment tag is locked and cannot be changed."
|
|
18426
|
+
},
|
|
18427
|
+
"env_auto_resolve": {
|
|
18428
|
+
"type": "boolean",
|
|
18429
|
+
"description": "When true, env var resolve endpoints auto-fill environment from this agent's tag."
|
|
18430
|
+
},
|
|
18431
|
+
"per_environment_guardrails": {
|
|
18432
|
+
"type": "object",
|
|
18433
|
+
"additionalProperties": true,
|
|
18434
|
+
"description": "Per-environment guardrail overrides keyed by environment slug."
|
|
18282
18435
|
}
|
|
18283
18436
|
}
|
|
18284
18437
|
},
|
|
@@ -20887,6 +21040,99 @@
|
|
|
20887
21040
|
}
|
|
20888
21041
|
}
|
|
20889
21042
|
},
|
|
21043
|
+
"AuditVerifyResponse": {
|
|
21044
|
+
"type": "object",
|
|
21045
|
+
"required": [
|
|
21046
|
+
"chain_valid",
|
|
21047
|
+
"events_verified",
|
|
21048
|
+
"events_checked",
|
|
21049
|
+
"scheme"
|
|
21050
|
+
],
|
|
21051
|
+
"properties": {
|
|
21052
|
+
"chain_valid": {
|
|
21053
|
+
"type": "boolean",
|
|
21054
|
+
"description": "Whether the integrity hash chain is unbroken"
|
|
21055
|
+
},
|
|
21056
|
+
"events_verified": {
|
|
21057
|
+
"type": "integer",
|
|
21058
|
+
"format": "int64",
|
|
21059
|
+
"description": "Number of events with valid integrity hashes"
|
|
21060
|
+
},
|
|
21061
|
+
"events_checked": {
|
|
21062
|
+
"type": "integer",
|
|
21063
|
+
"description": "Total events examined"
|
|
21064
|
+
},
|
|
21065
|
+
"broken_at_event_id": {
|
|
21066
|
+
"type": "string",
|
|
21067
|
+
"format": "uuid",
|
|
21068
|
+
"nullable": true,
|
|
21069
|
+
"description": "First event where chain integrity broke (null if valid)"
|
|
21070
|
+
},
|
|
21071
|
+
"scheme": {
|
|
21072
|
+
"type": "object",
|
|
21073
|
+
"properties": {
|
|
21074
|
+
"algorithm": {
|
|
21075
|
+
"type": "string",
|
|
21076
|
+
"example": "HMAC-SHA256"
|
|
21077
|
+
},
|
|
21078
|
+
"chain_structure": {
|
|
21079
|
+
"type": "string"
|
|
21080
|
+
},
|
|
21081
|
+
"hash_field": {
|
|
21082
|
+
"type": "string"
|
|
21083
|
+
},
|
|
21084
|
+
"link_field": {
|
|
21085
|
+
"type": "string"
|
|
21086
|
+
},
|
|
21087
|
+
"documentation": {
|
|
21088
|
+
"type": "string",
|
|
21089
|
+
"format": "uri"
|
|
21090
|
+
}
|
|
21091
|
+
}
|
|
21092
|
+
}
|
|
21093
|
+
}
|
|
21094
|
+
},
|
|
21095
|
+
"ShroudAttestationResponse": {
|
|
21096
|
+
"type": "object",
|
|
21097
|
+
"required": [
|
|
21098
|
+
"attested",
|
|
21099
|
+
"image_hash",
|
|
21100
|
+
"identity_token",
|
|
21101
|
+
"verification"
|
|
21102
|
+
],
|
|
21103
|
+
"properties": {
|
|
21104
|
+
"attested": {
|
|
21105
|
+
"type": "boolean",
|
|
21106
|
+
"description": "Whether TEE attestation was successfully fetched"
|
|
21107
|
+
},
|
|
21108
|
+
"image_hash": {
|
|
21109
|
+
"type": "string",
|
|
21110
|
+
"description": "Confidential VM image hash (compare against published Docker digest)"
|
|
21111
|
+
},
|
|
21112
|
+
"identity_token": {
|
|
21113
|
+
"type": "string",
|
|
21114
|
+
"description": "GCE metadata identity JWT (verify against Google public keys)"
|
|
21115
|
+
},
|
|
21116
|
+
"verification": {
|
|
21117
|
+
"type": "object",
|
|
21118
|
+
"properties": {
|
|
21119
|
+
"steps": {
|
|
21120
|
+
"type": "array",
|
|
21121
|
+
"items": {
|
|
21122
|
+
"type": "string"
|
|
21123
|
+
}
|
|
21124
|
+
},
|
|
21125
|
+
"google_certs_url": {
|
|
21126
|
+
"type": "string",
|
|
21127
|
+
"format": "uri"
|
|
21128
|
+
},
|
|
21129
|
+
"expected_audience": {
|
|
21130
|
+
"type": "string"
|
|
21131
|
+
}
|
|
21132
|
+
}
|
|
21133
|
+
}
|
|
21134
|
+
}
|
|
21135
|
+
},
|
|
20890
21136
|
"AuditEvent": {
|
|
20891
21137
|
"type": "object",
|
|
20892
21138
|
"properties": {
|
|
@@ -26738,6 +26984,11 @@
|
|
|
26738
26984
|
"type": "boolean",
|
|
26739
26985
|
"default": false,
|
|
26740
26986
|
"description": "When true, conditions are also evaluated against inner calls\nextracted from wrapper transactions (multicall, Safe execTransaction,\nERC-4337 handleOps). A match on any inner call counts as an overall match.\n"
|
|
26987
|
+
},
|
|
26988
|
+
"expression": {
|
|
26989
|
+
"type": "string",
|
|
26990
|
+
"maxLength": 1024,
|
|
26991
|
+
"description": "Mini expression DSL for policy conditions (schema version 2+).\nReferences transaction context fields (chain, value_wei, to_address,\nfunction_selector, etc.) with boolean operators. Fail-closed on parse\nor evaluation errors. Example: `chain == 'ethereum' && value_wei > 1000000000000000000`\n"
|
|
26741
26992
|
}
|
|
26742
26993
|
}
|
|
26743
26994
|
},
|
|
@@ -26827,6 +27078,20 @@
|
|
|
26827
27078
|
"always": {
|
|
26828
27079
|
"type": "boolean",
|
|
26829
27080
|
"description": "When true, this entry always matches regardless of other fields"
|
|
27081
|
+
},
|
|
27082
|
+
"action_in": {
|
|
27083
|
+
"type": "array",
|
|
27084
|
+
"items": {
|
|
27085
|
+
"type": "string"
|
|
27086
|
+
},
|
|
27087
|
+
"description": "Control-plane actions to match (e.g. policy.create, signing_key.export)"
|
|
27088
|
+
},
|
|
27089
|
+
"action_kind_in": {
|
|
27090
|
+
"type": "array",
|
|
27091
|
+
"items": {
|
|
27092
|
+
"type": "string"
|
|
27093
|
+
},
|
|
27094
|
+
"description": "Version-agnostic action kind groups (e.g. signing_key.*, policy.*, member.*)\n"
|
|
26830
27095
|
}
|
|
26831
27096
|
}
|
|
26832
27097
|
},
|
|
@@ -27026,6 +27291,28 @@
|
|
|
27026
27291
|
"description": "Control-plane actions to match, e.g. policy.create, policy.update,\npolicy.delete, signing_key.export, member.role_change, member.remove\n"
|
|
27027
27292
|
}
|
|
27028
27293
|
}
|
|
27294
|
+
},
|
|
27295
|
+
{
|
|
27296
|
+
"type": "object",
|
|
27297
|
+
"required": [
|
|
27298
|
+
"type",
|
|
27299
|
+
"action_kinds"
|
|
27300
|
+
],
|
|
27301
|
+
"properties": {
|
|
27302
|
+
"type": {
|
|
27303
|
+
"type": "string",
|
|
27304
|
+
"enum": [
|
|
27305
|
+
"action_kind_in"
|
|
27306
|
+
]
|
|
27307
|
+
},
|
|
27308
|
+
"action_kinds": {
|
|
27309
|
+
"type": "array",
|
|
27310
|
+
"items": {
|
|
27311
|
+
"type": "string"
|
|
27312
|
+
},
|
|
27313
|
+
"description": "Version-agnostic action kind groups, e.g. signing_key.*, policy.*, member.*\n"
|
|
27314
|
+
}
|
|
27315
|
+
}
|
|
27029
27316
|
}
|
|
27030
27317
|
]
|
|
27031
27318
|
},
|
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.
|
|
5
|
+
version: 0.53.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,
|
|
@@ -2041,19 +2041,25 @@ paths:
|
|
|
2041
2041
|
get:
|
|
2042
2042
|
tags: [Environment Variables]
|
|
2043
2043
|
summary: Resolve environment variables
|
|
2044
|
-
description:
|
|
2044
|
+
description: |
|
|
2045
|
+
Resolve the final KEY=VALUE set for an environment with full precedence (shared < vault < branch override).
|
|
2046
|
+
When the caller is an agent with `env_auto_resolve: true`, the `environment` query parameter may be omitted —
|
|
2047
|
+
the server uses the agent's tagged environment from the JWT. Org setting `env.enforce_agent_environment_scope`
|
|
2048
|
+
blocks agents from resolving vars outside their tagged environment.
|
|
2045
2049
|
operationId: resolveEnvVars
|
|
2046
2050
|
parameters:
|
|
2047
2051
|
- $ref: "#/components/parameters/VaultId"
|
|
2048
2052
|
- name: environment
|
|
2049
2053
|
in: query
|
|
2050
|
-
required:
|
|
2054
|
+
required: false
|
|
2051
2055
|
schema:
|
|
2052
2056
|
type: string
|
|
2057
|
+
description: Target environment (production, preview, development, or custom). Required for human callers; optional for agents with env_auto_resolve when the agent has an environment tag.
|
|
2053
2058
|
- name: git_branch
|
|
2054
2059
|
in: query
|
|
2055
2060
|
schema:
|
|
2056
2061
|
type: string
|
|
2062
|
+
description: Optional git branch for preview branch overrides
|
|
2057
2063
|
responses:
|
|
2058
2064
|
"200":
|
|
2059
2065
|
description: Resolved environment variables
|
|
@@ -4123,6 +4129,40 @@ paths:
|
|
|
4123
4129
|
"402":
|
|
4124
4130
|
$ref: "#/components/responses/PaymentRequired"
|
|
4125
4131
|
|
|
4132
|
+
/v1/audit/verify:
|
|
4133
|
+
get:
|
|
4134
|
+
tags: [Audit]
|
|
4135
|
+
summary: Verify audit hash chain integrity
|
|
4136
|
+
operationId: verifyAuditChain
|
|
4137
|
+
description: |
|
|
4138
|
+
Verifies the HMAC-SHA256 integrity hash chain for audit events in the
|
|
4139
|
+
calling organization. Returns whether the chain is valid, how many
|
|
4140
|
+
events were verified, and the point of first break (if any).
|
|
4141
|
+
parameters:
|
|
4142
|
+
- name: from
|
|
4143
|
+
in: query
|
|
4144
|
+
schema:
|
|
4145
|
+
type: string
|
|
4146
|
+
format: date-time
|
|
4147
|
+
- name: to
|
|
4148
|
+
in: query
|
|
4149
|
+
schema:
|
|
4150
|
+
type: string
|
|
4151
|
+
format: date-time
|
|
4152
|
+
- name: limit
|
|
4153
|
+
in: query
|
|
4154
|
+
schema:
|
|
4155
|
+
type: integer
|
|
4156
|
+
default: 1000
|
|
4157
|
+
maximum: 10000
|
|
4158
|
+
responses:
|
|
4159
|
+
"200":
|
|
4160
|
+
description: Chain verification result
|
|
4161
|
+
content:
|
|
4162
|
+
application/json:
|
|
4163
|
+
schema:
|
|
4164
|
+
$ref: "#/components/schemas/AuditVerifyResponse"
|
|
4165
|
+
|
|
4126
4166
|
# ---------------------------------------------------------------------------
|
|
4127
4167
|
# Security (IP Rules)
|
|
4128
4168
|
# ---------------------------------------------------------------------------
|
|
@@ -5422,6 +5462,27 @@ paths:
|
|
|
5422
5462
|
|
|
5423
5463
|
# --- Shroud Activity ---
|
|
5424
5464
|
|
|
5465
|
+
/v1/shroud/attestation:
|
|
5466
|
+
get:
|
|
5467
|
+
tags: [Shroud]
|
|
5468
|
+
summary: TEE attestation proof (public)
|
|
5469
|
+
operationId: getShroudAttestation
|
|
5470
|
+
security: []
|
|
5471
|
+
description: |
|
|
5472
|
+
Public endpoint returning the TEE attestation proof for Shroud.
|
|
5473
|
+
Returns the GCE Confidential VM identity token and image hash so
|
|
5474
|
+
customers can verify Shroud is running inside a Confidential VM
|
|
5475
|
+
before signing contracts. Served from shroud.1claw.xyz.
|
|
5476
|
+
servers:
|
|
5477
|
+
- url: https://shroud.1claw.xyz
|
|
5478
|
+
responses:
|
|
5479
|
+
"200":
|
|
5480
|
+
description: Attestation proof
|
|
5481
|
+
content:
|
|
5482
|
+
application/json:
|
|
5483
|
+
schema:
|
|
5484
|
+
$ref: "#/components/schemas/ShroudAttestationResponse"
|
|
5485
|
+
|
|
5425
5486
|
/v1/shroud/activity:
|
|
5426
5487
|
get:
|
|
5427
5488
|
tags: [Shroud]
|
|
@@ -11174,6 +11235,19 @@ components:
|
|
|
11174
11235
|
$ref: "#/components/schemas/ConsensusTrigger"
|
|
11175
11236
|
tx_conditions:
|
|
11176
11237
|
$ref: "#/components/schemas/TxConditions"
|
|
11238
|
+
approval_id:
|
|
11239
|
+
type: string
|
|
11240
|
+
format: uuid
|
|
11241
|
+
description: >
|
|
11242
|
+
Optional completed approval ID for control-plane consensus bypass.
|
|
11243
|
+
When control-plane consensus policies match, resubmit with this
|
|
11244
|
+
field after the approval has been executed.
|
|
11245
|
+
policy_schema_version:
|
|
11246
|
+
type: integer
|
|
11247
|
+
default: 2
|
|
11248
|
+
description: |
|
|
11249
|
+
Policy schema version. Version 1 = legacy field-matching only.
|
|
11250
|
+
Version 2 = expression engine support in tx_conditions.
|
|
11177
11251
|
|
|
11178
11252
|
UpdatePolicyRequest:
|
|
11179
11253
|
type: object
|
|
@@ -11203,6 +11277,11 @@ components:
|
|
|
11203
11277
|
$ref: "#/components/schemas/ConsensusTrigger"
|
|
11204
11278
|
tx_conditions:
|
|
11205
11279
|
$ref: "#/components/schemas/TxConditions"
|
|
11280
|
+
approval_id:
|
|
11281
|
+
type: string
|
|
11282
|
+
format: uuid
|
|
11283
|
+
description: >
|
|
11284
|
+
Optional completed approval ID for control-plane consensus bypass.
|
|
11206
11285
|
|
|
11207
11286
|
PolicyResponse:
|
|
11208
11287
|
type: object
|
|
@@ -11261,6 +11340,9 @@ components:
|
|
|
11261
11340
|
$ref: "#/components/schemas/ConsensusTrigger"
|
|
11262
11341
|
tx_conditions:
|
|
11263
11342
|
$ref: "#/components/schemas/TxConditions"
|
|
11343
|
+
policy_schema_version:
|
|
11344
|
+
type: integer
|
|
11345
|
+
description: Policy schema version (1 = legacy, 2 = expression engine)
|
|
11264
11346
|
|
|
11265
11347
|
PolicyListResponse:
|
|
11266
11348
|
type: object
|
|
@@ -11457,6 +11539,23 @@ components:
|
|
|
11457
11539
|
format: date-time
|
|
11458
11540
|
nullable: true
|
|
11459
11541
|
description: Optional expiration time for the agent's API key.
|
|
11542
|
+
environment:
|
|
11543
|
+
type: string
|
|
11544
|
+
description: Named environment for this agent (production, preview, development, or custom).
|
|
11545
|
+
environment_locked:
|
|
11546
|
+
type: boolean
|
|
11547
|
+
default: false
|
|
11548
|
+
description: When true, the environment tag cannot be changed after creation.
|
|
11549
|
+
env_auto_resolve:
|
|
11550
|
+
type: boolean
|
|
11551
|
+
default: false
|
|
11552
|
+
description: When true, env var resolve endpoints auto-fill environment from this agent's tag.
|
|
11553
|
+
approval_id:
|
|
11554
|
+
type: string
|
|
11555
|
+
format: uuid
|
|
11556
|
+
description: >
|
|
11557
|
+
Optional completed approval ID for control-plane consensus bypass
|
|
11558
|
+
when creating an agent under a control-plane governance policy.
|
|
11460
11559
|
|
|
11461
11560
|
UpdateAgentRequest:
|
|
11462
11561
|
type: object
|
|
@@ -11609,6 +11708,20 @@ components:
|
|
|
11609
11708
|
format: date-time
|
|
11610
11709
|
nullable: true
|
|
11611
11710
|
description: Optional expiration time for the agent's API key. Set to null to clear.
|
|
11711
|
+
environment:
|
|
11712
|
+
type: string
|
|
11713
|
+
nullable: true
|
|
11714
|
+
description: Named environment for this agent (production, preview, development, or custom).
|
|
11715
|
+
environment_locked:
|
|
11716
|
+
type: boolean
|
|
11717
|
+
description: When true, the environment tag cannot be changed after creation.
|
|
11718
|
+
env_auto_resolve:
|
|
11719
|
+
type: boolean
|
|
11720
|
+
description: When true, env var resolve endpoints auto-fill environment from this agent's tag.
|
|
11721
|
+
per_environment_guardrails:
|
|
11722
|
+
type: object
|
|
11723
|
+
additionalProperties: true
|
|
11724
|
+
description: Per-environment guardrail overrides keyed by environment slug.
|
|
11612
11725
|
|
|
11613
11726
|
AgentResponse:
|
|
11614
11727
|
type: object
|
|
@@ -11837,6 +11950,20 @@ components:
|
|
|
11837
11950
|
description: Multi-chain; one Safe per chain
|
|
11838
11951
|
items:
|
|
11839
11952
|
$ref: "#/components/schemas/AgentSmartAccountResponse"
|
|
11953
|
+
environment:
|
|
11954
|
+
type: string
|
|
11955
|
+
nullable: true
|
|
11956
|
+
description: Named environment this agent belongs to (production, preview, development, or custom).
|
|
11957
|
+
environment_locked:
|
|
11958
|
+
type: boolean
|
|
11959
|
+
description: When true, the environment tag is locked and cannot be changed.
|
|
11960
|
+
env_auto_resolve:
|
|
11961
|
+
type: boolean
|
|
11962
|
+
description: When true, env var resolve endpoints auto-fill environment from this agent's tag.
|
|
11963
|
+
per_environment_guardrails:
|
|
11964
|
+
type: object
|
|
11965
|
+
additionalProperties: true
|
|
11966
|
+
description: Per-environment guardrail overrides keyed by environment slug.
|
|
11840
11967
|
|
|
11841
11968
|
KnownToken:
|
|
11842
11969
|
type: object
|
|
@@ -13660,6 +13787,67 @@ components:
|
|
|
13660
13787
|
count:
|
|
13661
13788
|
type: integer
|
|
13662
13789
|
|
|
13790
|
+
AuditVerifyResponse:
|
|
13791
|
+
type: object
|
|
13792
|
+
required: [chain_valid, events_verified, events_checked, scheme]
|
|
13793
|
+
properties:
|
|
13794
|
+
chain_valid:
|
|
13795
|
+
type: boolean
|
|
13796
|
+
description: Whether the integrity hash chain is unbroken
|
|
13797
|
+
events_verified:
|
|
13798
|
+
type: integer
|
|
13799
|
+
format: int64
|
|
13800
|
+
description: Number of events with valid integrity hashes
|
|
13801
|
+
events_checked:
|
|
13802
|
+
type: integer
|
|
13803
|
+
description: Total events examined
|
|
13804
|
+
broken_at_event_id:
|
|
13805
|
+
type: string
|
|
13806
|
+
format: uuid
|
|
13807
|
+
nullable: true
|
|
13808
|
+
description: First event where chain integrity broke (null if valid)
|
|
13809
|
+
scheme:
|
|
13810
|
+
type: object
|
|
13811
|
+
properties:
|
|
13812
|
+
algorithm:
|
|
13813
|
+
type: string
|
|
13814
|
+
example: HMAC-SHA256
|
|
13815
|
+
chain_structure:
|
|
13816
|
+
type: string
|
|
13817
|
+
hash_field:
|
|
13818
|
+
type: string
|
|
13819
|
+
link_field:
|
|
13820
|
+
type: string
|
|
13821
|
+
documentation:
|
|
13822
|
+
type: string
|
|
13823
|
+
format: uri
|
|
13824
|
+
|
|
13825
|
+
ShroudAttestationResponse:
|
|
13826
|
+
type: object
|
|
13827
|
+
required: [attested, image_hash, identity_token, verification]
|
|
13828
|
+
properties:
|
|
13829
|
+
attested:
|
|
13830
|
+
type: boolean
|
|
13831
|
+
description: Whether TEE attestation was successfully fetched
|
|
13832
|
+
image_hash:
|
|
13833
|
+
type: string
|
|
13834
|
+
description: Confidential VM image hash (compare against published Docker digest)
|
|
13835
|
+
identity_token:
|
|
13836
|
+
type: string
|
|
13837
|
+
description: GCE metadata identity JWT (verify against Google public keys)
|
|
13838
|
+
verification:
|
|
13839
|
+
type: object
|
|
13840
|
+
properties:
|
|
13841
|
+
steps:
|
|
13842
|
+
type: array
|
|
13843
|
+
items:
|
|
13844
|
+
type: string
|
|
13845
|
+
google_certs_url:
|
|
13846
|
+
type: string
|
|
13847
|
+
format: uri
|
|
13848
|
+
expected_audience:
|
|
13849
|
+
type: string
|
|
13850
|
+
|
|
13663
13851
|
AuditEvent:
|
|
13664
13852
|
type: object
|
|
13665
13853
|
properties:
|
|
@@ -17613,6 +17801,14 @@ components:
|
|
|
17613
17801
|
When true, conditions are also evaluated against inner calls
|
|
17614
17802
|
extracted from wrapper transactions (multicall, Safe execTransaction,
|
|
17615
17803
|
ERC-4337 handleOps). A match on any inner call counts as an overall match.
|
|
17804
|
+
expression:
|
|
17805
|
+
type: string
|
|
17806
|
+
maxLength: 1024
|
|
17807
|
+
description: |
|
|
17808
|
+
Mini expression DSL for policy conditions (schema version 2+).
|
|
17809
|
+
References transaction context fields (chain, value_wei, to_address,
|
|
17810
|
+
function_selector, etc.) with boolean operators. Fail-closed on parse
|
|
17811
|
+
or evaluation errors. Example: `chain == 'ethereum' && value_wei > 1000000000000000000`
|
|
17616
17812
|
|
|
17617
17813
|
ConsensusTrigger:
|
|
17618
17814
|
type: object
|
|
@@ -17686,6 +17882,17 @@ components:
|
|
|
17686
17882
|
always:
|
|
17687
17883
|
type: boolean
|
|
17688
17884
|
description: When true, this entry always matches regardless of other fields
|
|
17885
|
+
action_in:
|
|
17886
|
+
type: array
|
|
17887
|
+
items:
|
|
17888
|
+
type: string
|
|
17889
|
+
description: Control-plane actions to match (e.g. policy.create, signing_key.export)
|
|
17890
|
+
action_kind_in:
|
|
17891
|
+
type: array
|
|
17892
|
+
items:
|
|
17893
|
+
type: string
|
|
17894
|
+
description: |
|
|
17895
|
+
Version-agnostic action kind groups (e.g. signing_key.*, policy.*, member.*)
|
|
17689
17896
|
|
|
17690
17897
|
TimeWindow:
|
|
17691
17898
|
type: object
|
|
@@ -17798,6 +18005,18 @@ components:
|
|
|
17798
18005
|
description: |
|
|
17799
18006
|
Control-plane actions to match, e.g. policy.create, policy.update,
|
|
17800
18007
|
policy.delete, signing_key.export, member.role_change, member.remove
|
|
18008
|
+
- type: object
|
|
18009
|
+
required: [type, action_kinds]
|
|
18010
|
+
properties:
|
|
18011
|
+
type:
|
|
18012
|
+
type: string
|
|
18013
|
+
enum: [action_kind_in]
|
|
18014
|
+
action_kinds:
|
|
18015
|
+
type: array
|
|
18016
|
+
items:
|
|
18017
|
+
type: string
|
|
18018
|
+
description: |
|
|
18019
|
+
Version-agnostic action kind groups, e.g. signing_key.*, policy.*, member.*
|
|
17801
18020
|
|
|
17802
18021
|
ApprovalRequirement:
|
|
17803
18022
|
type: object
|