@1claw/openapi-spec 0.56.3 → 0.57.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/openapi.json +817 -51
  2. package/openapi.yaml +500 -1
  3. package/package.json +1 -1
package/openapi.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "openapi": "3.1.0",
3
3
  "info": {
4
4
  "title": "1Claw API",
5
- "version": "0.56.3",
5
+ "version": "0.57.0",
6
6
  "description": "Secure secret management for AI agents. Provides vaults, secrets,\npolicy-based access control, agent identity, Intents API,\nsharing, billing, and audit logging. Automations (workflow_spec,\nwebhook tokens, event triggers, Assist), cloud runtimes with\ninteractive shell sessions, agent memory, and discovery.\n\nAll endpoints require JWT Bearer authentication unless marked with\n`security: []`.\n",
7
7
  "contact": {
8
8
  "email": "ops@1claw.xyz"
@@ -1404,6 +1404,9 @@
1404
1404
  "require_passkey_for_vaults": {
1405
1405
  "type": "boolean"
1406
1406
  },
1407
+ "require_passkey_for_mfa": {
1408
+ "type": "boolean"
1409
+ },
1407
1410
  "passkey_count": {
1408
1411
  "type": "integer"
1409
1412
  }
@@ -1419,7 +1422,7 @@
1419
1422
  "Authentication"
1420
1423
  ],
1421
1424
  "summary": "Update user security settings",
1422
- "description": "Disabling `require_passkey_for_vaults` requires `X-Auth-Confirm`\n(purpose `security.vault_passkey.disable`) with a passkey or TOTP\nwhen either is enrolled.\n",
1425
+ "description": "Disabling `require_passkey_for_vaults` requires `X-Auth-Confirm`\n(purpose `security.vault_passkey.disable`) with a passkey or TOTP\nwhen either is enrolled.\n\nDisabling `require_passkey_for_mfa` requires `X-Auth-Confirm`\n(purpose `security.mfa_passkey.disable`) with a passkey or TOTP\nwhen either is enrolled.\n",
1423
1426
  "operationId": "updateSecuritySettings",
1424
1427
  "parameters": [
1425
1428
  {
@@ -1440,6 +1443,9 @@
1440
1443
  "properties": {
1441
1444
  "require_passkey_for_vaults": {
1442
1445
  "type": "boolean"
1446
+ },
1447
+ "require_passkey_for_mfa": {
1448
+ "type": "boolean"
1443
1449
  }
1444
1450
  }
1445
1451
  }
@@ -1624,6 +1630,84 @@
1624
1630
  }
1625
1631
  }
1626
1632
  },
1633
+ "/v1/auth/mfa/passkey/begin": {
1634
+ "post": {
1635
+ "tags": [
1636
+ "Authentication"
1637
+ ],
1638
+ "summary": "Begin passkey MFA verification during login",
1639
+ "operationId": "mfaPasskeyBegin",
1640
+ "security": [],
1641
+ "requestBody": {
1642
+ "required": true,
1643
+ "content": {
1644
+ "application/json": {
1645
+ "schema": {
1646
+ "type": "object",
1647
+ "required": [
1648
+ "mfa_token"
1649
+ ],
1650
+ "properties": {
1651
+ "mfa_token": {
1652
+ "type": "string"
1653
+ }
1654
+ }
1655
+ }
1656
+ }
1657
+ }
1658
+ },
1659
+ "responses": {
1660
+ "200": {
1661
+ "description": "WebAuthn challenge",
1662
+ "content": {
1663
+ "application/json": {
1664
+ "schema": {
1665
+ "$ref": "#/components/schemas/PasskeyAssertBeginResponse"
1666
+ }
1667
+ }
1668
+ }
1669
+ },
1670
+ "400": {
1671
+ "$ref": "#/components/responses/BadRequest"
1672
+ }
1673
+ }
1674
+ }
1675
+ },
1676
+ "/v1/auth/mfa/passkey/complete": {
1677
+ "post": {
1678
+ "tags": [
1679
+ "Authentication"
1680
+ ],
1681
+ "summary": "Complete passkey MFA verification during login",
1682
+ "operationId": "mfaPasskeyComplete",
1683
+ "security": [],
1684
+ "requestBody": {
1685
+ "required": true,
1686
+ "content": {
1687
+ "application/json": {
1688
+ "schema": {
1689
+ "$ref": "#/components/schemas/MfaPasskeyCompleteRequest"
1690
+ }
1691
+ }
1692
+ }
1693
+ },
1694
+ "responses": {
1695
+ "200": {
1696
+ "description": "MFA verified, JWT issued",
1697
+ "content": {
1698
+ "application/json": {
1699
+ "schema": {
1700
+ "$ref": "#/components/schemas/TokenResponse"
1701
+ }
1702
+ }
1703
+ }
1704
+ },
1705
+ "401": {
1706
+ "$ref": "#/components/responses/Unauthorized"
1707
+ }
1708
+ }
1709
+ }
1710
+ },
1627
1711
  "/v1/auth/mfa": {
1628
1712
  "delete": {
1629
1713
  "tags": [
@@ -8557,6 +8641,43 @@
8557
8641
  }
8558
8642
  }
8559
8643
  },
8644
+ "/v1/treasury/wallets/inference-budget": {
8645
+ "get": {
8646
+ "tags": [
8647
+ "Treasury Wallets"
8648
+ ],
8649
+ "summary": "Get inference budget for current user",
8650
+ "description": "Returns the user's remaining LLM inference allowance when connected via a platform app.\nIncludes allowance, spent, remaining USD, per-request cap, and billing period end.\n",
8651
+ "operationId": "getUserInferenceBudget",
8652
+ "security": [
8653
+ {
8654
+ "BearerAuth": []
8655
+ }
8656
+ ],
8657
+ "responses": {
8658
+ "200": {
8659
+ "description": "Inference budget (or unconfigured message)",
8660
+ "content": {
8661
+ "application/json": {
8662
+ "schema": {
8663
+ "oneOf": [
8664
+ {
8665
+ "$ref": "#/components/schemas/InferenceBudgetResponse"
8666
+ },
8667
+ {
8668
+ "$ref": "#/components/schemas/InferenceBudgetUnconfiguredResponse"
8669
+ }
8670
+ ]
8671
+ }
8672
+ }
8673
+ }
8674
+ },
8675
+ "403": {
8676
+ "$ref": "#/components/responses/Forbidden"
8677
+ }
8678
+ }
8679
+ }
8680
+ },
8560
8681
  "/v1/webhooks": {
8561
8682
  "post": {
8562
8683
  "tags": [
@@ -9907,6 +10028,65 @@
9907
10028
  }
9908
10029
  }
9909
10030
  },
10031
+ "/v1/platform/apps/{appId}/templates/{template_id}/preview": {
10032
+ "post": {
10033
+ "tags": [
10034
+ "Platform"
10035
+ ],
10036
+ "summary": "Preview resolved template spec",
10037
+ "description": "Resolves `{{params.*}}` and `{{subject.*}}` placeholders in a template spec\nwithout provisioning resources. Useful for validating parameterized bootstrap templates.\n",
10038
+ "security": [
10039
+ {
10040
+ "BearerAuth": []
10041
+ }
10042
+ ],
10043
+ "parameters": [
10044
+ {
10045
+ "in": "path",
10046
+ "name": "appId",
10047
+ "required": true,
10048
+ "schema": {
10049
+ "type": "string",
10050
+ "format": "uuid"
10051
+ }
10052
+ },
10053
+ {
10054
+ "in": "path",
10055
+ "name": "template_id",
10056
+ "required": true,
10057
+ "schema": {
10058
+ "type": "string",
10059
+ "format": "uuid"
10060
+ }
10061
+ }
10062
+ ],
10063
+ "requestBody": {
10064
+ "required": false,
10065
+ "content": {
10066
+ "application/json": {
10067
+ "schema": {
10068
+ "$ref": "#/components/schemas/TemplatePreviewRequest"
10069
+ }
10070
+ }
10071
+ }
10072
+ },
10073
+ "responses": {
10074
+ "200": {
10075
+ "description": "Resolved template spec",
10076
+ "content": {
10077
+ "application/json": {
10078
+ "schema": {
10079
+ "$ref": "#/components/schemas/TemplatePreviewResponse"
10080
+ }
10081
+ }
10082
+ }
10083
+ },
10084
+ "404": {
10085
+ "$ref": "#/components/responses/NotFound"
10086
+ }
10087
+ }
10088
+ }
10089
+ },
9910
10090
  "/v1/platform/users/upsert": {
9911
10091
  "post": {
9912
10092
  "tags": [
@@ -9963,6 +10143,45 @@
9963
10143
  }
9964
10144
  }
9965
10145
  },
10146
+ "/v1/platform/siwe/challenge": {
10147
+ "post": {
10148
+ "tags": [
10149
+ "Platform"
10150
+ ],
10151
+ "summary": "Issue SIWE nonce",
10152
+ "description": "Creates a one-time nonce for Sign-In With Ethereum user provisioning.\nRequires platform (`plt_`) authentication. The nonce expires in 5 minutes.\n",
10153
+ "security": [
10154
+ {
10155
+ "BearerAuth": []
10156
+ }
10157
+ ],
10158
+ "requestBody": {
10159
+ "required": false,
10160
+ "content": {
10161
+ "application/json": {
10162
+ "schema": {
10163
+ "$ref": "#/components/schemas/SiweChallengeRequest"
10164
+ }
10165
+ }
10166
+ }
10167
+ },
10168
+ "responses": {
10169
+ "200": {
10170
+ "description": "Nonce issued",
10171
+ "content": {
10172
+ "application/json": {
10173
+ "schema": {
10174
+ "$ref": "#/components/schemas/SiweChallengeResponse"
10175
+ }
10176
+ }
10177
+ }
10178
+ },
10179
+ "400": {
10180
+ "description": "SIWE domain not configured"
10181
+ }
10182
+ }
10183
+ }
10184
+ },
9966
10185
  "/v1/platform/apps/{appId}/users": {
9967
10186
  "get": {
9968
10187
  "tags": [
@@ -10125,13 +10344,13 @@
10125
10344
  }
10126
10345
  }
10127
10346
  },
10128
- "/v1/platform/apps/{appId}/audit": {
10347
+ "/v1/platform/connections/{connectionId}": {
10129
10348
  "get": {
10130
10349
  "tags": [
10131
10350
  "Platform"
10132
10351
  ],
10133
- "summary": "Platform audit log",
10134
- "description": "Returns audit events related to this platform app.",
10352
+ "summary": "Get connection details",
10353
+ "description": "Returns connection status, claim state, wallet address, and provisioned resource IDs.\nUse for polling the claim loop after bootstrap.\n",
10135
10354
  "security": [
10136
10355
  {
10137
10356
  "BearerAuth": []
@@ -10140,94 +10359,247 @@
10140
10359
  "parameters": [
10141
10360
  {
10142
10361
  "in": "path",
10143
- "name": "appId",
10362
+ "name": "connectionId",
10144
10363
  "required": true,
10145
10364
  "schema": {
10146
10365
  "type": "string",
10147
10366
  "format": "uuid"
10148
10367
  }
10149
- },
10150
- {
10151
- "in": "query",
10152
- "name": "limit",
10153
- "schema": {
10154
- "type": "integer",
10155
- "default": 50
10156
- }
10157
- },
10158
- {
10159
- "in": "query",
10160
- "name": "offset",
10161
- "schema": {
10162
- "type": "integer",
10163
- "default": 0
10164
- }
10165
10368
  }
10166
10369
  ],
10167
10370
  "responses": {
10168
10371
  "200": {
10169
- "description": "Audit events",
10372
+ "description": "Connection details",
10170
10373
  "content": {
10171
10374
  "application/json": {
10172
10375
  "schema": {
10173
- "type": "object",
10174
- "properties": {
10175
- "events": {
10176
- "type": "array",
10177
- "items": {
10178
- "type": "object"
10179
- }
10180
- }
10181
- }
10376
+ "$ref": "#/components/schemas/ConnectionDetailResponse"
10182
10377
  }
10183
10378
  }
10184
10379
  }
10380
+ },
10381
+ "404": {
10382
+ "$ref": "#/components/responses/NotFound"
10185
10383
  }
10186
10384
  }
10187
10385
  }
10188
10386
  },
10189
- "/v1/platform/connected-apps": {
10387
+ "/v1/platform/connections/{connectionId}/usage": {
10190
10388
  "get": {
10191
10389
  "tags": [
10192
10390
  "Platform"
10193
10391
  ],
10194
- "summary": "List connected apps (user side)",
10195
- "description": "Returns platform apps connected to the calling user's account.",
10392
+ "summary": "Get per-connection usage",
10393
+ "description": "Returns inference spend for the current UTC month for this connection.",
10196
10394
  "security": [
10197
10395
  {
10198
10396
  "BearerAuth": []
10199
10397
  }
10200
10398
  ],
10399
+ "parameters": [
10400
+ {
10401
+ "in": "path",
10402
+ "name": "connectionId",
10403
+ "required": true,
10404
+ "schema": {
10405
+ "type": "string",
10406
+ "format": "uuid"
10407
+ }
10408
+ }
10409
+ ],
10201
10410
  "responses": {
10202
10411
  "200": {
10203
- "description": "Connected apps",
10412
+ "description": "Usage summary",
10204
10413
  "content": {
10205
10414
  "application/json": {
10206
10415
  "schema": {
10207
- "type": "object",
10208
- "properties": {
10209
- "connected_apps": {
10210
- "type": "array",
10211
- "items": {
10212
- "$ref": "#/components/schemas/ConnectedAppResponse"
10213
- }
10214
- }
10215
- }
10416
+ "$ref": "#/components/schemas/ConnectionUsageResponse"
10216
10417
  }
10217
10418
  }
10218
10419
  }
10420
+ },
10421
+ "404": {
10422
+ "$ref": "#/components/responses/NotFound"
10219
10423
  }
10220
10424
  }
10221
10425
  }
10222
10426
  },
10223
- "/v1/platform/connected-apps/{connectionId}": {
10224
- "patch": {
10427
+ "/v1/platform/connections/{connectionId}/entitlements": {
10428
+ "get": {
10225
10429
  "tags": [
10226
10430
  "Platform"
10227
10431
  ],
10228
- "summary": "Update connection delegation",
10229
- "description": "Toggle delegation and update delegation scopes for a connected platform app. User-only.",
10230
- "operationId": "updateConnectionDelegation",
10432
+ "summary": "List entitlement evaluations",
10433
+ "description": "Returns on-chain entitlement watch status for the connection.",
10434
+ "security": [
10435
+ {
10436
+ "BearerAuth": []
10437
+ }
10438
+ ],
10439
+ "parameters": [
10440
+ {
10441
+ "in": "path",
10442
+ "name": "connectionId",
10443
+ "required": true,
10444
+ "schema": {
10445
+ "type": "string",
10446
+ "format": "uuid"
10447
+ }
10448
+ }
10449
+ ],
10450
+ "responses": {
10451
+ "200": {
10452
+ "description": "Entitlement watches",
10453
+ "content": {
10454
+ "application/json": {
10455
+ "schema": {
10456
+ "$ref": "#/components/schemas/EntitlementsListResponse"
10457
+ }
10458
+ }
10459
+ }
10460
+ },
10461
+ "404": {
10462
+ "$ref": "#/components/responses/NotFound"
10463
+ }
10464
+ }
10465
+ }
10466
+ },
10467
+ "/v1/platform/connections/{connectionId}/entitlements/refresh": {
10468
+ "post": {
10469
+ "tags": [
10470
+ "Platform"
10471
+ ],
10472
+ "summary": "Refresh entitlement evaluations",
10473
+ "description": "Triggers an immediate entitlement monitor cycle for this connection's org.",
10474
+ "security": [
10475
+ {
10476
+ "BearerAuth": []
10477
+ }
10478
+ ],
10479
+ "parameters": [
10480
+ {
10481
+ "in": "path",
10482
+ "name": "connectionId",
10483
+ "required": true,
10484
+ "schema": {
10485
+ "type": "string",
10486
+ "format": "uuid"
10487
+ }
10488
+ }
10489
+ ],
10490
+ "responses": {
10491
+ "202": {
10492
+ "description": "Refresh accepted"
10493
+ },
10494
+ "404": {
10495
+ "$ref": "#/components/responses/NotFound"
10496
+ }
10497
+ }
10498
+ }
10499
+ },
10500
+ "/v1/platform/apps/{appId}/audit": {
10501
+ "get": {
10502
+ "tags": [
10503
+ "Platform"
10504
+ ],
10505
+ "summary": "Platform audit log",
10506
+ "description": "Returns audit events related to this platform app.",
10507
+ "security": [
10508
+ {
10509
+ "BearerAuth": []
10510
+ }
10511
+ ],
10512
+ "parameters": [
10513
+ {
10514
+ "in": "path",
10515
+ "name": "appId",
10516
+ "required": true,
10517
+ "schema": {
10518
+ "type": "string",
10519
+ "format": "uuid"
10520
+ }
10521
+ },
10522
+ {
10523
+ "in": "query",
10524
+ "name": "limit",
10525
+ "schema": {
10526
+ "type": "integer",
10527
+ "default": 50
10528
+ }
10529
+ },
10530
+ {
10531
+ "in": "query",
10532
+ "name": "offset",
10533
+ "schema": {
10534
+ "type": "integer",
10535
+ "default": 0
10536
+ }
10537
+ }
10538
+ ],
10539
+ "responses": {
10540
+ "200": {
10541
+ "description": "Audit events",
10542
+ "content": {
10543
+ "application/json": {
10544
+ "schema": {
10545
+ "type": "object",
10546
+ "properties": {
10547
+ "events": {
10548
+ "type": "array",
10549
+ "items": {
10550
+ "type": "object"
10551
+ }
10552
+ }
10553
+ }
10554
+ }
10555
+ }
10556
+ }
10557
+ }
10558
+ }
10559
+ }
10560
+ },
10561
+ "/v1/platform/connected-apps": {
10562
+ "get": {
10563
+ "tags": [
10564
+ "Platform"
10565
+ ],
10566
+ "summary": "List connected apps (user side)",
10567
+ "description": "Returns platform apps connected to the calling user's account.",
10568
+ "security": [
10569
+ {
10570
+ "BearerAuth": []
10571
+ }
10572
+ ],
10573
+ "responses": {
10574
+ "200": {
10575
+ "description": "Connected apps",
10576
+ "content": {
10577
+ "application/json": {
10578
+ "schema": {
10579
+ "type": "object",
10580
+ "properties": {
10581
+ "connected_apps": {
10582
+ "type": "array",
10583
+ "items": {
10584
+ "$ref": "#/components/schemas/ConnectedAppResponse"
10585
+ }
10586
+ }
10587
+ }
10588
+ }
10589
+ }
10590
+ }
10591
+ }
10592
+ }
10593
+ }
10594
+ },
10595
+ "/v1/platform/connected-apps/{connectionId}": {
10596
+ "patch": {
10597
+ "tags": [
10598
+ "Platform"
10599
+ ],
10600
+ "summary": "Update connection delegation",
10601
+ "description": "Toggle delegation and update delegation scopes for a connected platform app. User-only.",
10602
+ "operationId": "updateConnectionDelegation",
10231
10603
  "security": [
10232
10604
  {
10233
10605
  "BearerAuth": []
@@ -18031,6 +18403,14 @@
18031
18403
  },
18032
18404
  "mfa_token": {
18033
18405
  "type": "string"
18406
+ },
18407
+ "mfa_method": {
18408
+ "type": "string",
18409
+ "enum": [
18410
+ "totp",
18411
+ "passkey"
18412
+ ],
18413
+ "description": "When MFA is required, which second factor to collect"
18034
18414
  }
18035
18415
  }
18036
18416
  },
@@ -18052,6 +18432,19 @@
18052
18432
  },
18053
18433
  "refresh_token": {
18054
18434
  "type": "string"
18435
+ },
18436
+ "mfa_required": {
18437
+ "type": "boolean"
18438
+ },
18439
+ "mfa_token": {
18440
+ "type": "string"
18441
+ },
18442
+ "mfa_method": {
18443
+ "type": "string",
18444
+ "enum": [
18445
+ "totp",
18446
+ "passkey"
18447
+ ]
18055
18448
  }
18056
18449
  }
18057
18450
  },
@@ -18277,6 +18670,15 @@
18277
18670
  "properties": {
18278
18671
  "enabled": {
18279
18672
  "type": "boolean"
18673
+ },
18674
+ "eligible": {
18675
+ "type": "boolean"
18676
+ },
18677
+ "totp_enabled": {
18678
+ "type": "boolean"
18679
+ },
18680
+ "passkey_mfa_enabled": {
18681
+ "type": "boolean"
18280
18682
  }
18281
18683
  }
18282
18684
  },
@@ -24663,7 +25065,8 @@
24663
25065
  },
24664
25066
  "subject_token_type": {
24665
25067
  "type": "string",
24666
- "default": "urn:ietf:params:oauth:token-type:jwt"
25068
+ "default": "urn:ietf:params:oauth:token-type:jwt",
25069
+ "description": "Token type for subject_token. Use `urn:1claw:params:oauth:token-type:siwe`\nwith `siwe_message` and `siwe_signature` for wallet-based provisioning.\n"
24667
25070
  },
24668
25071
  "email": {
24669
25072
  "type": "string",
@@ -24672,6 +25075,24 @@
24672
25075
  },
24673
25076
  "display_name": {
24674
25077
  "type": "string"
25078
+ },
25079
+ "siwe_message": {
25080
+ "type": "string",
25081
+ "description": "EIP-4361 Sign-In With Ethereum message (required for SIWE upsert)"
25082
+ },
25083
+ "siwe_signature": {
25084
+ "type": "string",
25085
+ "description": "Hex-encoded SIWE signature (required for SIWE upsert)"
25086
+ },
25087
+ "return_to": {
25088
+ "type": "string",
25089
+ "format": "uri",
25090
+ "description": "Redirect URL after cross-org link consent"
25091
+ },
25092
+ "create_sub_org": {
25093
+ "type": "boolean",
25094
+ "default": false,
25095
+ "description": "When true, creates a sub-org under the platform app's org"
24675
25096
  }
24676
25097
  }
24677
25098
  },
@@ -24800,6 +25221,11 @@
24800
25221
  "type": "string",
24801
25222
  "format": "uri",
24802
25223
  "description": "URL to redirect the user to after claiming resources."
25224
+ },
25225
+ "parameters": {
25226
+ "type": "object",
25227
+ "additionalProperties": true,
25228
+ "description": "Template parameters substituted as `{{params.*}}` during bootstrap.\nCombined with `Idempotency-Key` header for params-aware idempotent replay.\n"
24803
25229
  }
24804
25230
  }
24805
25231
  },
@@ -25807,6 +26233,34 @@
25807
26233
  "type": "integer",
25808
26234
  "description": "Maximum number of transactions per 24h window"
25809
26235
  },
26236
+ "inference_allowance_usd": {
26237
+ "type": "string",
26238
+ "description": "Monthly LLM inference allowance in USD (decimal string)"
26239
+ },
26240
+ "inference_reserved_pct": {
26241
+ "type": "integer",
26242
+ "minimum": 0,
26243
+ "maximum": 100,
26244
+ "default": 25,
26245
+ "description": "Percent of allowance held in reserve (not spendable)"
26246
+ },
26247
+ "inference_hard_stop": {
26248
+ "type": "boolean",
26249
+ "default": true,
26250
+ "description": "When true, block inference when allowance is exhausted"
26251
+ },
26252
+ "inference_allowance_mode": {
26253
+ "type": "string",
26254
+ "enum": [
26255
+ "policy",
26256
+ "credits"
26257
+ ],
26258
+ "default": "policy"
26259
+ },
26260
+ "max_request_cost_usd": {
26261
+ "type": "string",
26262
+ "description": "Maximum estimated cost per LLM request in USD"
26263
+ },
25810
26264
  "human_factor_auth": {
25811
26265
  "type": "object",
25812
26266
  "additionalProperties": true,
@@ -25814,6 +26268,271 @@
25814
26268
  }
25815
26269
  }
25816
26270
  },
26271
+ "SiweChallengeRequest": {
26272
+ "type": "object",
26273
+ "properties": {
26274
+ "domain": {
26275
+ "type": "string",
26276
+ "description": "Optional SIWE domain override (defaults to platform app's siwe_domain)"
26277
+ }
26278
+ }
26279
+ },
26280
+ "SiweChallengeResponse": {
26281
+ "type": "object",
26282
+ "required": [
26283
+ "nonce",
26284
+ "expires_in",
26285
+ "domain"
26286
+ ],
26287
+ "properties": {
26288
+ "nonce": {
26289
+ "type": "string"
26290
+ },
26291
+ "expires_in": {
26292
+ "type": "integer",
26293
+ "description": "Seconds until nonce expiry"
26294
+ },
26295
+ "domain": {
26296
+ "type": "string"
26297
+ }
26298
+ }
26299
+ },
26300
+ "ConnectionDetailResponse": {
26301
+ "type": "object",
26302
+ "required": [
26303
+ "connection_id",
26304
+ "user_id",
26305
+ "status",
26306
+ "entitlement_status",
26307
+ "vault_ids",
26308
+ "agent_ids",
26309
+ "claim"
26310
+ ],
26311
+ "properties": {
26312
+ "connection_id": {
26313
+ "type": "string",
26314
+ "format": "uuid"
26315
+ },
26316
+ "user_id": {
26317
+ "type": "string",
26318
+ "format": "uuid"
26319
+ },
26320
+ "status": {
26321
+ "type": "string"
26322
+ },
26323
+ "entitlement_status": {
26324
+ "type": "string"
26325
+ },
26326
+ "wallet_address": {
26327
+ "type": "string",
26328
+ "nullable": true
26329
+ },
26330
+ "vault_ids": {
26331
+ "type": "array",
26332
+ "items": {
26333
+ "type": "string",
26334
+ "format": "uuid"
26335
+ }
26336
+ },
26337
+ "agent_ids": {
26338
+ "type": "array",
26339
+ "items": {
26340
+ "type": "string",
26341
+ "format": "uuid"
26342
+ }
26343
+ },
26344
+ "claimed_at": {
26345
+ "type": "string",
26346
+ "format": "date-time",
26347
+ "nullable": true
26348
+ },
26349
+ "claim": {
26350
+ "$ref": "#/components/schemas/ClaimStatusResponse"
26351
+ }
26352
+ }
26353
+ },
26354
+ "ClaimStatusResponse": {
26355
+ "type": "object",
26356
+ "required": [
26357
+ "status"
26358
+ ],
26359
+ "properties": {
26360
+ "status": {
26361
+ "type": "string",
26362
+ "enum": [
26363
+ "pending",
26364
+ "active",
26365
+ "claimed"
26366
+ ]
26367
+ },
26368
+ "redeemed_at": {
26369
+ "type": "string",
26370
+ "format": "date-time",
26371
+ "nullable": true
26372
+ }
26373
+ }
26374
+ },
26375
+ "ConnectionUsageResponse": {
26376
+ "type": "object",
26377
+ "required": [
26378
+ "connection_id",
26379
+ "period",
26380
+ "inference_spent_usd"
26381
+ ],
26382
+ "properties": {
26383
+ "connection_id": {
26384
+ "type": "string",
26385
+ "format": "uuid"
26386
+ },
26387
+ "period": {
26388
+ "type": "string",
26389
+ "description": "UTC month (YYYY-MM)"
26390
+ },
26391
+ "inference_spent_usd": {
26392
+ "type": "string"
26393
+ }
26394
+ }
26395
+ },
26396
+ "EntitlementsListResponse": {
26397
+ "type": "object",
26398
+ "required": [
26399
+ "evaluations"
26400
+ ],
26401
+ "properties": {
26402
+ "evaluations": {
26403
+ "type": "array",
26404
+ "items": {
26405
+ "$ref": "#/components/schemas/EntitlementEvaluationResponse"
26406
+ }
26407
+ }
26408
+ }
26409
+ },
26410
+ "EntitlementEvaluationResponse": {
26411
+ "type": "object",
26412
+ "required": [
26413
+ "id",
26414
+ "status",
26415
+ "watch_kind",
26416
+ "chain",
26417
+ "holder_address"
26418
+ ],
26419
+ "properties": {
26420
+ "id": {
26421
+ "type": "string"
26422
+ },
26423
+ "status": {
26424
+ "type": "string"
26425
+ },
26426
+ "watch_kind": {
26427
+ "type": "string"
26428
+ },
26429
+ "chain": {
26430
+ "type": "string"
26431
+ },
26432
+ "holder_address": {
26433
+ "type": "string"
26434
+ },
26435
+ "last_value_raw": {
26436
+ "type": "string",
26437
+ "nullable": true
26438
+ },
26439
+ "last_checked_at": {
26440
+ "type": "string",
26441
+ "format": "date-time",
26442
+ "nullable": true
26443
+ }
26444
+ }
26445
+ },
26446
+ "TemplatePreviewRequest": {
26447
+ "type": "object",
26448
+ "properties": {
26449
+ "parameters": {
26450
+ "type": "object",
26451
+ "additionalProperties": true
26452
+ },
26453
+ "subject": {
26454
+ "type": "object",
26455
+ "properties": {
26456
+ "user_id": {
26457
+ "type": "string"
26458
+ },
26459
+ "external_subject": {
26460
+ "type": "string"
26461
+ },
26462
+ "wallet_address": {
26463
+ "type": "string"
26464
+ },
26465
+ "email": {
26466
+ "type": "string"
26467
+ }
26468
+ }
26469
+ }
26470
+ }
26471
+ },
26472
+ "TemplatePreviewResponse": {
26473
+ "type": "object",
26474
+ "required": [
26475
+ "resolved_spec"
26476
+ ],
26477
+ "properties": {
26478
+ "resolved_spec": {
26479
+ "type": "object",
26480
+ "additionalProperties": true
26481
+ }
26482
+ }
26483
+ },
26484
+ "InferenceBudgetResponse": {
26485
+ "type": "object",
26486
+ "required": [
26487
+ "allowance_usd",
26488
+ "spent_usd",
26489
+ "remaining_usd",
26490
+ "reserved_pct",
26491
+ "max_request_cost_usd",
26492
+ "period_end"
26493
+ ],
26494
+ "properties": {
26495
+ "allowance_usd": {
26496
+ "type": "string"
26497
+ },
26498
+ "spent_usd": {
26499
+ "type": "string"
26500
+ },
26501
+ "remaining_usd": {
26502
+ "type": "string"
26503
+ },
26504
+ "reserved_pct": {
26505
+ "type": "integer"
26506
+ },
26507
+ "max_request_cost_usd": {
26508
+ "type": "string"
26509
+ },
26510
+ "period_end": {
26511
+ "type": "string",
26512
+ "format": "date-time"
26513
+ },
26514
+ "connection_id": {
26515
+ "type": "string",
26516
+ "format": "uuid",
26517
+ "nullable": true
26518
+ }
26519
+ }
26520
+ },
26521
+ "InferenceBudgetUnconfiguredResponse": {
26522
+ "type": "object",
26523
+ "properties": {
26524
+ "allowance_usd": {
26525
+ "type": "string",
26526
+ "nullable": true
26527
+ },
26528
+ "remaining_usd": {
26529
+ "nullable": true
26530
+ },
26531
+ "message": {
26532
+ "type": "string"
26533
+ }
26534
+ }
26535
+ },
25817
26536
  "SpendPolicyResponse": {
25818
26537
  "type": "object",
25819
26538
  "required": [
@@ -25871,6 +26590,26 @@
25871
26590
  "type": "integer",
25872
26591
  "nullable": true
25873
26592
  },
26593
+ "inference_allowance_usd": {
26594
+ "type": "string",
26595
+ "nullable": true
26596
+ },
26597
+ "inference_reserved_pct": {
26598
+ "type": "integer",
26599
+ "nullable": true
26600
+ },
26601
+ "inference_hard_stop": {
26602
+ "type": "boolean",
26603
+ "nullable": true
26604
+ },
26605
+ "inference_allowance_mode": {
26606
+ "type": "string",
26607
+ "nullable": true
26608
+ },
26609
+ "max_request_cost_usd": {
26610
+ "type": "string",
26611
+ "nullable": true
26612
+ },
25874
26613
  "human_factor_auth": {
25875
26614
  "type": "object",
25876
26615
  "additionalProperties": true,
@@ -26053,6 +26792,33 @@
26053
26792
  }
26054
26793
  }
26055
26794
  },
26795
+ "MfaPasskeyCompleteRequest": {
26796
+ "type": "object",
26797
+ "required": [
26798
+ "mfa_token",
26799
+ "credential_id",
26800
+ "authenticator_data",
26801
+ "client_data_json",
26802
+ "signature"
26803
+ ],
26804
+ "properties": {
26805
+ "mfa_token": {
26806
+ "type": "string"
26807
+ },
26808
+ "credential_id": {
26809
+ "type": "string"
26810
+ },
26811
+ "authenticator_data": {
26812
+ "type": "string"
26813
+ },
26814
+ "client_data_json": {
26815
+ "type": "string"
26816
+ },
26817
+ "signature": {
26818
+ "type": "string"
26819
+ }
26820
+ }
26821
+ },
26056
26822
  "GuardrailWideningQueuedResponse": {
26057
26823
  "type": "object",
26058
26824
  "required": [