@1claw/openapi-spec 0.61.41 → 0.61.43

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 +1627 -863
  2. package/openapi.yaml +451 -698
  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.41",
5
+ "version": "0.61.43",
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"
@@ -1186,8 +1186,10 @@
1186
1186
  "type": "string"
1187
1187
  },
1188
1188
  "prf_supported": {
1189
- "type": "boolean",
1190
- "nullable": true,
1189
+ "type": [
1190
+ "boolean",
1191
+ "null"
1192
+ ],
1191
1193
  "description": "`true` — can hold a wallet share (WebAuthn PRF).\n`false` — cannot. `null` — registered before this\nwas captured.\n"
1192
1194
  }
1193
1195
  }
@@ -6192,10 +6194,11 @@
6192
6194
  ]
6193
6195
  },
6194
6196
  "notes": {
6195
- "type": "string",
6196
- "nullable": true,
6197
- "description": "Internal review notes",
6198
- "never public": null
6197
+ "type": [
6198
+ "string",
6199
+ "null"
6200
+ ],
6201
+ "description": "Internal review notes, never public"
6199
6202
  }
6200
6203
  }
6201
6204
  }
@@ -7195,9 +7198,11 @@
7195
7198
  ]
7196
7199
  },
7197
7200
  "frozen_at": {
7198
- "type": "string",
7199
- "format": "date-time",
7200
- "nullable": true
7201
+ "type": [
7202
+ "string",
7203
+ "null"
7204
+ ],
7205
+ "format": "date-time"
7201
7206
  }
7202
7207
  }
7203
7208
  }
@@ -7552,31 +7557,6 @@
7552
7557
  }
7553
7558
  }
7554
7559
  },
7555
- "/v1/org/env-vars/{id}": {
7556
- "delete": {
7557
- "tags": [
7558
- "Organization"
7559
- ],
7560
- "summary": "Delete org shared environment variable",
7561
- "operationId": "deleteOrgEnvVar",
7562
- "parameters": [
7563
- {
7564
- "name": "id",
7565
- "in": "path",
7566
- "required": true,
7567
- "schema": {
7568
- "type": "string",
7569
- "format": "uuid"
7570
- }
7571
- }
7572
- ],
7573
- "responses": {
7574
- "204": {
7575
- "description": "Deleted"
7576
- }
7577
- }
7578
- }
7579
- },
7580
7560
  "/v1/org/env-vars/{id}/link": {
7581
7561
  "post": {
7582
7562
  "tags": [
@@ -9711,8 +9691,7 @@
9711
9691
  },
9712
9692
  "value": {
9713
9693
  "type": "string",
9714
- "description": "Major units",
9715
- "e.g. \"0.5\".": null
9694
+ "description": "Major units, e.g. \"0.5\"."
9716
9695
  },
9717
9696
  "memo": {
9718
9697
  "type": "string"
@@ -10533,8 +10512,7 @@
10533
10512
  },
10534
10513
  "data": {
10535
10514
  "type": "string",
10536
- "description": "Hex calldata",
10537
- "optional.": null
10515
+ "description": "Hex calldata, optional."
10538
10516
  }
10539
10517
  }
10540
10518
  }
@@ -10667,8 +10645,10 @@
10667
10645
  "type": "string"
10668
10646
  },
10669
10647
  "deploy_tx_hash": {
10670
- "type": "string",
10671
- "nullable": true
10648
+ "type": [
10649
+ "string",
10650
+ "null"
10651
+ ]
10672
10652
  },
10673
10653
  "tx_hash": {
10674
10654
  "type": "string"
@@ -10782,9 +10762,7 @@
10782
10762
  },
10783
10763
  "allowance_amount": {
10784
10764
  "type": "string",
10785
- "description": "Base units",
10786
- "decimal string": null,
10787
- "≤ 2^96-1.": null
10765
+ "description": "Base units, decimal string, ≤ 2^96-1."
10788
10766
  },
10789
10767
  "reset_time_min": {
10790
10768
  "type": "integer",
@@ -10927,8 +10905,7 @@
10927
10905
  },
10928
10906
  "amount": {
10929
10907
  "type": "string",
10930
- "description": "Base units",
10931
- "decimal string.": null
10908
+ "description": "Base units, decimal string."
10932
10909
  },
10933
10910
  "token": {
10934
10911
  "type": "string",
@@ -11569,10 +11546,12 @@
11569
11546
  "type": "object",
11570
11547
  "properties": {
11571
11548
  "policy": {
11572
- "nullable": true,
11573
- "allOf": [
11549
+ "oneOf": [
11574
11550
  {
11575
11551
  "$ref": "#/components/schemas/SpendPolicyResponse"
11552
+ },
11553
+ {
11554
+ "type": "null"
11576
11555
  }
11577
11556
  ]
11578
11557
  }
@@ -12811,9 +12790,11 @@
12811
12790
  "type": "object",
12812
12791
  "properties": {
12813
12792
  "api_key_expires_at": {
12814
- "type": "string",
12793
+ "type": [
12794
+ "string",
12795
+ "null"
12796
+ ],
12815
12797
  "format": "date-time",
12816
- "nullable": true,
12817
12798
  "description": "Optional expiration for the new key."
12818
12799
  }
12819
12800
  }
@@ -12837,9 +12818,11 @@
12837
12818
  "type": "string"
12838
12819
  },
12839
12820
  "api_key_expires_at": {
12840
- "type": "string",
12841
- "format": "date-time",
12842
- "nullable": true
12821
+ "type": [
12822
+ "string",
12823
+ "null"
12824
+ ],
12825
+ "format": "date-time"
12843
12826
  }
12844
12827
  }
12845
12828
  }
@@ -13169,8 +13152,10 @@
13169
13152
  "type": "string"
13170
13153
  },
13171
13154
  "description": {
13172
- "type": "string",
13173
- "nullable": true
13155
+ "type": [
13156
+ "string",
13157
+ "null"
13158
+ ]
13174
13159
  },
13175
13160
  "spec": {
13176
13161
  "type": "object",
@@ -14317,9 +14302,11 @@
14317
14302
  "format": "date-time"
14318
14303
  },
14319
14304
  "details": {
14320
- "type": "object",
14321
- "additionalProperties": true,
14322
- "nullable": true
14305
+ "type": [
14306
+ "object",
14307
+ "null"
14308
+ ],
14309
+ "additionalProperties": true
14323
14310
  }
14324
14311
  }
14325
14312
  }
@@ -18151,8 +18138,14 @@
18151
18138
  "type": "object",
18152
18139
  "properties": {
18153
18140
  "verdict": {
18154
- "$ref": "#/components/schemas/RiskVerdict",
18155
- "nullable": true
18141
+ "oneOf": [
18142
+ {
18143
+ "$ref": "#/components/schemas/RiskVerdict"
18144
+ },
18145
+ {
18146
+ "type": "null"
18147
+ }
18148
+ ]
18156
18149
  }
18157
18150
  }
18158
18151
  }
@@ -18625,8 +18618,7 @@
18625
18618
  }
18626
18619
  },
18627
18620
  "400": {
18628
- "description": "Not a usable 402 challenge",
18629
- "or a non-USDC asset": null
18621
+ "description": "Not a usable 402 challenge, or a non-USDC asset"
18630
18622
  },
18631
18623
  "403": {
18632
18624
  "description": "pay is not enabled for this agent"
@@ -18678,8 +18670,7 @@
18678
18670
  }
18679
18671
  },
18680
18672
  "403": {
18681
- "description": "Policy refused",
18682
- "or the required authorization was absent": null
18673
+ "description": "Policy refused, or the required authorization was absent"
18683
18674
  },
18684
18675
  "409": {
18685
18676
  "description": "ChallengeExpired. Re-fetch the resource for a fresh 402 and prepare again — re-preparing from the stored bytes would reproduce the same expired window.\n"
@@ -18718,11 +18709,13 @@
18718
18709
  "type": "integer"
18719
18710
  },
18720
18711
  "allowed_paytos": {
18721
- "type": "array",
18712
+ "type": [
18713
+ "array",
18714
+ "null"
18715
+ ],
18722
18716
  "items": {
18723
18717
  "type": "string"
18724
- },
18725
- "nullable": true
18718
+ }
18726
18719
  }
18727
18720
  }
18728
18721
  }
@@ -18763,9 +18756,7 @@
18763
18756
  "description": "Invalid terms"
18764
18757
  },
18765
18758
  "403": {
18766
- "description": "Not a human caller",
18767
- "grant mode disabled": null,
18768
- "or over the agent's maximum": null
18759
+ "description": "Not a human caller, grant mode disabled, or over the agent's maximum"
18769
18760
  }
18770
18761
  }
18771
18762
  }
@@ -18806,9 +18797,7 @@
18806
18797
  "description": "Grant created"
18807
18798
  },
18808
18799
  "403": {
18809
- "description": "Not a human caller",
18810
- "grant mode disabled": null,
18811
- "or terms exceed the agent's maximum": null
18800
+ "description": "Not a human caller, grant mode disabled, or terms exceed the agent's maximum"
18812
18801
  }
18813
18802
  }
18814
18803
  }
@@ -18901,12 +18890,10 @@
18901
18890
  ],
18902
18891
  "responses": {
18903
18892
  "200": {
18904
- "description": "Quote and status",
18905
- "rendered from the stored preimage": null
18893
+ "description": "Quote and status, rendered from the stored preimage"
18906
18894
  },
18907
18895
  "403": {
18908
- "description": "Not a human caller",
18909
- "or the session was raised for someone else": null
18896
+ "description": "Not a human caller, or the session was raised for someone else"
18910
18897
  }
18911
18898
  }
18912
18899
  }
@@ -18971,8 +18958,7 @@
18971
18958
  "description": "Revoked"
18972
18959
  },
18973
18960
  "404": {
18974
- "description": "Not found",
18975
- "or already revoked": null
18961
+ "description": "Not found, or already revoked"
18976
18962
  }
18977
18963
  }
18978
18964
  }
@@ -21891,12 +21877,16 @@
21891
21877
  "type": "boolean"
21892
21878
  },
21893
21879
  "message": {
21894
- "type": "string",
21895
- "nullable": true
21880
+ "type": [
21881
+ "string",
21882
+ "null"
21883
+ ]
21896
21884
  },
21897
21885
  "error": {
21898
- "type": "string",
21899
- "nullable": true
21886
+ "type": [
21887
+ "string",
21888
+ "null"
21889
+ ]
21900
21890
  }
21901
21891
  }
21902
21892
  }
@@ -22268,8 +22258,10 @@
22268
22258
  "type": "integer"
22269
22259
  },
22270
22260
  "would_write_rule": {
22271
- "type": "object",
22272
- "nullable": true
22261
+ "type": [
22262
+ "object",
22263
+ "null"
22264
+ ]
22273
22265
  },
22274
22266
  "blocked": {
22275
22267
  "type": "string",
@@ -23118,8 +23110,10 @@
23118
23110
  "type": "integer"
23119
23111
  },
23120
23112
  "avg_rating": {
23121
- "type": "number",
23122
- "nullable": true
23113
+ "type": [
23114
+ "number",
23115
+ "null"
23116
+ ]
23123
23117
  },
23124
23118
  "review_count": {
23125
23119
  "type": "integer"
@@ -23368,8 +23362,10 @@
23368
23362
  "type": "object"
23369
23363
  },
23370
23364
  "confidence": {
23371
- "type": "string",
23372
- "nullable": true
23365
+ "type": [
23366
+ "string",
23367
+ "null"
23368
+ ]
23373
23369
  },
23374
23370
  "why_we_believe_this": {
23375
23371
  "type": "array",
@@ -23834,8 +23830,10 @@
23834
23830
  ],
23835
23831
  "properties": {
23836
23832
  "likelihood": {
23837
- "type": "number",
23838
- "nullable": true,
23833
+ "type": [
23834
+ "number",
23835
+ "null"
23836
+ ],
23839
23837
  "description": "Absent when there is no comparable history."
23840
23838
  },
23841
23839
  "reasoning": {
@@ -24542,8 +24540,10 @@
24542
24540
  "type": "string"
24543
24541
  },
24544
24542
  "authorization_url": {
24545
- "type": "string",
24546
- "nullable": true,
24543
+ "type": [
24544
+ "string",
24545
+ "null"
24546
+ ],
24547
24547
  "description": "Absent for connectors that use a pasted API key rather than OAuth."
24548
24548
  },
24549
24549
  "next_step": {
@@ -29544,6 +29544,62 @@
29544
29544
  }
29545
29545
  }
29546
29546
  },
29547
+ "/v1/runtimes/{runtime_id}/agent-token/renew": {
29548
+ "parameters": [
29549
+ {
29550
+ "name": "runtime_id",
29551
+ "in": "path",
29552
+ "required": true,
29553
+ "schema": {
29554
+ "type": "string"
29555
+ }
29556
+ }
29557
+ ],
29558
+ "post": {
29559
+ "tags": [
29560
+ "Runtimes"
29561
+ ],
29562
+ "summary": "Renew this runtime's own agent JWT before it expires",
29563
+ "description": "Called by the runtime container itself, not by a human or an external client.\nA runtime's `ONECLAW_AGENT_TOKEN` is a short-lived JWT that Cloud Run resolves from Secret Manager when the instance starts and never again, so a container that outlives the TTL loses its credential — and with it every 1claw tool — until it is restarted. This lets it replace the token in place instead.\nAuthenticated by the credential being renewed: the caller must present a still-valid runtime-bound agent JWT together with a matching `X-1Claw-Runtime-Id` header, and must be the agent that runtime is bound to. It grants nothing new — the same claims with a later expiry — and stops working the moment the token lapses, the token is revoked, the agent is suspended, or the runtime is no longer deployed. Exempt from the monthly request quota: upkeep of an already-paid-for runtime is not itself a billable request.",
29564
+ "operationId": "renew_runtime_agent_token",
29565
+ "responses": {
29566
+ "200": {
29567
+ "description": "A fresh access token",
29568
+ "content": {
29569
+ "application/json": {
29570
+ "schema": {
29571
+ "type": "object",
29572
+ "properties": {
29573
+ "access_token": {
29574
+ "type": "string"
29575
+ },
29576
+ "expires_in": {
29577
+ "type": "integer"
29578
+ },
29579
+ "token_type": {
29580
+ "type": "string",
29581
+ "example": "Bearer"
29582
+ }
29583
+ }
29584
+ }
29585
+ }
29586
+ }
29587
+ },
29588
+ "400": {
29589
+ "description": "The runtime is not deployed, so it has nothing to renew"
29590
+ },
29591
+ "401": {
29592
+ "description": "Unauthenticated, or the token presented has already expired"
29593
+ },
29594
+ "403": {
29595
+ "description": "Not an agent caller"
29596
+ },
29597
+ "404": {
29598
+ "description": "No such runtime, or it is not bound to this agent"
29599
+ }
29600
+ }
29601
+ }
29602
+ },
29547
29603
  "/v1/otel/stream": {
29548
29604
  "get": {
29549
29605
  "tags": [
@@ -29656,8 +29712,10 @@
29656
29712
  "content": {
29657
29713
  "application/json": {
29658
29714
  "schema": {
29659
- "nullable": true,
29660
- "type": "object",
29715
+ "type": [
29716
+ "object",
29717
+ "null"
29718
+ ],
29661
29719
  "properties": {
29662
29720
  "enabled": {
29663
29721
  "type": "boolean"
@@ -29760,11 +29818,7 @@
29760
29818
  "description": "The updated config, header names only"
29761
29819
  },
29762
29820
  "400": {
29763
- "description": "Endpoint refused (scheme",
29764
- "credentials": null,
29765
- "private or unresolvable host)": null,
29766
- "reserved header": null,
29767
- "or enabling with no endpoint": null
29821
+ "description": "Endpoint refused (scheme, credentials, private or unresolvable host), reserved header, or enabling with no endpoint"
29768
29822
  },
29769
29823
  "401": {
29770
29824
  "description": "Unauthenticated"
@@ -29809,8 +29863,7 @@
29809
29863
  }
29810
29864
  },
29811
29865
  "400": {
29812
- "description": "Not configured",
29813
- "or the send failed": null
29866
+ "description": "Not configured, or the send failed"
29814
29867
  },
29815
29868
  "401": {
29816
29869
  "description": "Unauthenticated"
@@ -29914,13 +29967,17 @@
29914
29967
  }
29915
29968
  },
29916
29969
  "latency_p50_ms": {
29917
- "type": "number",
29918
- "nullable": true,
29970
+ "type": [
29971
+ "number",
29972
+ "null"
29973
+ ],
29919
29974
  "description": "Null when nothing in the window recorded a duration."
29920
29975
  },
29921
29976
  "latency_p95_ms": {
29922
- "type": "number",
29923
- "nullable": true
29977
+ "type": [
29978
+ "number",
29979
+ "null"
29980
+ ]
29924
29981
  },
29925
29982
  "total_executions": {
29926
29983
  "type": "integer"
@@ -29984,47 +30041,63 @@
29984
30041
  "format": "uuid"
29985
30042
  },
29986
30043
  "score": {
29987
- "type": "integer",
30044
+ "type": [
30045
+ "integer",
30046
+ "null"
30047
+ ],
29988
30048
  "minimum": 0,
29989
- "maximum": 100,
29990
- "nullable": true
30049
+ "maximum": 100
29991
30050
  },
29992
30051
  "shadow": {
29993
30052
  "type": "boolean",
29994
30053
  "description": "True while the engine is recommend-only or the agent is unscored."
29995
30054
  },
29996
30055
  "updated_at": {
29997
- "type": "string",
29998
- "format": "date-time",
29999
- "nullable": true
30056
+ "type": [
30057
+ "string",
30058
+ "null"
30059
+ ],
30060
+ "format": "date-time"
30000
30061
  },
30001
30062
  "components": {
30002
30063
  "type": "object",
30003
30064
  "description": "0-100 per component; null means no source in this deployment.",
30004
30065
  "properties": {
30005
30066
  "denial_rate": {
30006
- "type": "integer",
30007
- "nullable": true
30067
+ "type": [
30068
+ "integer",
30069
+ "null"
30070
+ ]
30008
30071
  },
30009
30072
  "threat_hits": {
30010
- "type": "integer",
30011
- "nullable": true
30073
+ "type": [
30074
+ "integer",
30075
+ "null"
30076
+ ]
30012
30077
  },
30013
30078
  "egress_blocks": {
30014
- "type": "integer",
30015
- "nullable": true
30079
+ "type": [
30080
+ "integer",
30081
+ "null"
30082
+ ]
30016
30083
  },
30017
30084
  "spend_velocity": {
30018
- "type": "integer",
30019
- "nullable": true
30085
+ "type": [
30086
+ "integer",
30087
+ "null"
30088
+ ]
30020
30089
  },
30021
30090
  "off_hours": {
30022
- "type": "integer",
30023
- "nullable": true
30091
+ "type": [
30092
+ "integer",
30093
+ "null"
30094
+ ]
30024
30095
  },
30025
30096
  "consensus_bypass": {
30026
- "type": "integer",
30027
- "nullable": true
30097
+ "type": [
30098
+ "integer",
30099
+ "null"
30100
+ ]
30028
30101
  }
30029
30102
  }
30030
30103
  },
@@ -30070,8 +30143,10 @@
30070
30143
  "type": "string"
30071
30144
  },
30072
30145
  "resource_type": {
30073
- "type": "string",
30074
- "nullable": true
30146
+ "type": [
30147
+ "string",
30148
+ "null"
30149
+ ]
30075
30150
  }
30076
30151
  }
30077
30152
  }
@@ -30519,8 +30594,10 @@
30519
30594
  "type": "boolean"
30520
30595
  },
30521
30596
  "overrides": {
30522
- "type": "string",
30523
- "nullable": true
30597
+ "type": [
30598
+ "string",
30599
+ "null"
30600
+ ]
30524
30601
  }
30525
30602
  }
30526
30603
  }
@@ -30647,6 +30724,39 @@
30647
30724
  }
30648
30725
  }
30649
30726
  },
30727
+ "/v1/runtimes/{runtime_id}/enable-recommended-tools": {
30728
+ "parameters": [
30729
+ {
30730
+ "name": "runtime_id",
30731
+ "in": "path",
30732
+ "required": true,
30733
+ "schema": {
30734
+ "type": "string"
30735
+ }
30736
+ }
30737
+ ],
30738
+ "post": {
30739
+ "tags": [
30740
+ "Runtimes"
30741
+ ],
30742
+ "summary": "Enable the recommended tool set (image generation, web search, memory, Shroud, intents) on the runtime's agent. Human-only.",
30743
+ "operationId": "enable_recommended_tools",
30744
+ "responses": {
30745
+ "200": {
30746
+ "description": "Success"
30747
+ },
30748
+ "401": {
30749
+ "description": "Unauthenticated"
30750
+ },
30751
+ "403": {
30752
+ "description": "Forbidden, or the plan does not include this"
30753
+ },
30754
+ "404": {
30755
+ "description": "Not found"
30756
+ }
30757
+ }
30758
+ }
30759
+ },
30650
30760
  "/v1/vaults/{vault_id}/secret-version-disable/{*path_and_version}": {
30651
30761
  "parameters": [
30652
30762
  {
@@ -30833,8 +30943,10 @@
30833
30943
  "type": "boolean"
30834
30944
  },
30835
30945
  "license": {
30836
- "type": "string",
30837
- "nullable": true,
30946
+ "type": [
30947
+ "string",
30948
+ "null"
30949
+ ],
30838
30950
  "description": "SPDX id, or null when the agent is proprietary"
30839
30951
  },
30840
30952
  "requires_vendor_subscription": {
@@ -30842,8 +30954,10 @@
30842
30954
  "description": "Whether the agent needs a paid account with its vendor. Independent of licence — the Codex CLI is Apache-2.0 and still requires a ChatGPT plan."
30843
30955
  },
30844
30956
  "vendor_credential_env": {
30845
- "type": "string",
30846
- "nullable": true
30957
+ "type": [
30958
+ "string",
30959
+ "null"
30960
+ ]
30847
30961
  }
30848
30962
  }
30849
30963
  }
@@ -31006,22 +31120,30 @@
31006
31120
  "type": "string"
31007
31121
  },
31008
31122
  "platform": {
31009
- "type": "string",
31010
- "nullable": true
31123
+ "type": [
31124
+ "string",
31125
+ "null"
31126
+ ]
31011
31127
  },
31012
31128
  "bridge_version": {
31013
- "type": "string",
31014
- "nullable": true
31129
+ "type": [
31130
+ "string",
31131
+ "null"
31132
+ ]
31015
31133
  },
31016
31134
  "last_seen_at": {
31017
- "type": "string",
31018
- "format": "date-time",
31019
- "nullable": true
31135
+ "type": [
31136
+ "string",
31137
+ "null"
31138
+ ],
31139
+ "format": "date-time"
31020
31140
  },
31021
31141
  "revoked_at": {
31022
- "type": "string",
31142
+ "type": [
31143
+ "string",
31144
+ "null"
31145
+ ],
31023
31146
  "format": "date-time",
31024
- "nullable": true,
31025
31147
  "description": "Set once revoked. A revoked credential stops resolving."
31026
31148
  },
31027
31149
  "created_at": {
@@ -31916,8 +32038,10 @@
31916
32038
  "description": "Sum of the blast radius. The sort key."
31917
32039
  },
31918
32040
  "resolved_by": {
31919
- "type": "string",
31920
- "nullable": true
32041
+ "type": [
32042
+ "string",
32043
+ "null"
32044
+ ]
31921
32045
  },
31922
32046
  "created_at": {
31923
32047
  "type": "string",
@@ -31974,16 +32098,22 @@
31974
32098
  "type": "boolean"
31975
32099
  },
31976
32100
  "pay_max_usd": {
31977
- "type": "string",
31978
- "nullable": true
32101
+ "type": [
32102
+ "string",
32103
+ "null"
32104
+ ]
31979
32105
  },
31980
32106
  "pay_daily_limit_usd": {
31981
- "type": "string",
31982
- "nullable": true
32107
+ "type": [
32108
+ "string",
32109
+ "null"
32110
+ ]
31983
32111
  },
31984
32112
  "pay_payto_allowlist": {
31985
- "type": "array",
31986
- "nullable": true,
32113
+ "type": [
32114
+ "array",
32115
+ "null"
32116
+ ],
31987
32117
  "items": {
31988
32118
  "type": "string"
31989
32119
  },
@@ -32000,12 +32130,16 @@
32000
32130
  "type": "boolean"
32001
32131
  },
32002
32132
  "pay_grant_max_usd": {
32003
- "type": "string",
32004
- "nullable": true
32133
+ "type": [
32134
+ "string",
32135
+ "null"
32136
+ ]
32005
32137
  },
32006
32138
  "pay_grant_max_ttl_secs": {
32007
- "type": "integer",
32008
- "nullable": true
32139
+ "type": [
32140
+ "integer",
32141
+ "null"
32142
+ ]
32009
32143
  }
32010
32144
  }
32011
32145
  },
@@ -32062,9 +32196,11 @@
32062
32196
  "additionalProperties": true
32063
32197
  },
32064
32198
  "valid_before": {
32065
- "type": "string",
32066
- "format": "date-time",
32067
- "nullable": true
32199
+ "type": [
32200
+ "string",
32201
+ "null"
32202
+ ],
32203
+ "format": "date-time"
32068
32204
  },
32069
32205
  "expires_at": {
32070
32206
  "type": "string",
@@ -32123,9 +32259,11 @@
32123
32259
  "type": "string"
32124
32260
  },
32125
32261
  "grant_id": {
32126
- "type": "string",
32127
- "format": "uuid",
32128
- "nullable": true
32262
+ "type": [
32263
+ "string",
32264
+ "null"
32265
+ ],
32266
+ "format": "uuid"
32129
32267
  }
32130
32268
  }
32131
32269
  },
@@ -32136,13 +32274,17 @@
32136
32274
  "type": "integer"
32137
32275
  },
32138
32276
  "settled": {
32139
- "type": "boolean",
32140
- "nullable": true,
32277
+ "type": [
32278
+ "boolean",
32279
+ "null"
32280
+ ],
32141
32281
  "description": "Null means the caller could not tell — a timeout after the header was sent, where the payment may or may not have been presented.\n"
32142
32282
  },
32143
32283
  "error": {
32144
- "type": "string",
32145
- "nullable": true
32284
+ "type": [
32285
+ "string",
32286
+ "null"
32287
+ ]
32146
32288
  }
32147
32289
  }
32148
32290
  },
@@ -32161,8 +32303,10 @@
32161
32303
  "type": "integer"
32162
32304
  },
32163
32305
  "allowed_paytos": {
32164
- "type": "array",
32165
- "nullable": true,
32306
+ "type": [
32307
+ "array",
32308
+ "null"
32309
+ ],
32166
32310
  "items": {
32167
32311
  "type": "string"
32168
32312
  },
@@ -32223,9 +32367,11 @@
32223
32367
  "format": "uuid"
32224
32368
  },
32225
32369
  "agent_id": {
32226
- "type": "string",
32227
- "format": "uuid",
32228
- "nullable": true
32370
+ "type": [
32371
+ "string",
32372
+ "null"
32373
+ ],
32374
+ "format": "uuid"
32229
32375
  },
32230
32376
  "issuer": {
32231
32377
  "type": "string",
@@ -32368,14 +32514,18 @@
32368
32514
  "type": "integer"
32369
32515
  },
32370
32516
  "reveal_expires_at": {
32371
- "type": "string",
32372
- "format": "date-time",
32373
- "nullable": true
32517
+ "type": [
32518
+ "string",
32519
+ "null"
32520
+ ],
32521
+ "format": "date-time"
32374
32522
  },
32375
32523
  "void_after": {
32376
- "type": "string",
32377
- "format": "date-time",
32378
- "nullable": true
32524
+ "type": [
32525
+ "string",
32526
+ "null"
32527
+ ],
32528
+ "format": "date-time"
32379
32529
  }
32380
32530
  }
32381
32531
  },
@@ -33843,8 +33993,10 @@
33843
33993
  "type": "string"
33844
33994
  },
33845
33995
  "fingerprint": {
33846
- "type": "string",
33847
- "nullable": true
33996
+ "type": [
33997
+ "string",
33998
+ "null"
33999
+ ]
33848
34000
  },
33849
34001
  "agent_id": {
33850
34002
  "type": "string",
@@ -33980,8 +34132,10 @@
33980
34132
  }
33981
34133
  },
33982
34134
  "token_ttl_seconds": {
33983
- "type": "integer",
33984
- "nullable": true,
34135
+ "type": [
34136
+ "integer",
34137
+ "null"
34138
+ ],
33985
34139
  "description": "Per-agent token TTL in seconds (overrides global default)"
33986
34140
  },
33987
34141
  "vault_ids": {
@@ -34061,13 +34215,17 @@
34061
34215
  "description": "Per-chain guardrail overrides. Keys are signing chains (ethereum, bitcoin, solana, xrp, cardano, tron).\nEach value may include max_value, daily_limit, to_allowlist, token_allowlist, max_per_day,\noverhead_budget, max_ata_creates_per_day, max_fee_per_gas_gwei, max_gas_limit,\ngas_daily_budget_native (UTC-day cumulative EVM gas estimate in native units).\nStrictest of global and per-chain limits wins. Daily limits apply per chain family spend, not cross-chain totals.\n"
34062
34216
  },
34063
34217
  "tx_max_per_day": {
34064
- "type": "integer",
34065
- "nullable": true,
34218
+ "type": [
34219
+ "integer",
34220
+ "null"
34221
+ ],
34066
34222
  "description": "Max transactions per UTC calendar day. Null = unlimited."
34067
34223
  },
34068
34224
  "tx_overhead_budget": {
34069
- "type": "object",
34070
- "nullable": true,
34225
+ "type": [
34226
+ "object",
34227
+ "null"
34228
+ ],
34071
34229
  "additionalProperties": {
34072
34230
  "type": "string"
34073
34231
  },
@@ -34109,15 +34267,19 @@
34109
34267
  "description": "When true, card orders route through the human approval queue before x402 payment."
34110
34268
  },
34111
34269
  "tx_approval_policy": {
34112
- "type": "object",
34270
+ "type": [
34271
+ "object",
34272
+ "null"
34273
+ ],
34113
34274
  "additionalProperties": true,
34114
- "nullable": true,
34115
34275
  "description": "Graduated transaction approval policy (HITL thresholds). Separate from hard guardrails."
34116
34276
  },
34117
34277
  "action_approval_policy": {
34118
- "type": "object",
34278
+ "type": [
34279
+ "object",
34280
+ "null"
34281
+ ],
34119
34282
  "additionalProperties": true,
34120
- "nullable": true,
34121
34283
  "description": "Which business actions this agent must ask a human about, and above what\namount. `{}` means no per-action rules.\n\nShape: `{ \"default_mode\": \"deny|approve|allow\", \"rules\": [ { \"action_type\":\n\"refund.create\", \"mode\": \"approve\", \"require_for_amount_above_usd\": \"50\",\n\"summary_template\": \"Refund {{amount_usd}} to {{customer_email}}\" } ] }`.\n\nA rule can only raise the bar. Editing this is classified as a guardrail\nwidening, so it routes through the same approval flow as loosening a\ntransaction limit. Malformed rules are rejected on write rather than\nignored at request time.\n"
34122
34284
  },
34123
34285
  "typed_data_policy": {
@@ -34142,28 +34304,38 @@
34142
34304
  "description": "Block unlimited ERC-20 approvals (max uint256 / setApprovalForAll)."
34143
34305
  },
34144
34306
  "tx_per_recipient_max_per_day": {
34145
- "type": "integer",
34146
- "nullable": true,
34307
+ "type": [
34308
+ "integer",
34309
+ "null"
34310
+ ],
34147
34311
  "description": "Max transactions to the same recipient address per UTC day."
34148
34312
  },
34149
34313
  "tx_per_recipient_daily_limit": {
34150
- "type": "string",
34151
- "nullable": true,
34314
+ "type": [
34315
+ "string",
34316
+ "null"
34317
+ ],
34152
34318
  "description": "Max native-unit spend to the same recipient per UTC day."
34153
34319
  },
34154
34320
  "new_recipient_cap_native": {
34155
- "type": "string",
34156
- "nullable": true,
34321
+ "type": [
34322
+ "string",
34323
+ "null"
34324
+ ],
34157
34325
  "description": "Cap on first-time recipient spend in native units."
34158
34326
  },
34159
34327
  "tx_max_value_usd": {
34160
- "type": "string",
34161
- "nullable": true,
34328
+ "type": [
34329
+ "string",
34330
+ "null"
34331
+ ],
34162
34332
  "description": "Per-transaction USD cap (requires price oracle)."
34163
34333
  },
34164
34334
  "tx_daily_limit_usd": {
34165
- "type": "string",
34166
- "nullable": true,
34335
+ "type": [
34336
+ "string",
34337
+ "null"
34338
+ ],
34167
34339
  "description": "Rolling 24h USD spend cap (requires price oracle)."
34168
34340
  },
34169
34341
  "raw_signing_policy": {
@@ -34192,9 +34364,11 @@
34192
34364
  "description": "Allow EIP-7702 (tx type 4) set-code transactions."
34193
34365
  },
34194
34366
  "api_key_expires_at": {
34195
- "type": "string",
34367
+ "type": [
34368
+ "string",
34369
+ "null"
34370
+ ],
34196
34371
  "format": "date-time",
34197
- "nullable": true,
34198
34372
  "description": "Optional expiration time for the agent's API key."
34199
34373
  },
34200
34374
  "environment": {
@@ -34361,8 +34535,10 @@
34361
34535
  }
34362
34536
  },
34363
34537
  "token_ttl_seconds": {
34364
- "type": "integer",
34365
- "nullable": true
34538
+ "type": [
34539
+ "integer",
34540
+ "null"
34541
+ ]
34366
34542
  },
34367
34543
  "vault_ids": {
34368
34544
  "type": "array",
@@ -34379,8 +34555,10 @@
34379
34555
  "$ref": "#/components/schemas/ShroudConfig"
34380
34556
  },
34381
34557
  "system_prompt": {
34382
- "type": "string",
34383
- "nullable": true,
34558
+ "type": [
34559
+ "string",
34560
+ "null"
34561
+ ],
34384
34562
  "description": "Default system prompt for agent chat (null clears)."
34385
34563
  },
34386
34564
  "execution_intents_enabled": {
@@ -34401,13 +34579,17 @@
34401
34579
  "description": "When true, execute requests must arrive via TEE and all direct secret reads are blocked (Pro+ only)"
34402
34580
  },
34403
34581
  "tx_max_per_day": {
34404
- "type": "integer",
34405
- "nullable": true,
34582
+ "type": [
34583
+ "integer",
34584
+ "null"
34585
+ ],
34406
34586
  "description": "Max transactions per UTC calendar day. Null = unlimited."
34407
34587
  },
34408
34588
  "tx_overhead_budget": {
34409
- "type": "object",
34410
- "nullable": true,
34589
+ "type": [
34590
+ "object",
34591
+ "null"
34592
+ ],
34411
34593
  "additionalProperties": {
34412
34594
  "type": "string"
34413
34595
  },
@@ -34425,13 +34607,17 @@
34425
34607
  "description": "Whether this agent may order payment cards (x402 card ordering). Pro+ tier."
34426
34608
  },
34427
34609
  "card_max_order_usd": {
34428
- "type": "string",
34429
- "nullable": true,
34610
+ "type": [
34611
+ "string",
34612
+ "null"
34613
+ ],
34430
34614
  "description": "Maximum USD amount for a single card order. null clears."
34431
34615
  },
34432
34616
  "card_daily_limit_usd": {
34433
- "type": "string",
34434
- "nullable": true,
34617
+ "type": [
34618
+ "string",
34619
+ "null"
34620
+ ],
34435
34621
  "description": "Maximum cumulative USD spent ordering cards per rolling 24h window. null clears."
34436
34622
  },
34437
34623
  "card_payto_allowlist": {
@@ -34450,33 +34636,41 @@
34450
34636
  "description": "When true, card orders route through the human approval queue before x402 payment."
34451
34637
  },
34452
34638
  "tx_approval_policy": {
34453
- "type": "object",
34639
+ "type": [
34640
+ "object",
34641
+ "null"
34642
+ ],
34454
34643
  "additionalProperties": true,
34455
- "nullable": true,
34456
34644
  "description": "Graduated transaction approval policy (HITL thresholds)."
34457
34645
  },
34458
34646
  "action_approval_policy": {
34459
- "type": "object",
34647
+ "type": [
34648
+ "object",
34649
+ "null"
34650
+ ],
34460
34651
  "additionalProperties": true,
34461
- "nullable": true,
34462
34652
  "description": "Which business actions this agent must ask a human about, and above what\namount. `{}` means no per-action rules.\n\nShape: `{ \"default_mode\": \"deny|approve|allow\", \"rules\": [ { \"action_type\":\n\"refund.create\", \"mode\": \"approve\", \"require_for_amount_above_usd\": \"50\",\n\"summary_template\": \"Refund {{amount_usd}} to {{customer_email}}\" } ] }`.\n\nA rule can only raise the bar. Editing this is classified as a guardrail\nwidening, so it routes through the same approval flow as loosening a\ntransaction limit. Malformed rules are rejected on write rather than\nignored at request time.\n"
34463
34653
  },
34464
34654
  "typed_data_policy": {
34465
- "type": "string",
34655
+ "type": [
34656
+ "string",
34657
+ "null"
34658
+ ],
34466
34659
  "enum": [
34467
34660
  "deny",
34468
34661
  "approve"
34469
34662
  ],
34470
- "nullable": true,
34471
34663
  "description": "EIP-712 escalation policy."
34472
34664
  },
34473
34665
  "simulation_failure_policy": {
34474
- "type": "string",
34666
+ "type": [
34667
+ "string",
34668
+ "null"
34669
+ ],
34475
34670
  "enum": [
34476
34671
  "deny",
34477
34672
  "approve"
34478
34673
  ],
34479
- "nullable": true,
34480
34674
  "description": "Simulation failure escalation policy."
34481
34675
  },
34482
34676
  "tx_block_unlimited_approvals": {
@@ -34484,28 +34678,38 @@
34484
34678
  "description": "Block unlimited ERC-20 approvals (max uint256 / setApprovalForAll)."
34485
34679
  },
34486
34680
  "tx_per_recipient_max_per_day": {
34487
- "type": "integer",
34488
- "nullable": true,
34681
+ "type": [
34682
+ "integer",
34683
+ "null"
34684
+ ],
34489
34685
  "description": "Max transactions to the same recipient per UTC day. Null clears."
34490
34686
  },
34491
34687
  "tx_per_recipient_daily_limit": {
34492
- "type": "string",
34493
- "nullable": true,
34688
+ "type": [
34689
+ "string",
34690
+ "null"
34691
+ ],
34494
34692
  "description": "Max native spend to same recipient per UTC day. Null clears."
34495
34693
  },
34496
34694
  "new_recipient_cap_native": {
34497
- "type": "string",
34498
- "nullable": true,
34695
+ "type": [
34696
+ "string",
34697
+ "null"
34698
+ ],
34499
34699
  "description": "First-time recipient native cap. Null clears."
34500
34700
  },
34501
34701
  "tx_max_value_usd": {
34502
- "type": "string",
34503
- "nullable": true,
34702
+ "type": [
34703
+ "string",
34704
+ "null"
34705
+ ],
34504
34706
  "description": "Per-tx USD cap. Null clears."
34505
34707
  },
34506
34708
  "tx_daily_limit_usd": {
34507
- "type": "string",
34508
- "nullable": true,
34709
+ "type": [
34710
+ "string",
34711
+ "null"
34712
+ ],
34509
34713
  "description": "Rolling 24h USD spend cap. Null clears."
34510
34714
  },
34511
34715
  "raw_signing_policy": {
@@ -34547,10 +34751,12 @@
34547
34751
  "description": "Allowlist of `aud` values the federation token-exchange may issue\ntokens for (e.g. `[\"https://api.anthropic.com\"]`). Empty array\nblocks all federation requests (zero-trust default).\n"
34548
34752
  },
34549
34753
  "federated_token_ttl_seconds": {
34550
- "type": "integer",
34754
+ "type": [
34755
+ "integer",
34756
+ "null"
34757
+ ],
34551
34758
  "minimum": 60,
34552
34759
  "maximum": 3600,
34553
- "nullable": true,
34554
34760
  "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"
34555
34761
  },
34556
34762
  "tx_token_allowlist": {
@@ -34578,14 +34784,18 @@
34578
34784
  "description": "Per-chain guardrail overrides. Keys are signing chains (ethereum, bitcoin, solana, xrp, cardano, tron).\nEach value may include max_value, daily_limit, to_allowlist, token_allowlist (legacy *_eth keys accepted),\nmax_fee_per_gas_gwei, max_gas_limit, gas_daily_budget_native (UTC-day cumulative EVM gas in native units).\nStrictest of global and per-chain limits wins. Daily limits apply per chain family spend, not cross-chain totals.\n"
34579
34785
  },
34580
34786
  "api_key_expires_at": {
34581
- "type": "string",
34787
+ "type": [
34788
+ "string",
34789
+ "null"
34790
+ ],
34582
34791
  "format": "date-time",
34583
- "nullable": true,
34584
34792
  "description": "Optional expiration time for the agent's API key. Set to null to clear."
34585
34793
  },
34586
34794
  "environment": {
34587
- "type": "string",
34588
- "nullable": true,
34795
+ "type": [
34796
+ "string",
34797
+ "null"
34798
+ ],
34589
34799
  "description": "Named environment for this agent (production, preview, development, or custom)."
34590
34800
  },
34591
34801
  "environment_locked": {
@@ -34727,8 +34937,10 @@
34727
34937
  }
34728
34938
  },
34729
34939
  "token_ttl_seconds": {
34730
- "type": "integer",
34731
- "nullable": true
34940
+ "type": [
34941
+ "integer",
34942
+ "null"
34943
+ ]
34732
34944
  },
34733
34945
  "vault_ids": {
34734
34946
  "type": "array",
@@ -34786,13 +34998,17 @@
34786
34998
  "description": "When true, execute requests must arrive via TEE and all direct secret reads are blocked (Pro+ only)"
34787
34999
  },
34788
35000
  "tx_max_per_day": {
34789
- "type": "integer",
34790
- "nullable": true,
35001
+ "type": [
35002
+ "integer",
35003
+ "null"
35004
+ ],
34791
35005
  "description": "Max transactions per UTC calendar day. Null = unlimited."
34792
35006
  },
34793
35007
  "tx_overhead_budget": {
34794
- "type": "object",
34795
- "nullable": true,
35008
+ "type": [
35009
+ "object",
35010
+ "null"
35011
+ ],
34796
35012
  "additionalProperties": {
34797
35013
  "type": "string"
34798
35014
  },
@@ -34833,56 +35049,74 @@
34833
35049
  "description": "When true, card orders route through the human approval queue before x402 payment."
34834
35050
  },
34835
35051
  "tx_approval_policy": {
34836
- "type": "object",
35052
+ "type": [
35053
+ "object",
35054
+ "null"
35055
+ ],
34837
35056
  "additionalProperties": true,
34838
- "nullable": true,
34839
35057
  "description": "Graduated transaction approval policy (HITL thresholds)."
34840
35058
  },
34841
35059
  "action_approval_policy": {
34842
- "type": "object",
35060
+ "type": [
35061
+ "object",
35062
+ "null"
35063
+ ],
34843
35064
  "additionalProperties": true,
34844
- "nullable": true,
34845
35065
  "description": "Which business actions this agent must ask a human about, and above what\namount. `{}` means no per-action rules.\n\nShape: `{ \"default_mode\": \"deny|approve|allow\", \"rules\": [ { \"action_type\":\n\"refund.create\", \"mode\": \"approve\", \"require_for_amount_above_usd\": \"50\",\n\"summary_template\": \"Refund {{amount_usd}} to {{customer_email}}\" } ] }`.\n\nA rule can only raise the bar. Editing this is classified as a guardrail\nwidening, so it routes through the same approval flow as loosening a\ntransaction limit. Malformed rules are rejected on write rather than\nignored at request time.\n"
34846
35066
  },
34847
35067
  "typed_data_policy": {
34848
- "type": "string",
35068
+ "type": [
35069
+ "string",
35070
+ "null"
35071
+ ],
34849
35072
  "enum": [
34850
35073
  "deny",
34851
35074
  "approve"
34852
- ],
34853
- "nullable": true
35075
+ ]
34854
35076
  },
34855
35077
  "simulation_failure_policy": {
34856
- "type": "string",
35078
+ "type": [
35079
+ "string",
35080
+ "null"
35081
+ ],
34857
35082
  "enum": [
34858
35083
  "deny",
34859
35084
  "approve"
34860
- ],
34861
- "nullable": true
35085
+ ]
34862
35086
  },
34863
35087
  "tx_block_unlimited_approvals": {
34864
35088
  "type": "boolean",
34865
35089
  "description": "Block unlimited ERC-20 approvals."
34866
35090
  },
34867
35091
  "tx_per_recipient_max_per_day": {
34868
- "type": "integer",
34869
- "nullable": true
35092
+ "type": [
35093
+ "integer",
35094
+ "null"
35095
+ ]
34870
35096
  },
34871
35097
  "tx_per_recipient_daily_limit": {
34872
- "type": "string",
34873
- "nullable": true
35098
+ "type": [
35099
+ "string",
35100
+ "null"
35101
+ ]
34874
35102
  },
34875
35103
  "new_recipient_cap_native": {
34876
- "type": "string",
34877
- "nullable": true
35104
+ "type": [
35105
+ "string",
35106
+ "null"
35107
+ ]
34878
35108
  },
34879
35109
  "tx_max_value_usd": {
34880
- "type": "string",
34881
- "nullable": true
35110
+ "type": [
35111
+ "string",
35112
+ "null"
35113
+ ]
34882
35114
  },
34883
35115
  "tx_daily_limit_usd": {
34884
- "type": "string",
34885
- "nullable": true
35116
+ "type": [
35117
+ "string",
35118
+ "null"
35119
+ ]
34886
35120
  },
34887
35121
  "raw_signing_policy": {
34888
35122
  "type": "string",
@@ -34893,9 +35127,11 @@
34893
35127
  ]
34894
35128
  },
34895
35129
  "personal_sign_policy": {
34896
- "type": "object",
34897
- "additionalProperties": true,
34898
- "nullable": true
35130
+ "type": [
35131
+ "object",
35132
+ "null"
35133
+ ],
35134
+ "additionalProperties": true
34899
35135
  },
34900
35136
  "allow_erc4337": {
34901
35137
  "type": "boolean"
@@ -34931,8 +35167,10 @@
34931
35167
  "description": "Allowlist of audience URIs the agent may federate to."
34932
35168
  },
34933
35169
  "federated_token_ttl_seconds": {
34934
- "type": "integer",
34935
- "nullable": true,
35170
+ "type": [
35171
+ "integer",
35172
+ "null"
35173
+ ],
34936
35174
  "description": "Per-agent TTL override for federation tokens (60..=3600)."
34937
35175
  },
34938
35176
  "signing_chains": {
@@ -34996,14 +35234,18 @@
34996
35234
  "description": "Per-chain-family daily spend in native major units (keys: evm, bitcoin, solana, xrp, cardano, tron)."
34997
35235
  },
34998
35236
  "api_key_expires_at": {
34999
- "type": "string",
35237
+ "type": [
35238
+ "string",
35239
+ "null"
35240
+ ],
35000
35241
  "format": "date-time",
35001
- "nullable": true,
35002
35242
  "description": "Optional expiration time for the agent's API key."
35003
35243
  },
35004
35244
  "evm_address": {
35005
- "type": "string",
35006
- "nullable": true,
35245
+ "type": [
35246
+ "string",
35247
+ "null"
35248
+ ],
35007
35249
  "description": "Agent's Ethereum EOA address (used as Safe signer for smart accounts and Intents API)."
35008
35250
  },
35009
35251
  "created_at": {
@@ -35026,8 +35268,10 @@
35026
35268
  }
35027
35269
  },
35028
35270
  "environment": {
35029
- "type": "string",
35030
- "nullable": true,
35271
+ "type": [
35272
+ "string",
35273
+ "null"
35274
+ ],
35031
35275
  "description": "Named environment this agent belongs to (production, preview, development, or custom)."
35032
35276
  },
35033
35277
  "environment_locked": {
@@ -35089,8 +35333,10 @@
35089
35333
  "type": "boolean"
35090
35334
  },
35091
35335
  "logo_url": {
35092
- "type": "string",
35093
- "nullable": true
35336
+ "type": [
35337
+ "string",
35338
+ "null"
35339
+ ]
35094
35340
  },
35095
35341
  "created_at": {
35096
35342
  "type": "string",
@@ -35150,8 +35396,10 @@
35150
35396
  "default": true
35151
35397
  },
35152
35398
  "logo_url": {
35153
- "type": "string",
35154
- "nullable": true
35399
+ "type": [
35400
+ "string",
35401
+ "null"
35402
+ ]
35155
35403
  }
35156
35404
  }
35157
35405
  },
@@ -36201,8 +36449,10 @@
36201
36449
  "type": "string"
36202
36450
  },
36203
36451
  "address": {
36204
- "type": "string",
36205
- "nullable": true
36452
+ "type": [
36453
+ "string",
36454
+ "null"
36455
+ ]
36206
36456
  },
36207
36457
  "key_version": {
36208
36458
  "type": "integer"
@@ -36215,9 +36465,11 @@
36215
36465
  "format": "date-time"
36216
36466
  },
36217
36467
  "rotated_at": {
36218
- "type": "string",
36219
- "format": "date-time",
36220
- "nullable": true
36468
+ "type": [
36469
+ "string",
36470
+ "null"
36471
+ ],
36472
+ "format": "date-time"
36221
36473
  },
36222
36474
  "custody": {
36223
36475
  "type": "string",
@@ -36308,8 +36560,10 @@
36308
36560
  "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"
36309
36561
  },
36310
36562
  "system_prompt": {
36311
- "type": "string",
36312
- "nullable": true
36563
+ "type": [
36564
+ "string",
36565
+ "null"
36566
+ ]
36313
36567
  }
36314
36568
  }
36315
36569
  },
@@ -36330,8 +36584,10 @@
36330
36584
  "type": "boolean"
36331
36585
  },
36332
36586
  "system_prompt": {
36333
- "type": "string",
36334
- "nullable": true
36587
+ "type": [
36588
+ "string",
36589
+ "null"
36590
+ ]
36335
36591
  }
36336
36592
  }
36337
36593
  },
@@ -36518,9 +36774,11 @@
36518
36774
  "type": "boolean"
36519
36775
  },
36520
36776
  "expires_at": {
36521
- "type": "string",
36522
- "format": "date-time",
36523
- "nullable": true
36777
+ "type": [
36778
+ "string",
36779
+ "null"
36780
+ ],
36781
+ "format": "date-time"
36524
36782
  }
36525
36783
  }
36526
36784
  },
@@ -36562,8 +36820,10 @@
36562
36820
  }
36563
36821
  },
36564
36822
  "max_daily_delegations": {
36565
- "type": "integer",
36566
- "nullable": true
36823
+ "type": [
36824
+ "integer",
36825
+ "null"
36826
+ ]
36567
36827
  },
36568
36828
  "max_depth": {
36569
36829
  "type": "integer"
@@ -36587,9 +36847,11 @@
36587
36847
  "format": "uuid"
36588
36848
  },
36589
36849
  "expires_at": {
36590
- "type": "string",
36591
- "format": "date-time",
36592
- "nullable": true
36850
+ "type": [
36851
+ "string",
36852
+ "null"
36853
+ ],
36854
+ "format": "date-time"
36593
36855
  },
36594
36856
  "created_at": {
36595
36857
  "type": "string",
@@ -36766,28 +37028,40 @@
36766
37028
  "type": "string"
36767
37029
  },
36768
37030
  "signature": {
36769
- "type": "string",
36770
- "nullable": true
37031
+ "type": [
37032
+ "string",
37033
+ "null"
37034
+ ]
36771
37035
  },
36772
37036
  "signed_tx": {
36773
- "type": "string",
36774
- "nullable": true
37037
+ "type": [
37038
+ "string",
37039
+ "null"
37040
+ ]
36775
37041
  },
36776
37042
  "tx_hash": {
36777
- "type": "string",
36778
- "nullable": true
37043
+ "type": [
37044
+ "string",
37045
+ "null"
37046
+ ]
36779
37047
  },
36780
37048
  "message_hash": {
36781
- "type": "string",
36782
- "nullable": true
37049
+ "type": [
37050
+ "string",
37051
+ "null"
37052
+ ]
36783
37053
  },
36784
37054
  "typed_data_hash": {
36785
- "type": "string",
36786
- "nullable": true
37055
+ "type": [
37056
+ "string",
37057
+ "null"
37058
+ ]
36787
37059
  },
36788
37060
  "tx_type": {
36789
- "type": "integer",
36790
- "nullable": true
37061
+ "type": [
37062
+ "integer",
37063
+ "null"
37064
+ ]
36791
37065
  }
36792
37066
  }
36793
37067
  },
@@ -36826,8 +37100,10 @@
36826
37100
  ]
36827
37101
  },
36828
37102
  "signed_tx": {
36829
- "type": "string",
36830
- "nullable": true,
37103
+ "type": [
37104
+ "string",
37105
+ "null"
37106
+ ],
36831
37107
  "description": "Raw signed transaction hex. On GET list and GET by id, this property is omitted by default (absent from the response). Pass `include_signed_tx=true` on those endpoints to include it. Always present on the initial POST submit response.\n"
36832
37108
  },
36833
37109
  "tx_hash": {
@@ -37332,9 +37608,11 @@
37332
37608
  "type": "boolean"
37333
37609
  },
37334
37610
  "default_vault_id": {
37335
- "type": "string",
37336
- "format": "uuid",
37337
- "nullable": true
37611
+ "type": [
37612
+ "string",
37613
+ "null"
37614
+ ],
37615
+ "format": "uuid"
37338
37616
  }
37339
37617
  }
37340
37618
  },
@@ -37756,21 +38034,27 @@
37756
38034
  "description": "Metered line from Stripe upcoming invoice (usage detail when available).",
37757
38035
  "properties": {
37758
38036
  "description": {
37759
- "type": "string",
37760
- "nullable": true
38037
+ "type": [
38038
+ "string",
38039
+ "null"
38040
+ ]
37761
38041
  },
37762
38042
  "amount_cents": {
37763
38043
  "type": "integer",
37764
38044
  "format": "int64"
37765
38045
  },
37766
38046
  "quantity": {
37767
- "type": "number",
37768
- "nullable": true,
38047
+ "type": [
38048
+ "number",
38049
+ "null"
38050
+ ],
37769
38051
  "description": "Billed usage units when Stripe returns quantity (e.g. tokens)."
37770
38052
  },
37771
38053
  "price_nickname": {
37772
- "type": "string",
37773
- "nullable": true
38054
+ "type": [
38055
+ "string",
38056
+ "null"
38057
+ ]
37774
38058
  }
37775
38059
  }
37776
38060
  },
@@ -37779,14 +38063,18 @@
37779
38063
  "description": "Accrued LLM charges for the current Stripe subscription period (upcoming invoice).",
37780
38064
  "properties": {
37781
38065
  "period_start": {
37782
- "type": "string",
37783
- "format": "date-time",
37784
- "nullable": true
38066
+ "type": [
38067
+ "string",
38068
+ "null"
38069
+ ],
38070
+ "format": "date-time"
37785
38071
  },
37786
38072
  "period_end": {
37787
- "type": "string",
37788
- "format": "date-time",
37789
- "nullable": true
38073
+ "type": [
38074
+ "string",
38075
+ "null"
38076
+ ],
38077
+ "format": "date-time"
37790
38078
  },
37791
38079
  "accrued_usage_cents": {
37792
38080
  "type": "integer",
@@ -38034,9 +38322,11 @@
38034
38322
  "description": "Total events examined"
38035
38323
  },
38036
38324
  "broken_at_event_id": {
38037
- "type": "string",
38325
+ "type": [
38326
+ "string",
38327
+ "null"
38328
+ ],
38038
38329
  "format": "uuid",
38039
- "nullable": true,
38040
38330
  "description": "First event where chain integrity broke (null if valid)"
38041
38331
  },
38042
38332
  "scheme": {
@@ -38096,9 +38386,15 @@
38096
38386
  "description": "GCE metadata identity JWT (verify against Google public keys)"
38097
38387
  },
38098
38388
  "confidential_claims": {
38099
- "nullable": true,
38100
38389
  "description": "Confidential Computing claims extracted from the identity JWT",
38101
- "$ref": "#/components/schemas/ConfidentialClaims"
38390
+ "oneOf": [
38391
+ {
38392
+ "$ref": "#/components/schemas/ConfidentialClaims"
38393
+ },
38394
+ {
38395
+ "type": "null"
38396
+ }
38397
+ ]
38102
38398
  },
38103
38399
  "verification": {
38104
38400
  "type": "object",
@@ -38121,8 +38417,10 @@
38121
38417
  }
38122
38418
  },
38123
38419
  "ConfidentialClaims": {
38124
- "type": "object",
38125
- "nullable": true,
38420
+ "type": [
38421
+ "object",
38422
+ "null"
38423
+ ],
38126
38424
  "properties": {
38127
38425
  "secboot": {
38128
38426
  "type": "boolean",
@@ -38708,19 +39006,25 @@
38708
39006
  "type": "string"
38709
39007
  },
38710
39008
  "data_hex": {
38711
- "type": "string",
38712
- "nullable": true
39009
+ "type": [
39010
+ "string",
39011
+ "null"
39012
+ ]
38713
39013
  },
38714
39014
  "operation": {
38715
39015
  "type": "integer"
38716
39016
  },
38717
39017
  "safe_tx_hash": {
38718
- "type": "string",
38719
- "nullable": true
39018
+ "type": [
39019
+ "string",
39020
+ "null"
39021
+ ]
38720
39022
  },
38721
39023
  "nonce": {
38722
- "type": "integer",
38723
- "nullable": true
39024
+ "type": [
39025
+ "integer",
39026
+ "null"
39027
+ ]
38724
39028
  },
38725
39029
  "status": {
38726
39030
  "type": "string",
@@ -38737,18 +39041,24 @@
38737
39041
  "type": "integer"
38738
39042
  },
38739
39043
  "expires_at": {
38740
- "type": "string",
38741
- "format": "date-time",
38742
- "nullable": true
39044
+ "type": [
39045
+ "string",
39046
+ "null"
39047
+ ],
39048
+ "format": "date-time"
38743
39049
  },
38744
39050
  "executed_tx_hash": {
38745
- "type": "string",
38746
- "nullable": true
39051
+ "type": [
39052
+ "string",
39053
+ "null"
39054
+ ]
38747
39055
  },
38748
39056
  "executed_at": {
38749
- "type": "string",
38750
- "format": "date-time",
38751
- "nullable": true
39057
+ "type": [
39058
+ "string",
39059
+ "null"
39060
+ ],
39061
+ "format": "date-time"
38752
39062
  },
38753
39063
  "signatures": {
38754
39064
  "type": "array",
@@ -39256,15 +39566,19 @@
39256
39566
  "type": "string"
39257
39567
  },
39258
39568
  "symbol": {
39259
- "type": "string",
39260
- "nullable": true
39569
+ "type": [
39570
+ "string",
39571
+ "null"
39572
+ ]
39261
39573
  },
39262
39574
  "balance": {
39263
39575
  "type": "string"
39264
39576
  },
39265
39577
  "decimals": {
39266
- "type": "integer",
39267
- "nullable": true
39578
+ "type": [
39579
+ "integer",
39580
+ "null"
39581
+ ]
39268
39582
  }
39269
39583
  }
39270
39584
  }
@@ -39647,13 +39961,17 @@
39647
39961
  "default": "silent"
39648
39962
  },
39649
39963
  "max_connected_users": {
39650
- "type": "integer",
39651
- "nullable": true
39964
+ "type": [
39965
+ "integer",
39966
+ "null"
39967
+ ]
39652
39968
  },
39653
39969
  "api_key_expires_at": {
39654
- "type": "string",
39970
+ "type": [
39971
+ "string",
39972
+ "null"
39973
+ ],
39655
39974
  "format": "date-time",
39656
- "nullable": true,
39657
39975
  "description": "Optional expiration time for the platform API key."
39658
39976
  }
39659
39977
  }
@@ -39706,21 +40024,27 @@
39706
40024
  ]
39707
40025
  },
39708
40026
  "max_connected_users": {
39709
- "type": "integer",
39710
- "nullable": true
40027
+ "type": [
40028
+ "integer",
40029
+ "null"
40030
+ ]
39711
40031
  },
39712
40032
  "is_active": {
39713
40033
  "type": "boolean"
39714
40034
  },
39715
40035
  "api_key_expires_at": {
39716
- "type": "string",
40036
+ "type": [
40037
+ "string",
40038
+ "null"
40039
+ ],
39717
40040
  "format": "date-time",
39718
- "nullable": true,
39719
40041
  "description": "Optional expiration time for the platform API key. Set to null to clear."
39720
40042
  },
39721
40043
  "siwe_domain": {
39722
- "type": "string",
39723
- "nullable": true,
40044
+ "type": [
40045
+ "string",
40046
+ "null"
40047
+ ],
39724
40048
  "description": "Hostname allowed in SIWE messages for wallet sign-in (EIP-4361)."
39725
40049
  }
39726
40050
  }
@@ -39805,23 +40129,31 @@
39805
40129
  "type": "string"
39806
40130
  },
39807
40131
  "logo_url": {
39808
- "type": "string",
39809
- "nullable": true
40132
+ "type": [
40133
+ "string",
40134
+ "null"
40135
+ ]
39810
40136
  },
39811
40137
  "api_key_prefix": {
39812
40138
  "type": "string"
39813
40139
  },
39814
40140
  "oidc_jwks_url": {
39815
- "type": "string",
39816
- "nullable": true
40141
+ "type": [
40142
+ "string",
40143
+ "null"
40144
+ ]
39817
40145
  },
39818
40146
  "oidc_issuer": {
39819
- "type": "string",
39820
- "nullable": true
40147
+ "type": [
40148
+ "string",
40149
+ "null"
40150
+ ]
39821
40151
  },
39822
40152
  "oidc_audience": {
39823
- "type": "string",
39824
- "nullable": true,
40153
+ "type": [
40154
+ "string",
40155
+ "null"
40156
+ ],
39825
40157
  "description": "Expected audience claim for OIDC token validation"
39826
40158
  },
39827
40159
  "redirect_uris": {
@@ -39831,8 +40163,10 @@
39831
40163
  }
39832
40164
  },
39833
40165
  "webhook_url": {
39834
- "type": "string",
39835
- "nullable": true
40166
+ "type": [
40167
+ "string",
40168
+ "null"
40169
+ ]
39836
40170
  },
39837
40171
  "is_active": {
39838
40172
  "type": "boolean"
@@ -39844,27 +40178,35 @@
39844
40178
  "type": "string"
39845
40179
  },
39846
40180
  "max_connected_users": {
39847
- "type": "integer",
39848
- "nullable": true
40181
+ "type": [
40182
+ "integer",
40183
+ "null"
40184
+ ]
39849
40185
  },
39850
40186
  "connected_users": {
39851
40187
  "type": "integer"
39852
40188
  },
39853
40189
  "api_key_expires_at": {
39854
- "type": "string",
40190
+ "type": [
40191
+ "string",
40192
+ "null"
40193
+ ],
39855
40194
  "format": "date-time",
39856
- "nullable": true,
39857
40195
  "description": "When the platform API key expires."
39858
40196
  },
39859
40197
  "api_key_rotated_at": {
39860
- "type": "string",
40198
+ "type": [
40199
+ "string",
40200
+ "null"
40201
+ ],
39861
40202
  "format": "date-time",
39862
- "nullable": true,
39863
40203
  "description": "When the platform API key was last rotated."
39864
40204
  },
39865
40205
  "siwe_domain": {
39866
- "type": "string",
39867
- "nullable": true,
40206
+ "type": [
40207
+ "string",
40208
+ "null"
40209
+ ],
39868
40210
  "description": "Hostname allowed in SIWE messages for wallet sign-in (EIP-4361)."
39869
40211
  },
39870
40212
  "created_at": {
@@ -40515,9 +40857,11 @@
40515
40857
  "format": "date-time"
40516
40858
  },
40517
40859
  "claimed_at": {
40518
- "type": "string",
40519
- "format": "date-time",
40520
- "nullable": true
40860
+ "type": [
40861
+ "string",
40862
+ "null"
40863
+ ],
40864
+ "format": "date-time"
40521
40865
  }
40522
40866
  }
40523
40867
  },
@@ -40563,14 +40907,18 @@
40563
40907
  "type": "object",
40564
40908
  "properties": {
40565
40909
  "vault_id": {
40566
- "type": "string",
40567
- "format": "uuid",
40568
- "nullable": true
40910
+ "type": [
40911
+ "string",
40912
+ "null"
40913
+ ],
40914
+ "format": "uuid"
40569
40915
  },
40570
40916
  "agent_id": {
40571
- "type": "string",
40572
- "format": "uuid",
40573
- "nullable": true
40917
+ "type": [
40918
+ "string",
40919
+ "null"
40920
+ ],
40921
+ "format": "uuid"
40574
40922
  },
40575
40923
  "agent_ids": {
40576
40924
  "type": "array",
@@ -40595,13 +40943,17 @@
40595
40943
  "description": "Chains with provisioned signing keys"
40596
40944
  },
40597
40945
  "agent_api_key": {
40598
- "type": "string",
40599
- "nullable": true,
40946
+ "type": [
40947
+ "string",
40948
+ "null"
40949
+ ],
40600
40950
  "description": "One-time agent API key (ocv_ prefix). Store securely — not retrievable later."
40601
40951
  },
40602
40952
  "agent_evm_address": {
40603
- "type": "string",
40604
- "nullable": true,
40953
+ "type": [
40954
+ "string",
40955
+ "null"
40956
+ ],
40605
40957
  "description": "EOA address when provision_eoa is true in the template"
40606
40958
  },
40607
40959
  "signing_keys": {
@@ -40699,12 +41051,16 @@
40699
41051
  "type": "string"
40700
41052
  },
40701
41053
  "logo_url": {
40702
- "type": "string",
40703
- "nullable": true
41054
+ "type": [
41055
+ "string",
41056
+ "null"
41057
+ ]
40704
41058
  },
40705
41059
  "category": {
40706
- "type": "string",
40707
- "nullable": true
41060
+ "type": [
41061
+ "string",
41062
+ "null"
41063
+ ]
40708
41064
  },
40709
41065
  "listing_tags": {
40710
41066
  "type": "array",
@@ -40719,8 +41075,10 @@
40719
41075
  }
40720
41076
  },
40721
41077
  "pricing_summary": {
40722
- "type": "string",
40723
- "nullable": true
41078
+ "type": [
41079
+ "string",
41080
+ "null"
41081
+ ]
40724
41082
  }
40725
41083
  }
40726
41084
  }
@@ -40833,9 +41191,11 @@
40833
41191
  }
40834
41192
  },
40835
41193
  "expires_at": {
40836
- "type": "string",
40837
- "format": "date-time",
40838
- "nullable": true
41194
+ "type": [
41195
+ "string",
41196
+ "null"
41197
+ ],
41198
+ "format": "date-time"
40839
41199
  },
40840
41200
  "created_at": {
40841
41201
  "type": "string",
@@ -40893,8 +41253,10 @@
40893
41253
  "type": "string"
40894
41254
  },
40895
41255
  "app_logo_url": {
40896
- "type": "string",
40897
- "nullable": true
41256
+ "type": [
41257
+ "string",
41258
+ "null"
41259
+ ]
40898
41260
  },
40899
41261
  "auth_mode": {
40900
41262
  "type": "string"
@@ -40926,8 +41288,10 @@
40926
41288
  "type": "boolean"
40927
41289
  },
40928
41290
  "return_to": {
40929
- "type": "string",
40930
- "nullable": true
41291
+ "type": [
41292
+ "string",
41293
+ "null"
41294
+ ]
40931
41295
  }
40932
41296
  }
40933
41297
  },
@@ -40956,8 +41320,10 @@
40956
41320
  }
40957
41321
  },
40958
41322
  "return_to": {
40959
- "type": "string",
40960
- "nullable": true
41323
+ "type": [
41324
+ "string",
41325
+ "null"
41326
+ ]
40961
41327
  },
40962
41328
  "dashboard_url": {
40963
41329
  "type": "string"
@@ -41048,9 +41414,11 @@
41048
41414
  "type": "boolean"
41049
41415
  },
41050
41416
  "last_used_at": {
41051
- "type": "string",
41052
- "format": "date-time",
41053
- "nullable": true
41417
+ "type": [
41418
+ "string",
41419
+ "null"
41420
+ ],
41421
+ "format": "date-time"
41054
41422
  },
41055
41423
  "created_at": {
41056
41424
  "type": "string",
@@ -41314,8 +41682,10 @@
41314
41682
  "type": "string"
41315
41683
  },
41316
41684
  "display_name": {
41317
- "type": "string",
41318
- "nullable": true
41685
+ "type": [
41686
+ "string",
41687
+ "null"
41688
+ ]
41319
41689
  },
41320
41690
  "profile": {
41321
41691
  "type": "object",
@@ -41358,8 +41728,10 @@
41358
41728
  "additionalProperties": true
41359
41729
  },
41360
41730
  "confidence": {
41361
- "type": "string",
41362
- "nullable": true,
41731
+ "type": [
41732
+ "string",
41733
+ "null"
41734
+ ],
41363
41735
  "description": "0..1, capped below certainty — no history makes the next decision certain."
41364
41736
  },
41365
41737
  "provenance": {
@@ -41405,14 +41777,18 @@
41405
41777
  ]
41406
41778
  },
41407
41779
  "user_id": {
41408
- "type": "string",
41409
- "format": "uuid",
41410
- "nullable": true
41780
+ "type": [
41781
+ "string",
41782
+ "null"
41783
+ ],
41784
+ "format": "uuid"
41411
41785
  },
41412
41786
  "agent_id": {
41413
- "type": "string",
41414
- "format": "uuid",
41415
- "nullable": true
41787
+ "type": [
41788
+ "string",
41789
+ "null"
41790
+ ],
41791
+ "format": "uuid"
41416
41792
  },
41417
41793
  "config": {
41418
41794
  "type": "object",
@@ -41465,8 +41841,10 @@
41465
41841
  "example": "communication"
41466
41842
  },
41467
41843
  "provider_slug": {
41468
- "type": "string",
41469
- "nullable": true,
41844
+ "type": [
41845
+ "string",
41846
+ "null"
41847
+ ],
41470
41848
  "description": "`oauth_providers.slug`, or null when the connector uses a pasted API key."
41471
41849
  },
41472
41850
  "oauth_scopes": {
@@ -41604,26 +41982,34 @@
41604
41982
  "description": "First 20 characters (`sk-shroud-v1-` + 7) — enough to recognise, not to use"
41605
41983
  },
41606
41984
  "max_concurrent_streams": {
41607
- "type": "integer",
41608
- "nullable": true
41985
+ "type": [
41986
+ "integer",
41987
+ "null"
41988
+ ]
41609
41989
  },
41610
41990
  "spend_cap_usd": {
41611
- "type": "number",
41612
- "nullable": true
41991
+ "type": [
41992
+ "number",
41993
+ "null"
41994
+ ]
41613
41995
  },
41614
41996
  "created_at": {
41615
41997
  "type": "string",
41616
41998
  "format": "date-time"
41617
41999
  },
41618
42000
  "last_used_at": {
41619
- "type": "string",
41620
- "format": "date-time",
41621
- "nullable": true
42001
+ "type": [
42002
+ "string",
42003
+ "null"
42004
+ ],
42005
+ "format": "date-time"
41622
42006
  },
41623
42007
  "revoked_at": {
41624
- "type": "string",
41625
- "format": "date-time",
41626
- "nullable": true
42008
+ "type": [
42009
+ "string",
42010
+ "null"
42011
+ ],
42012
+ "format": "date-time"
41627
42013
  }
41628
42014
  }
41629
42015
  },
@@ -41726,9 +42112,11 @@
41726
42112
  }
41727
42113
  },
41728
42114
  "created_by": {
41729
- "type": "string",
41730
- "format": "uuid",
41731
- "nullable": true
42115
+ "type": [
42116
+ "string",
42117
+ "null"
42118
+ ],
42119
+ "format": "uuid"
41732
42120
  },
41733
42121
  "created_at": {
41734
42122
  "type": "string",
@@ -41842,13 +42230,17 @@
41842
42230
  "format": "date-time"
41843
42231
  },
41844
42232
  "last_polled_at": {
41845
- "type": "string",
41846
- "format": "date-time",
41847
- "nullable": true
42233
+ "type": [
42234
+ "string",
42235
+ "null"
42236
+ ],
42237
+ "format": "date-time"
41848
42238
  },
41849
42239
  "last_error": {
41850
- "type": "string",
41851
- "nullable": true
42240
+ "type": [
42241
+ "string",
42242
+ "null"
42243
+ ]
41852
42244
  },
41853
42245
  "consecutive_errors": {
41854
42246
  "type": "integer"
@@ -41886,8 +42278,10 @@
41886
42278
  "type": "string"
41887
42279
  },
41888
42280
  "display_name": {
41889
- "type": "string",
41890
- "nullable": true,
42281
+ "type": [
42282
+ "string",
42283
+ "null"
42284
+ ],
41891
42285
  "description": "Null if the preset has since been retired from the catalogue."
41892
42286
  },
41893
42287
  "is_active": {
@@ -41935,9 +42329,11 @@
41935
42329
  "format": "uuid"
41936
42330
  },
41937
42331
  "agent_id": {
41938
- "type": "string",
41939
- "format": "uuid",
41940
- "nullable": true
42332
+ "type": [
42333
+ "string",
42334
+ "null"
42335
+ ],
42336
+ "format": "uuid"
41941
42337
  },
41942
42338
  "action": {
41943
42339
  "type": "string"
@@ -41955,10 +42351,12 @@
41955
42351
  "description": "The tier actually enforced. Authoritative."
41956
42352
  },
41957
42353
  "declared_risk_tier": {
41958
- "type": "integer",
42354
+ "type": [
42355
+ "integer",
42356
+ "null"
42357
+ ],
41959
42358
  "minimum": 1,
41960
42359
  "maximum": 3,
41961
- "nullable": true,
41962
42360
  "description": "What the caller asked for, when it asked for anything."
41963
42361
  },
41964
42362
  "declared_below_floor": {
@@ -41966,8 +42364,10 @@
41966
42364
  "description": "The caller asked for a lower tier than policy required."
41967
42365
  },
41968
42366
  "human_summary": {
41969
- "type": "string",
41970
- "nullable": true,
42367
+ "type": [
42368
+ "string",
42369
+ "null"
42370
+ ],
41971
42371
  "description": "Plain-language line sent to SMS, push and email."
41972
42372
  },
41973
42373
  "payload": {
@@ -41989,27 +42389,37 @@
41989
42389
  "description": "Structured summary of the action requiring approval"
41990
42390
  },
41991
42391
  "reason": {
41992
- "type": "string",
41993
- "nullable": true
42392
+ "type": [
42393
+ "string",
42394
+ "null"
42395
+ ]
41994
42396
  },
41995
42397
  "decision_reason": {
41996
- "type": "string",
41997
- "nullable": true
42398
+ "type": [
42399
+ "string",
42400
+ "null"
42401
+ ]
41998
42402
  },
41999
42403
  "decided_by": {
42000
- "type": "string",
42001
- "format": "uuid",
42002
- "nullable": true
42404
+ "type": [
42405
+ "string",
42406
+ "null"
42407
+ ],
42408
+ "format": "uuid"
42003
42409
  },
42004
42410
  "decided_at": {
42005
- "type": "string",
42006
- "format": "date-time",
42007
- "nullable": true
42411
+ "type": [
42412
+ "string",
42413
+ "null"
42414
+ ],
42415
+ "format": "date-time"
42008
42416
  },
42009
42417
  "expires_at": {
42010
- "type": "string",
42011
- "format": "date-time",
42012
- "nullable": true
42418
+ "type": [
42419
+ "string",
42420
+ "null"
42421
+ ],
42422
+ "format": "date-time"
42013
42423
  },
42014
42424
  "created_at": {
42015
42425
  "type": "string",
@@ -42052,9 +42462,11 @@
42052
42462
  ]
42053
42463
  },
42054
42464
  "expires_at": {
42055
- "type": "string",
42056
- "format": "date-time",
42057
- "nullable": true
42465
+ "type": [
42466
+ "string",
42467
+ "null"
42468
+ ],
42469
+ "format": "date-time"
42058
42470
  }
42059
42471
  }
42060
42472
  },
@@ -42110,28 +42522,38 @@
42110
42522
  "$ref": "#/components/schemas/GuardrailReasonCode"
42111
42523
  },
42112
42524
  "limit": {
42113
- "type": "string",
42114
- "nullable": true
42525
+ "type": [
42526
+ "string",
42527
+ "null"
42528
+ ]
42115
42529
  },
42116
42530
  "current": {
42117
- "type": "string",
42118
- "nullable": true
42531
+ "type": [
42532
+ "string",
42533
+ "null"
42534
+ ]
42119
42535
  },
42120
42536
  "attempted": {
42121
- "type": "string",
42122
- "nullable": true
42537
+ "type": [
42538
+ "string",
42539
+ "null"
42540
+ ]
42123
42541
  },
42124
42542
  "approval_available": {
42125
42543
  "type": "boolean",
42126
42544
  "default": false
42127
42545
  },
42128
42546
  "retry_after_seconds": {
42129
- "type": "integer",
42130
- "nullable": true
42547
+ "type": [
42548
+ "integer",
42549
+ "null"
42550
+ ]
42131
42551
  },
42132
42552
  "detail": {
42133
- "type": "string",
42134
- "nullable": true
42553
+ "type": [
42554
+ "string",
42555
+ "null"
42556
+ ]
42135
42557
  }
42136
42558
  }
42137
42559
  },
@@ -42173,8 +42595,10 @@
42173
42595
  "format": "email"
42174
42596
  },
42175
42597
  "wallet_address": {
42176
- "type": "string",
42177
- "nullable": true,
42598
+ "type": [
42599
+ "string",
42600
+ "null"
42601
+ ],
42178
42602
  "description": "Ethereum address if auto_provision_chains included an EVM chain"
42179
42603
  }
42180
42604
  }
@@ -42196,9 +42620,11 @@
42196
42620
  "type": "string"
42197
42621
  },
42198
42622
  "app_logo_url": {
42199
- "type": "string",
42200
- "format": "uri",
42201
- "nullable": true
42623
+ "type": [
42624
+ "string",
42625
+ "null"
42626
+ ],
42627
+ "format": "uri"
42202
42628
  },
42203
42629
  "scopes": {
42204
42630
  "type": "array",
@@ -42238,13 +42664,17 @@
42238
42664
  "description": "Token lifetime in seconds"
42239
42665
  },
42240
42666
  "refresh_token": {
42241
- "type": "string",
42242
- "nullable": true,
42667
+ "type": [
42668
+ "string",
42669
+ "null"
42670
+ ],
42243
42671
  "description": "Refresh token for obtaining new access tokens (when offline_access scope was granted)"
42244
42672
  },
42245
42673
  "id_token": {
42246
- "type": "string",
42247
- "nullable": true,
42674
+ "type": [
42675
+ "string",
42676
+ "null"
42677
+ ],
42248
42678
  "description": "OIDC ID token (when openid scope was granted)"
42249
42679
  },
42250
42680
  "scope": {
@@ -42268,12 +42698,16 @@
42268
42698
  "format": "email"
42269
42699
  },
42270
42700
  "name": {
42271
- "type": "string",
42272
- "nullable": true
42701
+ "type": [
42702
+ "string",
42703
+ "null"
42704
+ ]
42273
42705
  },
42274
42706
  "wallet_address": {
42275
- "type": "string",
42276
- "nullable": true
42707
+ "type": [
42708
+ "string",
42709
+ "null"
42710
+ ]
42277
42711
  }
42278
42712
  }
42279
42713
  },
@@ -42423,13 +42857,17 @@
42423
42857
  "type": "string"
42424
42858
  },
42425
42859
  "provisioned_tier": {
42426
- "type": "string",
42427
- "nullable": true,
42860
+ "type": [
42861
+ "string",
42862
+ "null"
42863
+ ],
42428
42864
  "description": "Billing tier granted to the end-user org when billing_model is platform_pays\n(from template plan at bootstrap). Null when not provisioned.\n"
42429
42865
  },
42430
42866
  "wallet_address": {
42431
- "type": "string",
42432
- "nullable": true
42867
+ "type": [
42868
+ "string",
42869
+ "null"
42870
+ ]
42433
42871
  },
42434
42872
  "vault_ids": {
42435
42873
  "type": "array",
@@ -42460,9 +42898,11 @@
42460
42898
  }
42461
42899
  },
42462
42900
  "claimed_at": {
42463
- "type": "string",
42464
- "format": "date-time",
42465
- "nullable": true
42901
+ "type": [
42902
+ "string",
42903
+ "null"
42904
+ ],
42905
+ "format": "date-time"
42466
42906
  },
42467
42907
  "claim": {
42468
42908
  "$ref": "#/components/schemas/ClaimStatusResponse"
@@ -42484,9 +42924,11 @@
42484
42924
  ]
42485
42925
  },
42486
42926
  "redeemed_at": {
42487
- "type": "string",
42488
- "format": "date-time",
42489
- "nullable": true
42927
+ "type": [
42928
+ "string",
42929
+ "null"
42930
+ ],
42931
+ "format": "date-time"
42490
42932
  }
42491
42933
  }
42492
42934
  },
@@ -42572,13 +43014,17 @@
42572
43014
  "type": "string"
42573
43015
  },
42574
43016
  "last_value_raw": {
42575
- "type": "string",
42576
- "nullable": true
43017
+ "type": [
43018
+ "string",
43019
+ "null"
43020
+ ]
42577
43021
  },
42578
43022
  "last_checked_at": {
42579
- "type": "string",
42580
- "format": "date-time",
42581
- "nullable": true
43023
+ "type": [
43024
+ "string",
43025
+ "null"
43026
+ ],
43027
+ "format": "date-time"
42582
43028
  }
42583
43029
  }
42584
43030
  },
@@ -42651,9 +43097,11 @@
42651
43097
  "format": "date-time"
42652
43098
  },
42653
43099
  "connection_id": {
42654
- "type": "string",
42655
- "format": "uuid",
42656
- "nullable": true
43100
+ "type": [
43101
+ "string",
43102
+ "null"
43103
+ ],
43104
+ "format": "uuid"
42657
43105
  }
42658
43106
  }
42659
43107
  },
@@ -42661,12 +43109,12 @@
42661
43109
  "type": "object",
42662
43110
  "properties": {
42663
43111
  "allowance_usd": {
42664
- "type": "string",
42665
- "nullable": true
42666
- },
42667
- "remaining_usd": {
42668
- "nullable": true
43112
+ "type": [
43113
+ "string",
43114
+ "null"
43115
+ ]
42669
43116
  },
43117
+ "remaining_usd": {},
42670
43118
  "message": {
42671
43119
  "type": "string"
42672
43120
  }
@@ -42689,9 +43137,11 @@
42689
43137
  "format": "uuid"
42690
43138
  },
42691
43139
  "user_id": {
42692
- "type": "string",
42693
- "format": "uuid",
42694
- "nullable": true
43140
+ "type": [
43141
+ "string",
43142
+ "null"
43143
+ ],
43144
+ "format": "uuid"
42695
43145
  },
42696
43146
  "to_allowlist": {
42697
43147
  "type": "array",
@@ -42706,12 +43156,16 @@
42706
43156
  }
42707
43157
  },
42708
43158
  "max_value_per_tx_eth": {
42709
- "type": "string",
42710
- "nullable": true
43159
+ "type": [
43160
+ "string",
43161
+ "null"
43162
+ ]
42711
43163
  },
42712
43164
  "daily_limit_eth": {
42713
- "type": "string",
42714
- "nullable": true
43165
+ "type": [
43166
+ "string",
43167
+ "null"
43168
+ ]
42715
43169
  },
42716
43170
  "allowed_chains": {
42717
43171
  "type": "array",
@@ -42726,33 +43180,47 @@
42726
43180
  }
42727
43181
  },
42728
43182
  "max_transactions_per_day": {
42729
- "type": "integer",
42730
- "nullable": true
43183
+ "type": [
43184
+ "integer",
43185
+ "null"
43186
+ ]
42731
43187
  },
42732
43188
  "inference_allowance_usd": {
42733
- "type": "string",
42734
- "nullable": true
43189
+ "type": [
43190
+ "string",
43191
+ "null"
43192
+ ]
42735
43193
  },
42736
43194
  "inference_reserved_pct": {
42737
- "type": "integer",
42738
- "nullable": true
43195
+ "type": [
43196
+ "integer",
43197
+ "null"
43198
+ ]
42739
43199
  },
42740
43200
  "inference_hard_stop": {
42741
- "type": "boolean",
42742
- "nullable": true
43201
+ "type": [
43202
+ "boolean",
43203
+ "null"
43204
+ ]
42743
43205
  },
42744
43206
  "inference_allowance_mode": {
42745
- "type": "string",
42746
- "nullable": true
43207
+ "type": [
43208
+ "string",
43209
+ "null"
43210
+ ]
42747
43211
  },
42748
43212
  "max_request_cost_usd": {
42749
- "type": "string",
42750
- "nullable": true
43213
+ "type": [
43214
+ "string",
43215
+ "null"
43216
+ ]
42751
43217
  },
42752
43218
  "human_factor_auth": {
42753
- "type": "object",
42754
- "additionalProperties": true,
42755
- "nullable": true
43219
+ "type": [
43220
+ "object",
43221
+ "null"
43222
+ ],
43223
+ "additionalProperties": true
42756
43224
  },
42757
43225
  "created_at": {
42758
43226
  "type": "string",
@@ -42797,8 +43265,10 @@
42797
43265
  "type": "object",
42798
43266
  "properties": {
42799
43267
  "require_passkey_above_usd": {
42800
- "type": "string",
42801
- "nullable": true
43268
+ "type": [
43269
+ "string",
43270
+ "null"
43271
+ ]
42802
43272
  },
42803
43273
  "require_passkey_for_new_recipient": {
42804
43274
  "type": "boolean"
@@ -42918,8 +43388,10 @@
42918
43388
  "type": "string"
42919
43389
  },
42920
43390
  "prf_supported": {
42921
- "type": "boolean",
42922
- "nullable": true,
43391
+ "type": [
43392
+ "boolean",
43393
+ "null"
43394
+ ],
42923
43395
  "description": "`prf.enabled` from `credential.getClientExtensionResults()` —\nwhether this authenticator can derive the secret that wraps a\nwallet share. Omit if the client did not request the extension.\n"
42924
43396
  }
42925
43397
  }
@@ -42941,9 +43413,11 @@
42941
43413
  "description": "Sidecar wraps are stored through `PUT /v1/keys/{key_id}/client-share/holder`."
42942
43414
  },
42943
43415
  "credential_id": {
42944
- "type": "string",
43416
+ "type": [
43417
+ "string",
43418
+ "null"
43419
+ ],
42945
43420
  "format": "uuid",
42946
- "nullable": true,
42947
43421
  "description": "Required for `passkey_prf`; the passkey id from `GET /v1/auth/passkeys`."
42948
43422
  },
42949
43423
  "wrapped_share": {
@@ -42983,14 +43457,18 @@
42983
43457
  ]
42984
43458
  },
42985
43459
  "credential_id": {
42986
- "type": "string",
42987
- "format": "uuid",
42988
- "nullable": true
43460
+ "type": [
43461
+ "string",
43462
+ "null"
43463
+ ],
43464
+ "format": "uuid"
42989
43465
  },
42990
43466
  "holder_id": {
42991
- "type": "string",
42992
- "format": "uuid",
42993
- "nullable": true
43467
+ "type": [
43468
+ "string",
43469
+ "null"
43470
+ ],
43471
+ "format": "uuid"
42994
43472
  },
42995
43473
  "wrapped_share": {
42996
43474
  "type": "string",
@@ -43059,13 +43537,17 @@
43059
43537
  "format": "uuid"
43060
43538
  },
43061
43539
  "passkey_name": {
43062
- "type": "string",
43063
- "nullable": true,
43540
+ "type": [
43541
+ "string",
43542
+ "null"
43543
+ ],
43064
43544
  "description": "The owning passkey's name — only that credential can sign for the Safe."
43065
43545
  },
43066
43546
  "passkey_rp_id": {
43067
- "type": "string",
43068
- "nullable": true,
43547
+ "type": [
43548
+ "string",
43549
+ "null"
43550
+ ],
43069
43551
  "description": "The domain the owning passkey was registered under (WebAuthn rpId); a browser on another domain cannot use it."
43070
43552
  },
43071
43553
  "custody": {
@@ -43082,8 +43564,10 @@
43082
43564
  ]
43083
43565
  },
43084
43566
  "deploy_tx_hash": {
43085
- "type": "string",
43086
- "nullable": true
43567
+ "type": [
43568
+ "string",
43569
+ "null"
43570
+ ]
43087
43571
  },
43088
43572
  "owner_signer": {
43089
43573
  "type": "string",
@@ -43143,16 +43627,20 @@
43143
43627
  "type": "string"
43144
43628
  },
43145
43629
  "transports": {
43146
- "type": "array",
43147
- "nullable": true,
43630
+ "type": [
43631
+ "array",
43632
+ "null"
43633
+ ],
43148
43634
  "items": {
43149
43635
  "type": "string"
43150
43636
  },
43151
43637
  "description": "The passkey's registered transports (`internal`, `hybrid`, `usb`…) — pass as the `allowCredentials` hint so the browser asks the right authenticator."
43152
43638
  },
43153
43639
  "passkey_name": {
43154
- "type": "string",
43155
- "nullable": true
43640
+ "type": [
43641
+ "string",
43642
+ "null"
43643
+ ]
43156
43644
  },
43157
43645
  "rp_id": {
43158
43646
  "type": "string"
@@ -43202,12 +43690,16 @@
43202
43690
  ]
43203
43691
  },
43204
43692
  "setup_tx_hash": {
43205
- "type": "string",
43206
- "nullable": true
43693
+ "type": [
43694
+ "string",
43695
+ "null"
43696
+ ]
43207
43697
  },
43208
43698
  "revoke_tx_hash": {
43209
- "type": "string",
43210
- "nullable": true
43699
+ "type": [
43700
+ "string",
43701
+ "null"
43702
+ ]
43211
43703
  },
43212
43704
  "created_at": {
43213
43705
  "type": "string",
@@ -43443,44 +43935,64 @@
43443
43935
  "description": "Risk event type (e.g. first_seen, geo_velocity, honeytoken_access)"
43444
43936
  },
43445
43937
  "ip": {
43446
- "type": "string",
43447
- "nullable": true
43938
+ "type": [
43939
+ "string",
43940
+ "null"
43941
+ ]
43448
43942
  },
43449
43943
  "asn": {
43450
- "type": "integer",
43451
- "nullable": true
43944
+ "type": [
43945
+ "integer",
43946
+ "null"
43947
+ ]
43452
43948
  },
43453
43949
  "asn_org": {
43454
- "type": "string",
43455
- "nullable": true
43950
+ "type": [
43951
+ "string",
43952
+ "null"
43953
+ ]
43456
43954
  },
43457
43955
  "country_code": {
43458
- "type": "string",
43459
- "nullable": true
43956
+ "type": [
43957
+ "string",
43958
+ "null"
43959
+ ]
43460
43960
  },
43461
43961
  "region": {
43462
- "type": "string",
43463
- "nullable": true
43962
+ "type": [
43963
+ "string",
43964
+ "null"
43965
+ ]
43464
43966
  },
43465
43967
  "city": {
43466
- "type": "string",
43467
- "nullable": true
43968
+ "type": [
43969
+ "string",
43970
+ "null"
43971
+ ]
43468
43972
  },
43469
43973
  "latitude": {
43470
- "type": "number",
43471
- "nullable": true
43974
+ "type": [
43975
+ "number",
43976
+ "null"
43977
+ ]
43472
43978
  },
43473
43979
  "longitude": {
43474
- "type": "number",
43475
- "nullable": true
43980
+ "type": [
43981
+ "number",
43982
+ "null"
43983
+ ]
43476
43984
  },
43477
43985
  "user_agent": {
43478
- "type": "string",
43479
- "nullable": true
43986
+ "type": [
43987
+ "string",
43988
+ "null"
43989
+ ]
43480
43990
  },
43481
43991
  "severity": {
43482
- "type": "string",
43483
- "nullable": true,
43992
+ "type": [
43993
+ "string",
43994
+ "null"
43995
+ ],
43484
43996
  "description": "Computed severity at event time (low, medium, high, critical)"
43485
43997
  },
43486
43998
  "payload": {
@@ -43633,16 +44145,20 @@
43633
44145
  "format": "date-time"
43634
44146
  },
43635
44147
  "notes": {
43636
- "type": "string",
43637
- "nullable": true
44148
+ "type": [
44149
+ "string",
44150
+ "null"
44151
+ ]
43638
44152
  },
43639
44153
  "triggered_count": {
43640
44154
  "type": "integer"
43641
44155
  },
43642
44156
  "last_triggered_at": {
43643
- "type": "string",
43644
- "format": "date-time",
43645
- "nullable": true
44157
+ "type": [
44158
+ "string",
44159
+ "null"
44160
+ ],
44161
+ "format": "date-time"
43646
44162
  }
43647
44163
  }
43648
44164
  },
@@ -43909,23 +44425,29 @@
43909
44425
  "description": "Whether a credential is stored for this binding. The value itself is never returned."
43910
44426
  },
43911
44427
  "credential_source_type": {
43912
- "type": "string",
44428
+ "type": [
44429
+ "string",
44430
+ "null"
44431
+ ],
43913
44432
  "enum": [
43914
44433
  "inline",
43915
44434
  "vault_ref"
43916
44435
  ],
43917
- "nullable": true,
43918
44436
  "description": "How the credential is sourced — inline (HSM-encrypted copy) or vault_ref (live pointer)."
43919
44437
  },
43920
44438
  "credential_vault_id": {
43921
- "type": "string",
44439
+ "type": [
44440
+ "string",
44441
+ "null"
44442
+ ],
43922
44443
  "format": "uuid",
43923
- "nullable": true,
43924
44444
  "description": "For vault_ref credentials — the vault containing the referenced secret."
43925
44445
  },
43926
44446
  "credential_path": {
43927
- "type": "string",
43928
- "nullable": true,
44447
+ "type": [
44448
+ "string",
44449
+ "null"
44450
+ ],
43929
44451
  "description": "For vault_ref credentials — the secret path in the referenced vault."
43930
44452
  },
43931
44453
  "created_at": {
@@ -43952,8 +44474,10 @@
43952
44474
  "type": "integer"
43953
44475
  },
43954
44476
  "error": {
43955
- "type": "string",
43956
- "nullable": true
44477
+ "type": [
44478
+ "string",
44479
+ "null"
44480
+ ]
43957
44481
  }
43958
44482
  }
43959
44483
  },
@@ -44024,9 +44548,11 @@
44024
44548
  ]
44025
44549
  },
44026
44550
  "expires_at": {
44027
- "type": "string",
44028
- "format": "date-time",
44029
- "nullable": true
44551
+ "type": [
44552
+ "string",
44553
+ "null"
44554
+ ],
44555
+ "format": "date-time"
44030
44556
  }
44031
44557
  }
44032
44558
  },
@@ -44048,14 +44574,18 @@
44048
44574
  "format": "uuid"
44049
44575
  },
44050
44576
  "tx_id": {
44051
- "type": "string",
44052
- "format": "uuid",
44053
- "nullable": true
44577
+ "type": [
44578
+ "string",
44579
+ "null"
44580
+ ],
44581
+ "format": "uuid"
44054
44582
  },
44055
44583
  "expires_at": {
44056
- "type": "string",
44057
- "format": "date-time",
44058
- "nullable": true
44584
+ "type": [
44585
+ "string",
44586
+ "null"
44587
+ ],
44588
+ "format": "date-time"
44059
44589
  }
44060
44590
  }
44061
44591
  },
@@ -44076,13 +44606,17 @@
44076
44606
  "type": "string"
44077
44607
  },
44078
44608
  "result": {
44079
- "type": "object",
44080
- "additionalProperties": true,
44081
- "nullable": true
44609
+ "type": [
44610
+ "object",
44611
+ "null"
44612
+ ],
44613
+ "additionalProperties": true
44082
44614
  },
44083
44615
  "error": {
44084
- "type": "string",
44085
- "nullable": true
44616
+ "type": [
44617
+ "string",
44618
+ "null"
44619
+ ]
44086
44620
  },
44087
44621
  "duration_ms": {
44088
44622
  "type": "integer"
@@ -44136,25 +44670,33 @@
44136
44670
  "type": "string"
44137
44671
  },
44138
44672
  "request_summary": {
44139
- "type": "object",
44140
- "additionalProperties": true,
44141
- "nullable": true
44673
+ "type": [
44674
+ "object",
44675
+ "null"
44676
+ ],
44677
+ "additionalProperties": true
44142
44678
  },
44143
44679
  "result_summary": {
44144
- "type": "object",
44145
- "additionalProperties": true,
44146
- "nullable": true
44680
+ "type": [
44681
+ "object",
44682
+ "null"
44683
+ ],
44684
+ "additionalProperties": true
44147
44685
  },
44148
44686
  "error_message": {
44149
- "type": "string",
44150
- "nullable": true
44687
+ "type": [
44688
+ "string",
44689
+ "null"
44690
+ ]
44151
44691
  },
44152
44692
  "duration_ms": {
44153
44693
  "type": "integer"
44154
44694
  },
44155
44695
  "cost_cents": {
44156
- "type": "integer",
44157
- "nullable": true
44696
+ "type": [
44697
+ "integer",
44698
+ "null"
44699
+ ]
44158
44700
  },
44159
44701
  "redactions_applied": {
44160
44702
  "type": "integer"
@@ -44204,9 +44746,11 @@
44204
44746
  "example": "UTC"
44205
44747
  },
44206
44748
  "event_filter": {
44207
- "type": "object",
44208
- "additionalProperties": true,
44209
- "nullable": true
44749
+ "type": [
44750
+ "object",
44751
+ "null"
44752
+ ],
44753
+ "additionalProperties": true
44210
44754
  },
44211
44755
  "workflow_spec": {
44212
44756
  "description": "Workflow steps. Accepts a bare array `[...]` or\n`{ \"steps\": [...] }` (dashboard / preset shape).\nSupported step types: get_secret, put_secret, http_request,\nrotate_secret, notify_human, ai_generate, memory_get,\nmemory_put, memory_search, notify, approval_request,\ncondition, execute_binding.\n",
@@ -44275,16 +44819,20 @@
44275
44819
  "type": "string"
44276
44820
  },
44277
44821
  "cron_expr": {
44278
- "type": "string",
44279
- "nullable": true
44822
+ "type": [
44823
+ "string",
44824
+ "null"
44825
+ ]
44280
44826
  },
44281
44827
  "timezone": {
44282
44828
  "type": "string"
44283
44829
  },
44284
44830
  "event_filter": {
44285
- "type": "object",
44286
- "additionalProperties": true,
44287
- "nullable": true
44831
+ "type": [
44832
+ "object",
44833
+ "null"
44834
+ ],
44835
+ "additionalProperties": true
44288
44836
  },
44289
44837
  "workflow_spec": {
44290
44838
  "oneOf": [
@@ -44314,9 +44862,11 @@
44314
44862
  "description": "Note recorded on the new spec version."
44315
44863
  },
44316
44864
  "webhook_signature": {
44317
- "nullable": true,
44318
44865
  "description": "Inbound signature scheme for a webhook-triggered automation. `stripe`\n(`Stripe-Signature: t=…,v1=…` over `<t>.<body>`), `github`\n(`X-Hub-Signature-256: sha256=…` over the body) or `hmac_sha256`\n(`<header>: <hex|base64>` over the body). The secret is stored encrypted\nand never returned; `null` removes the scheme. With a scheme set, an\nunsigned or mis-signed delivery starts nothing.\n",
44319
- "type": "object",
44866
+ "type": [
44867
+ "object",
44868
+ "null"
44869
+ ],
44320
44870
  "properties": {
44321
44871
  "scheme": {
44322
44872
  "type": "string",
@@ -44381,8 +44931,10 @@
44381
44931
  "type": "string"
44382
44932
  },
44383
44933
  "note": {
44384
- "type": "string",
44385
- "nullable": true
44934
+ "type": [
44935
+ "string",
44936
+ "null"
44937
+ ]
44386
44938
  },
44387
44939
  "created_at": {
44388
44940
  "type": "string",
@@ -44441,9 +44993,11 @@
44441
44993
  "format": "uuid"
44442
44994
  },
44443
44995
  "org_id": {
44444
- "type": "string",
44996
+ "type": [
44997
+ "string",
44998
+ "null"
44999
+ ],
44445
45000
  "format": "uuid",
44446
- "nullable": true,
44447
45001
  "description": "Null for a global row."
44448
45002
  },
44449
45003
  "provider": {
@@ -44621,8 +45175,10 @@
44621
45175
  "type": "number"
44622
45176
  },
44623
45177
  "trend_pct": {
44624
- "type": "number",
44625
- "nullable": true
45178
+ "type": [
45179
+ "number",
45180
+ "null"
45181
+ ]
44626
45182
  }
44627
45183
  }
44628
45184
  }
@@ -44663,8 +45219,10 @@
44663
45219
  "type": "number"
44664
45220
  },
44665
45221
  "trend_pct": {
44666
- "type": "number",
44667
- "nullable": true
45222
+ "type": [
45223
+ "number",
45224
+ "null"
45225
+ ]
44668
45226
  }
44669
45227
  }
44670
45228
  }
@@ -44700,24 +45258,32 @@
44700
45258
  "format": "int64"
44701
45259
  },
44702
45260
  "top_model": {
44703
- "type": "string",
44704
- "nullable": true
45261
+ "type": [
45262
+ "string",
45263
+ "null"
45264
+ ]
44705
45265
  },
44706
45266
  "top_provider": {
44707
- "type": "string",
44708
- "nullable": true
45267
+ "type": [
45268
+ "string",
45269
+ "null"
45270
+ ]
44709
45271
  },
44710
45272
  "previous_cost_usd": {
44711
45273
  "type": "number"
44712
45274
  },
44713
45275
  "last_request_at": {
44714
- "type": "string",
44715
- "format": "date-time",
44716
- "nullable": true
45276
+ "type": [
45277
+ "string",
45278
+ "null"
45279
+ ],
45280
+ "format": "date-time"
44717
45281
  },
44718
45282
  "daily_budget_usd": {
44719
- "type": "number",
44720
- "nullable": true
45283
+ "type": [
45284
+ "number",
45285
+ "null"
45286
+ ]
44721
45287
  },
44722
45288
  "today_cost_usd": {
44723
45289
  "type": "number"
@@ -44727,25 +45293,33 @@
44727
45293
  "format": "int64"
44728
45294
  },
44729
45295
  "max_tokens_per_request": {
44730
- "type": "integer",
44731
- "format": "int64",
44732
- "nullable": true
45296
+ "type": [
45297
+ "integer",
45298
+ "null"
45299
+ ],
45300
+ "format": "int64"
44733
45301
  },
44734
45302
  "max_requests_per_day": {
44735
- "type": "integer",
44736
- "format": "int64",
44737
- "nullable": true
45303
+ "type": [
45304
+ "integer",
45305
+ "null"
45306
+ ],
45307
+ "format": "int64"
44738
45308
  },
44739
45309
  "share_pct": {
44740
45310
  "type": "number"
44741
45311
  },
44742
45312
  "trend_pct": {
44743
- "type": "number",
44744
- "nullable": true
45313
+ "type": [
45314
+ "number",
45315
+ "null"
45316
+ ]
44745
45317
  },
44746
45318
  "budget_used_pct": {
44747
- "type": "number",
44748
- "nullable": true
45319
+ "type": [
45320
+ "number",
45321
+ "null"
45322
+ ]
44749
45323
  }
44750
45324
  }
44751
45325
  }
@@ -44792,13 +45366,17 @@
44792
45366
  "type": "number"
44793
45367
  },
44794
45368
  "cap_usd": {
44795
- "type": "number",
44796
- "nullable": true
45369
+ "type": [
45370
+ "number",
45371
+ "null"
45372
+ ]
44797
45373
  },
44798
45374
  "last_used_at": {
44799
- "type": "string",
44800
- "format": "date-time",
44801
- "nullable": true
45375
+ "type": [
45376
+ "string",
45377
+ "null"
45378
+ ],
45379
+ "format": "date-time"
44802
45380
  }
44803
45381
  }
44804
45382
  }
@@ -44982,8 +45560,10 @@
44982
45560
  "type": "integer"
44983
45561
  },
44984
45562
  "name": {
44985
- "type": "string",
44986
- "nullable": true
45563
+ "type": [
45564
+ "string",
45565
+ "null"
45566
+ ]
44987
45567
  },
44988
45568
  "type": {
44989
45569
  "type": "string"
@@ -44997,8 +45577,10 @@
44997
45577
  "description": "The step after template substitution."
44998
45578
  },
44999
45579
  "skipped_by": {
45000
- "type": "string",
45001
- "nullable": true
45580
+ "type": [
45581
+ "string",
45582
+ "null"
45583
+ ]
45002
45584
  },
45003
45585
  "effect": {
45004
45586
  "type": "string"
@@ -45024,8 +45606,10 @@
45024
45606
  }
45025
45607
  },
45026
45608
  "budget_exceeded": {
45027
- "type": "string",
45028
- "nullable": true
45609
+ "type": [
45610
+ "string",
45611
+ "null"
45612
+ ]
45029
45613
  }
45030
45614
  }
45031
45615
  }
@@ -45082,16 +45666,20 @@
45082
45666
  ]
45083
45667
  },
45084
45668
  "cron_expr": {
45085
- "type": "string",
45086
- "nullable": true
45669
+ "type": [
45670
+ "string",
45671
+ "null"
45672
+ ]
45087
45673
  },
45088
45674
  "timezone": {
45089
45675
  "type": "string"
45090
45676
  },
45091
45677
  "event_filter": {
45092
- "type": "object",
45093
- "additionalProperties": true,
45094
- "nullable": true
45678
+ "type": [
45679
+ "object",
45680
+ "null"
45681
+ ],
45682
+ "additionalProperties": true
45095
45683
  },
45096
45684
  "workflow_spec": {
45097
45685
  "oneOf": [
@@ -45112,33 +45700,45 @@
45112
45700
  "type": "boolean"
45113
45701
  },
45114
45702
  "last_run_at": {
45115
- "type": "string",
45116
- "format": "date-time",
45117
- "nullable": true
45703
+ "type": [
45704
+ "string",
45705
+ "null"
45706
+ ],
45707
+ "format": "date-time"
45118
45708
  },
45119
45709
  "next_run_at": {
45120
- "type": "string",
45121
- "format": "date-time",
45122
- "nullable": true
45710
+ "type": [
45711
+ "string",
45712
+ "null"
45713
+ ],
45714
+ "format": "date-time"
45123
45715
  },
45124
45716
  "last_run_status": {
45125
- "type": "string",
45126
- "nullable": true,
45717
+ "type": [
45718
+ "string",
45719
+ "null"
45720
+ ],
45127
45721
  "description": "Status of the most recent run (enriched list field)"
45128
45722
  },
45129
45723
  "total_runs": {
45130
- "type": "integer",
45131
- "nullable": true,
45724
+ "type": [
45725
+ "integer",
45726
+ "null"
45727
+ ],
45132
45728
  "description": "Total runs in the last 30 days (enriched list field)"
45133
45729
  },
45134
45730
  "success_rate": {
45135
- "type": "number",
45136
- "nullable": true,
45731
+ "type": [
45732
+ "number",
45733
+ "null"
45734
+ ],
45137
45735
  "description": "Success rate percentage (enriched list field)"
45138
45736
  },
45139
45737
  "agent_name": {
45140
- "type": "string",
45141
- "nullable": true,
45738
+ "type": [
45739
+ "string",
45740
+ "null"
45741
+ ],
45142
45742
  "description": "Resolved agent display name (enriched list field)"
45143
45743
  },
45144
45744
  "created_by_type": {
@@ -45162,8 +45762,10 @@
45162
45762
  "description": "Current `automation_versions` version."
45163
45763
  },
45164
45764
  "webhook_signature_scheme": {
45165
- "type": "string",
45166
- "nullable": true,
45765
+ "type": [
45766
+ "string",
45767
+ "null"
45768
+ ],
45167
45769
  "description": "Inbound signature scheme name, never the secret."
45168
45770
  }
45169
45771
  }
@@ -45241,13 +45843,17 @@
45241
45843
  }
45242
45844
  },
45243
45845
  "runtime_id": {
45244
- "type": "string",
45245
- "format": "uuid",
45246
- "nullable": true
45846
+ "type": [
45847
+ "string",
45848
+ "null"
45849
+ ],
45850
+ "format": "uuid"
45247
45851
  },
45248
45852
  "runtime_status": {
45249
- "type": "string",
45250
- "nullable": true
45853
+ "type": [
45854
+ "string",
45855
+ "null"
45856
+ ]
45251
45857
  },
45252
45858
  "cli_hint": {
45253
45859
  "type": "string"
@@ -45308,8 +45914,10 @@
45308
45914
  "description": "`awaiting_approval`, `waiting` (a `wait_until` park) and `awaiting_callback`\nare parked states: the run's clock is stopped and it continues when the\napproval is decided, the wake time passes, or the callback URL is posted to.\n"
45309
45915
  },
45310
45916
  "paused_reason": {
45311
- "type": "string",
45312
- "nullable": true,
45917
+ "type": [
45918
+ "string",
45919
+ "null"
45920
+ ],
45313
45921
  "enum": [
45314
45922
  "approval",
45315
45923
  "wait_until",
@@ -45317,53 +45925,71 @@
45317
45925
  ]
45318
45926
  },
45319
45927
  "paused_at_step": {
45320
- "type": "integer",
45321
- "nullable": true
45928
+ "type": [
45929
+ "integer",
45930
+ "null"
45931
+ ]
45322
45932
  },
45323
45933
  "paused_approval_id": {
45324
- "type": "string",
45325
- "format": "uuid",
45326
- "nullable": true
45934
+ "type": [
45935
+ "string",
45936
+ "null"
45937
+ ],
45938
+ "format": "uuid"
45327
45939
  },
45328
45940
  "paused_until": {
45329
- "type": "string",
45330
- "format": "date-time",
45331
- "nullable": true
45941
+ "type": [
45942
+ "string",
45943
+ "null"
45944
+ ],
45945
+ "format": "date-time"
45332
45946
  },
45333
45947
  "paused_expires_at": {
45334
- "type": "string",
45335
- "format": "date-time",
45336
- "nullable": true
45948
+ "type": [
45949
+ "string",
45950
+ "null"
45951
+ ],
45952
+ "format": "date-time"
45337
45953
  },
45338
45954
  "spec_version": {
45339
- "type": "integer",
45340
- "nullable": true
45955
+ "type": [
45956
+ "integer",
45957
+ "null"
45958
+ ]
45341
45959
  },
45342
45960
  "idempotency_key": {
45343
- "type": "string",
45344
- "nullable": true
45961
+ "type": [
45962
+ "string",
45963
+ "null"
45964
+ ]
45345
45965
  },
45346
45966
  "parent_run_id": {
45347
- "type": "string",
45967
+ "type": [
45968
+ "string",
45969
+ "null"
45970
+ ],
45348
45971
  "format": "uuid",
45349
- "nullable": true,
45350
45972
  "description": "Set when a `call_automation` step started this run."
45351
45973
  },
45352
- "step_results": {
45353
- "nullable": true
45354
- },
45974
+ "step_results": {},
45355
45975
  "error": {
45356
- "type": "string",
45357
- "nullable": true
45976
+ "type": [
45977
+ "string",
45978
+ "null"
45979
+ ]
45358
45980
  },
45359
45981
  "trigger_source": {
45360
- "type": "string",
45361
- "nullable": true
45982
+ "type": [
45983
+ "string",
45984
+ "null"
45985
+ ]
45362
45986
  },
45363
45987
  "context": {
45364
- "type": "object",
45988
+ "type": [
45989
+ "object",
45990
+ "null"
45991
+ ],
45365
45992
  "additionalProperties": true,
45366
- "nullable": true,
45367
45993
  "description": "JSONB context passed between workflow steps"
45368
45994
  },
45369
45995
  "started_at": {
@@ -45371,9 +45997,11 @@
45371
45997
  "format": "date-time"
45372
45998
  },
45373
45999
  "finished_at": {
45374
- "type": "string",
45375
- "format": "date-time",
45376
- "nullable": true
46000
+ "type": [
46001
+ "string",
46002
+ "null"
46003
+ ],
46004
+ "format": "date-time"
45377
46005
  },
45378
46006
  "tokens_used": {
45379
46007
  "type": "integer"
@@ -45421,8 +46049,10 @@
45421
46049
  "type": "string"
45422
46050
  },
45423
46051
  "cron_expr": {
45424
- "type": "string",
45425
- "nullable": true
46052
+ "type": [
46053
+ "string",
46054
+ "null"
46055
+ ]
45426
46056
  },
45427
46057
  "workflow_spec": {
45428
46058
  "type": "object",
@@ -45546,9 +46176,11 @@
45546
46176
  "type": "object",
45547
46177
  "properties": {
45548
46178
  "schedule": {
45549
- "nullable": true,
45550
46179
  "description": "Scheduled start/stop: start the container when `start_cron` fires (IANA\n`timezone`, default UTC) and stop it `stop_after_secs` later (60–86400; null\nleaves it to the idle reconciler). `null` clears the schedule.\n",
45551
- "type": "object",
46180
+ "type": [
46181
+ "object",
46182
+ "null"
46183
+ ],
45552
46184
  "properties": {
45553
46185
  "start_cron": {
45554
46186
  "type": "string"
@@ -45558,8 +46190,10 @@
45558
46190
  "default": "UTC"
45559
46191
  },
45560
46192
  "stop_after_secs": {
45561
- "type": "integer",
45562
- "nullable": true
46193
+ "type": [
46194
+ "integer",
46195
+ "null"
46196
+ ]
45563
46197
  }
45564
46198
  }
45565
46199
  },
@@ -45628,28 +46262,38 @@
45628
46262
  ],
45629
46263
  "properties": {
45630
46264
  "previous_image_digest": {
45631
- "type": "string",
45632
- "nullable": true
46265
+ "type": [
46266
+ "string",
46267
+ "null"
46268
+ ]
45633
46269
  },
45634
46270
  "image_digest": {
45635
- "type": "string",
45636
- "nullable": true,
46271
+ "type": [
46272
+ "string",
46273
+ "null"
46274
+ ],
45637
46275
  "description": "Resolved image (digest form when the provider reports one); runtime-minted agent tokens carry it as `runtime_image`, which access policies can require via `conditions.runtime_image_in`."
45638
46276
  },
45639
46277
  "schedule": {
45640
- "type": "object",
45641
- "nullable": true,
46278
+ "type": [
46279
+ "object",
46280
+ "null"
46281
+ ],
45642
46282
  "additionalProperties": true
45643
46283
  },
45644
46284
  "next_scheduled_start_at": {
45645
- "type": "string",
45646
- "format": "date-time",
45647
- "nullable": true
46285
+ "type": [
46286
+ "string",
46287
+ "null"
46288
+ ],
46289
+ "format": "date-time"
45648
46290
  },
45649
46291
  "scheduled_stop_at": {
45650
- "type": "string",
45651
- "format": "date-time",
45652
- "nullable": true
46292
+ "type": [
46293
+ "string",
46294
+ "null"
46295
+ ],
46296
+ "format": "date-time"
45653
46297
  },
45654
46298
  "id": {
45655
46299
  "type": "string",
@@ -45663,16 +46307,22 @@
45663
46307
  "format": "uuid"
45664
46308
  },
45665
46309
  "template": {
45666
- "type": "string",
45667
- "nullable": true
46310
+ "type": [
46311
+ "string",
46312
+ "null"
46313
+ ]
45668
46314
  },
45669
46315
  "preset": {
45670
- "type": "string",
45671
- "nullable": true
46316
+ "type": [
46317
+ "string",
46318
+ "null"
46319
+ ]
45672
46320
  },
45673
46321
  "provider": {
45674
- "type": "string",
45675
- "nullable": true
46322
+ "type": [
46323
+ "string",
46324
+ "null"
46325
+ ]
45676
46326
  },
45677
46327
  "status": {
45678
46328
  "type": "string",
@@ -45686,49 +46336,67 @@
45686
46336
  ]
45687
46337
  },
45688
46338
  "image": {
45689
- "type": "string",
45690
- "nullable": true
46339
+ "type": [
46340
+ "string",
46341
+ "null"
46342
+ ]
45691
46343
  },
45692
46344
  "environment": {
45693
- "type": "string",
45694
- "nullable": true,
46345
+ "type": [
46346
+ "string",
46347
+ "null"
46348
+ ],
45695
46349
  "description": "Vault environment for env var resolution"
45696
46350
  },
45697
46351
  "env_public": {
45698
- "type": "object",
46352
+ "type": [
46353
+ "object",
46354
+ "null"
46355
+ ],
45699
46356
  "additionalProperties": {
45700
46357
  "type": "string"
45701
- },
45702
- "nullable": true
46358
+ }
45703
46359
  },
45704
46360
  "idle_timeout_secs": {
45705
- "type": "integer",
45706
- "nullable": true
46361
+ "type": [
46362
+ "integer",
46363
+ "null"
46364
+ ]
45707
46365
  },
45708
46366
  "expose_http": {
45709
- "type": "boolean",
45710
- "nullable": true
46367
+ "type": [
46368
+ "boolean",
46369
+ "null"
46370
+ ]
45711
46371
  },
45712
46372
  "slug": {
45713
- "type": "string",
45714
- "nullable": true
46373
+ "type": [
46374
+ "string",
46375
+ "null"
46376
+ ]
45715
46377
  },
45716
46378
  "public_url": {
45717
- "type": "string",
45718
- "nullable": true
46379
+ "type": [
46380
+ "string",
46381
+ "null"
46382
+ ]
45719
46383
  },
45720
46384
  "http_port": {
45721
- "type": "integer",
45722
- "nullable": true
46385
+ "type": [
46386
+ "integer",
46387
+ "null"
46388
+ ]
45723
46389
  },
45724
46390
  "inbound_auth": {
45725
- "type": "string",
46391
+ "type": [
46392
+ "string",
46393
+ "null"
46394
+ ],
45726
46395
  "enum": [
45727
46396
  "api_key",
45728
46397
  "jwt",
45729
46398
  "public"
45730
- ],
45731
- "nullable": true
46399
+ ]
45732
46400
  },
45733
46401
  "shell_access_enabled": {
45734
46402
  "type": "boolean"
@@ -45740,8 +46408,10 @@
45740
46408
  "type": "integer"
45741
46409
  },
45742
46410
  "monthly_hours_used": {
45743
- "type": "number",
45744
- "nullable": true
46411
+ "type": [
46412
+ "number",
46413
+ "null"
46414
+ ]
45745
46415
  },
45746
46416
  "has_paid_addon": {
45747
46417
  "type": "boolean",
@@ -45815,8 +46485,10 @@
45815
46485
  "type": "string"
45816
46486
  },
45817
46487
  "reason": {
45818
- "type": "string",
45819
- "nullable": true
46488
+ "type": [
46489
+ "string",
46490
+ "null"
46491
+ ]
45820
46492
  }
45821
46493
  }
45822
46494
  },
@@ -45936,9 +46608,11 @@
45936
46608
  "format": "date-time"
45937
46609
  },
45938
46610
  "ttl_expires_at": {
45939
- "type": "string",
45940
- "format": "date-time",
45941
- "nullable": true
46611
+ "type": [
46612
+ "string",
46613
+ "null"
46614
+ ],
46615
+ "format": "date-time"
45942
46616
  }
45943
46617
  }
45944
46618
  },
@@ -45952,8 +46626,10 @@
45952
46626
  "type": "string"
45953
46627
  },
45954
46628
  "ttl_seconds": {
45955
- "type": "integer",
45956
- "nullable": true
46629
+ "type": [
46630
+ "integer",
46631
+ "null"
46632
+ ]
45957
46633
  }
45958
46634
  }
45959
46635
  },
@@ -46047,8 +46723,10 @@
46047
46723
  "type": "string"
46048
46724
  },
46049
46725
  "description": {
46050
- "type": "string",
46051
- "nullable": true
46726
+ "type": [
46727
+ "string",
46728
+ "null"
46729
+ ]
46052
46730
  },
46053
46731
  "capabilities": {
46054
46732
  "type": "array",
@@ -46057,12 +46735,16 @@
46057
46735
  }
46058
46736
  },
46059
46737
  "a2a_url": {
46060
- "type": "string",
46061
- "nullable": true
46738
+ "type": [
46739
+ "string",
46740
+ "null"
46741
+ ]
46062
46742
  },
46063
46743
  "mcp_url": {
46064
- "type": "string",
46065
- "nullable": true
46744
+ "type": [
46745
+ "string",
46746
+ "null"
46747
+ ]
46066
46748
  },
46067
46749
  "tags": {
46068
46750
  "type": "array",
@@ -46087,8 +46769,10 @@
46087
46769
  "type": "string"
46088
46770
  },
46089
46771
  "description": {
46090
- "type": "string",
46091
- "nullable": true
46772
+ "type": [
46773
+ "string",
46774
+ "null"
46775
+ ]
46092
46776
  },
46093
46777
  "tags": {
46094
46778
  "type": "array",
@@ -46103,16 +46787,22 @@
46103
46787
  }
46104
46788
  },
46105
46789
  "a2a_url": {
46106
- "type": "string",
46107
- "nullable": true
46790
+ "type": [
46791
+ "string",
46792
+ "null"
46793
+ ]
46108
46794
  },
46109
46795
  "mcp_url": {
46110
- "type": "string",
46111
- "nullable": true
46796
+ "type": [
46797
+ "string",
46798
+ "null"
46799
+ ]
46112
46800
  },
46113
46801
  "org_name": {
46114
- "type": "string",
46115
- "nullable": true
46802
+ "type": [
46803
+ "string",
46804
+ "null"
46805
+ ]
46116
46806
  }
46117
46807
  }
46118
46808
  },
@@ -46173,12 +46863,16 @@
46173
46863
  }
46174
46864
  },
46175
46865
  "a2a_url": {
46176
- "type": "string",
46177
- "nullable": true
46866
+ "type": [
46867
+ "string",
46868
+ "null"
46869
+ ]
46178
46870
  },
46179
46871
  "mcp_url": {
46180
- "type": "string",
46181
- "nullable": true
46872
+ "type": [
46873
+ "string",
46874
+ "null"
46875
+ ]
46182
46876
  },
46183
46877
  "intents_api_enabled": {
46184
46878
  "type": "boolean"
@@ -46514,9 +47208,11 @@
46514
47208
  "type": "boolean"
46515
47209
  },
46516
47210
  "config": {
46517
- "type": "object",
47211
+ "type": [
47212
+ "object",
47213
+ "null"
47214
+ ],
46518
47215
  "additionalProperties": true,
46519
- "nullable": true,
46520
47216
  "description": "Channel-specific configuration JSON. May include:\n- sender_allowlist (array of strings): restrict which external senders can trigger the agent\n- auto_respond_enabled (boolean): whether the agent auto-responds to inbound messages\n"
46521
47217
  },
46522
47218
  "slash_commands_enabled": {
@@ -46528,9 +47224,11 @@
46528
47224
  "description": "Whether voice message transcription is enabled"
46529
47225
  },
46530
47226
  "unified_conversation_id": {
46531
- "type": "string",
47227
+ "type": [
47228
+ "string",
47229
+ "null"
47230
+ ],
46532
47231
  "format": "uuid",
46533
- "nullable": true,
46534
47232
  "description": "ID linking this channel to a unified cross-platform conversation"
46535
47233
  },
46536
47234
  "is_home_platform": {
@@ -46538,11 +47236,13 @@
46538
47236
  "description": "Whether this is the agent's home platform channel"
46539
47237
  },
46540
47238
  "sender_allowlist": {
46541
- "type": "array",
47239
+ "type": [
47240
+ "array",
47241
+ "null"
47242
+ ],
46542
47243
  "items": {
46543
47244
  "type": "string"
46544
47245
  },
46545
- "nullable": true,
46546
47246
  "description": "List of allowed sender IDs for auto-respond"
46547
47247
  },
46548
47248
  "auto_respond_enabled": {
@@ -46628,18 +47328,24 @@
46628
47328
  "description": "Whether this message was a voice message"
46629
47329
  },
46630
47330
  "voice_file_id": {
46631
- "type": "string",
46632
- "nullable": true,
47331
+ "type": [
47332
+ "string",
47333
+ "null"
47334
+ ],
46633
47335
  "description": "Telegram voice file ID"
46634
47336
  },
46635
47337
  "voice_duration_secs": {
46636
- "type": "integer",
46637
- "nullable": true,
47338
+ "type": [
47339
+ "integer",
47340
+ "null"
47341
+ ],
46638
47342
  "description": "Duration of voice message in seconds"
46639
47343
  },
46640
47344
  "transcription_status": {
46641
- "type": "string",
46642
- "nullable": true,
47345
+ "type": [
47346
+ "string",
47347
+ "null"
47348
+ ],
46643
47349
  "enum": [
46644
47350
  "pending",
46645
47351
  "completed",
@@ -46716,20 +47422,24 @@
46716
47422
  }
46717
47423
  },
46718
47424
  "extra_auth_params": {
46719
- "type": "object",
47425
+ "type": [
47426
+ "object",
47427
+ "null"
47428
+ ],
46720
47429
  "additionalProperties": {
46721
47430
  "type": "string"
46722
- },
46723
- "nullable": true
47431
+ }
46724
47432
  },
46725
47433
  "requires_app_credentials": {
46726
47434
  "type": "boolean",
46727
47435
  "description": "Whether custom app credentials are required (vs. shared 1Claw app)"
46728
47436
  },
46729
47437
  "documentation_url": {
46730
- "type": "string",
46731
- "format": "uri",
46732
- "nullable": true
47438
+ "type": [
47439
+ "string",
47440
+ "null"
47441
+ ],
47442
+ "format": "uri"
46733
47443
  }
46734
47444
  }
46735
47445
  },
@@ -46864,9 +47574,11 @@
46864
47574
  "type": "string"
46865
47575
  },
46866
47576
  "redirect_uri": {
46867
- "type": "string",
46868
- "format": "uri",
46869
- "nullable": true
47577
+ "type": [
47578
+ "string",
47579
+ "null"
47580
+ ],
47581
+ "format": "uri"
46870
47582
  },
46871
47583
  "created_at": {
46872
47584
  "type": "string",
@@ -47443,9 +48155,11 @@
47443
48155
  ]
47444
48156
  },
47445
48157
  "approval_id": {
47446
- "type": "string",
47447
- "format": "uuid",
47448
- "nullable": true
48158
+ "type": [
48159
+ "string",
48160
+ "null"
48161
+ ],
48162
+ "format": "uuid"
47449
48163
  },
47450
48164
  "created_at": {
47451
48165
  "type": "string",
@@ -48861,8 +49575,10 @@
48861
49575
  "type": "string"
48862
49576
  },
48863
49577
  "nonce": {
48864
- "type": "integer",
48865
- "nullable": true
49578
+ "type": [
49579
+ "integer",
49580
+ "null"
49581
+ ]
48866
49582
  },
48867
49583
  "created_at": {
48868
49584
  "type": "string",
@@ -48887,27 +49603,35 @@
48887
49603
  }
48888
49604
  },
48889
49605
  "git_branch": {
48890
- "type": "string",
48891
- "nullable": true
49606
+ "type": [
49607
+ "string",
49608
+ "null"
49609
+ ]
48892
49610
  },
48893
49611
  "sensitive": {
48894
49612
  "type": "boolean"
48895
49613
  },
48896
49614
  "comment": {
48897
- "type": "string",
48898
- "nullable": true
49615
+ "type": [
49616
+ "string",
49617
+ "null"
49618
+ ]
48899
49619
  },
48900
49620
  "value": {
48901
- "type": "string",
48902
- "nullable": true,
49621
+ "type": [
49622
+ "string",
49623
+ "null"
49624
+ ],
48903
49625
  "description": "Null for sensitive vars in list responses"
48904
49626
  },
48905
49627
  "version": {
48906
49628
  "type": "integer"
48907
49629
  },
48908
49630
  "created_by": {
48909
- "type": "string",
48910
- "nullable": true
49631
+ "type": [
49632
+ "string",
49633
+ "null"
49634
+ ]
48911
49635
  },
48912
49636
  "created_at": {
48913
49637
  "type": "string",
@@ -49001,8 +49725,10 @@
49001
49725
  "type": "string"
49002
49726
  },
49003
49727
  "git_branch": {
49004
- "type": "string",
49005
- "nullable": true
49728
+ "type": [
49729
+ "string",
49730
+ "null"
49731
+ ]
49006
49732
  },
49007
49733
  "resolved_at": {
49008
49734
  "type": "string",
@@ -49021,15 +49747,19 @@
49021
49747
  "type": "string"
49022
49748
  },
49023
49749
  "description": {
49024
- "type": "string",
49025
- "nullable": true
49750
+ "type": [
49751
+ "string",
49752
+ "null"
49753
+ ]
49026
49754
  },
49027
49755
  "is_builtin": {
49028
49756
  "type": "boolean"
49029
49757
  },
49030
49758
  "copied_from": {
49031
- "type": "string",
49032
- "nullable": true
49759
+ "type": [
49760
+ "string",
49761
+ "null"
49762
+ ]
49033
49763
  },
49034
49764
  "is_detached": {
49035
49765
  "type": "boolean"
@@ -49079,12 +49809,16 @@
49079
49809
  "type": "boolean"
49080
49810
  },
49081
49811
  "comment": {
49082
- "type": "string",
49083
- "nullable": true
49812
+ "type": [
49813
+ "string",
49814
+ "null"
49815
+ ]
49084
49816
  },
49085
49817
  "value": {
49086
- "type": "string",
49087
- "nullable": true
49818
+ "type": [
49819
+ "string",
49820
+ "null"
49821
+ ]
49088
49822
  },
49089
49823
  "version": {
49090
49824
  "type": "integer"
@@ -49174,9 +49908,11 @@
49174
49908
  "description": "Policy scope — org-wide, platform app, or single wallet"
49175
49909
  },
49176
49910
  "scope_id": {
49177
- "type": "string",
49911
+ "type": [
49912
+ "string",
49913
+ "null"
49914
+ ],
49178
49915
  "format": "uuid",
49179
- "nullable": true,
49180
49916
  "description": "Wallet or platform app UUID when scope_type is not org"
49181
49917
  },
49182
49918
  "principal_type": {
@@ -49253,9 +49989,11 @@
49253
49989
  "type": "string"
49254
49990
  },
49255
49991
  "scope_id": {
49256
- "type": "string",
49257
- "format": "uuid",
49258
- "nullable": true
49992
+ "type": [
49993
+ "string",
49994
+ "null"
49995
+ ],
49996
+ "format": "uuid"
49259
49997
  },
49260
49998
  "principal_type": {
49261
49999
  "type": "string"
@@ -49285,12 +50023,16 @@
49285
50023
  }
49286
50024
  },
49287
50025
  "max_value_per_tx_eth": {
49288
- "type": "string",
49289
- "nullable": true
50026
+ "type": [
50027
+ "string",
50028
+ "null"
50029
+ ]
49290
50030
  },
49291
50031
  "daily_limit_eth": {
49292
- "type": "string",
49293
- "nullable": true
50032
+ "type": [
50033
+ "string",
50034
+ "null"
50035
+ ]
49294
50036
  },
49295
50037
  "conditions": {
49296
50038
  "type": "object"
@@ -49299,9 +50041,11 @@
49299
50041
  "type": "boolean"
49300
50042
  },
49301
50043
  "expires_at": {
49302
- "type": "string",
49303
- "format": "date-time",
49304
- "nullable": true
50044
+ "type": [
50045
+ "string",
50046
+ "null"
50047
+ ],
50048
+ "format": "date-time"
49305
50049
  },
49306
50050
  "created_by": {
49307
50051
  "type": "string",
@@ -49403,8 +50147,10 @@
49403
50147
  ]
49404
50148
  },
49405
50149
  "recovery_code": {
49406
- "type": "string",
49407
- "nullable": true,
50150
+ "type": [
50151
+ "string",
50152
+ "null"
50153
+ ],
49408
50154
  "description": "One-time recovery code (only present for certain recovery types)"
49409
50155
  }
49410
50156
  }
@@ -49564,24 +50310,34 @@
49564
50310
  "type": "boolean"
49565
50311
  },
49566
50312
  "kek_id": {
49567
- "type": "string",
49568
- "nullable": true
50313
+ "type": [
50314
+ "string",
50315
+ "null"
50316
+ ]
49569
50317
  },
49570
50318
  "threshold": {
49571
- "type": "integer",
49572
- "nullable": true
50319
+ "type": [
50320
+ "integer",
50321
+ "null"
50322
+ ]
49573
50323
  },
49574
50324
  "total_shares": {
49575
- "type": "integer",
49576
- "nullable": true
50325
+ "type": [
50326
+ "integer",
50327
+ "null"
50328
+ ]
49577
50329
  },
49578
50330
  "custody_mode": {
49579
- "type": "string",
49580
- "nullable": true
50331
+ "type": [
50332
+ "string",
50333
+ "null"
50334
+ ]
49581
50335
  },
49582
50336
  "custodians": {
49583
- "type": "array",
49584
- "nullable": true,
50337
+ "type": [
50338
+ "array",
50339
+ "null"
50340
+ ],
49585
50341
  "items": {
49586
50342
  "type": "object",
49587
50343
  "properties": {
@@ -49596,9 +50352,11 @@
49596
50352
  }
49597
50353
  },
49598
50354
  "created_at": {
49599
- "type": "string",
49600
- "format": "date-time",
49601
- "nullable": true
50355
+ "type": [
50356
+ "string",
50357
+ "null"
50358
+ ],
50359
+ "format": "date-time"
49602
50360
  }
49603
50361
  }
49604
50362
  },
@@ -49728,13 +50486,17 @@
49728
50486
  "type": "integer"
49729
50487
  },
49730
50488
  "delta_pct": {
49731
- "type": "number",
49732
- "nullable": true,
50489
+ "type": [
50490
+ "number",
50491
+ "null"
50492
+ ],
49733
50493
  "description": "Null when both the current and prior totals are 0."
49734
50494
  },
49735
50495
  "notes": {
49736
- "type": "string",
49737
- "nullable": true,
50496
+ "type": [
50497
+ "string",
50498
+ "null"
50499
+ ],
49738
50500
  "description": "A known limitation worth surfacing for this vertical (e.g. a source table with no org_id to exclude test-fixture activity from). Null for the clean verticals.\n"
49739
50501
  }
49740
50502
  }
@@ -49757,8 +50519,10 @@
49757
50519
  "type": "integer"
49758
50520
  },
49759
50521
  "retention_pct": {
49760
- "type": "number",
49761
- "nullable": true,
50522
+ "type": [
50523
+ "number",
50524
+ "null"
50525
+ ],
49762
50526
  "description": "Null when there is no cohort yet (platform younger than the window)."
49763
50527
  }
49764
50528
  }