@1claw/openapi-spec 0.32.1 → 0.34.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/openapi.json +2722 -1183
- package/openapi.yaml +968 -1
- package/package.json +1 -1
package/openapi.json
CHANGED
|
@@ -114,6 +114,14 @@
|
|
|
114
114
|
{
|
|
115
115
|
"name": "Platform",
|
|
116
116
|
"description": "Platform API for developers building on 1Claw (plt_ keys, user provisioning, bootstrap templates)"
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
"name": "OAuth",
|
|
120
|
+
"description": "OAuth 2.0 authorization server (PKCE, consent, token exchange, OIDC UserInfo)"
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
"name": "Risk Engine",
|
|
124
|
+
"description": "Risk events, verdicts, and honeytoken management"
|
|
117
125
|
}
|
|
118
126
|
],
|
|
119
127
|
"paths": {
|
|
@@ -4273,6 +4281,74 @@
|
|
|
4273
4281
|
}
|
|
4274
4282
|
}
|
|
4275
4283
|
},
|
|
4284
|
+
"/v1/org/bankr-config": {
|
|
4285
|
+
"get": {
|
|
4286
|
+
"tags": [
|
|
4287
|
+
"Organization"
|
|
4288
|
+
],
|
|
4289
|
+
"summary": "Get org Bankr partner configuration",
|
|
4290
|
+
"description": "Returns whether the org has configured Bankr BYOK (partner key prefix and default wallet only — never the secret). Users only.",
|
|
4291
|
+
"operationId": "getOrgBankrConfig",
|
|
4292
|
+
"responses": {
|
|
4293
|
+
"200": {
|
|
4294
|
+
"description": "Bankr configuration status",
|
|
4295
|
+
"content": {
|
|
4296
|
+
"application/json": {
|
|
4297
|
+
"schema": {
|
|
4298
|
+
"$ref": "#/components/schemas/OrgBankrConfigResponse"
|
|
4299
|
+
}
|
|
4300
|
+
}
|
|
4301
|
+
}
|
|
4302
|
+
}
|
|
4303
|
+
}
|
|
4304
|
+
},
|
|
4305
|
+
"put": {
|
|
4306
|
+
"tags": [
|
|
4307
|
+
"Organization"
|
|
4308
|
+
],
|
|
4309
|
+
"summary": "Set org Bankr partner configuration",
|
|
4310
|
+
"description": "Store or replace the org's Bankr partner key (`bk_ptr_...`) and optional default wallet (`wlt_...`). Owner/admin only. Partner key encrypted at rest.",
|
|
4311
|
+
"operationId": "upsertOrgBankrConfig",
|
|
4312
|
+
"requestBody": {
|
|
4313
|
+
"required": true,
|
|
4314
|
+
"content": {
|
|
4315
|
+
"application/json": {
|
|
4316
|
+
"schema": {
|
|
4317
|
+
"$ref": "#/components/schemas/UpsertOrgBankrConfigRequest"
|
|
4318
|
+
}
|
|
4319
|
+
}
|
|
4320
|
+
}
|
|
4321
|
+
},
|
|
4322
|
+
"responses": {
|
|
4323
|
+
"200": {
|
|
4324
|
+
"description": "Configuration saved",
|
|
4325
|
+
"content": {
|
|
4326
|
+
"application/json": {
|
|
4327
|
+
"schema": {
|
|
4328
|
+
"$ref": "#/components/schemas/OrgBankrConfigResponse"
|
|
4329
|
+
}
|
|
4330
|
+
}
|
|
4331
|
+
}
|
|
4332
|
+
}
|
|
4333
|
+
}
|
|
4334
|
+
},
|
|
4335
|
+
"delete": {
|
|
4336
|
+
"tags": [
|
|
4337
|
+
"Organization"
|
|
4338
|
+
],
|
|
4339
|
+
"summary": "Remove org Bankr partner configuration",
|
|
4340
|
+
"description": "Delete BYOK credentials for the org. Owner/admin only.",
|
|
4341
|
+
"operationId": "deleteOrgBankrConfig",
|
|
4342
|
+
"responses": {
|
|
4343
|
+
"204": {
|
|
4344
|
+
"description": "Configuration removed"
|
|
4345
|
+
},
|
|
4346
|
+
"404": {
|
|
4347
|
+
"description": "Configuration not found"
|
|
4348
|
+
}
|
|
4349
|
+
}
|
|
4350
|
+
}
|
|
4351
|
+
},
|
|
4276
4352
|
"/v1/org/invite": {
|
|
4277
4353
|
"post": {
|
|
4278
4354
|
"tags": [
|
|
@@ -6106,6 +6182,46 @@
|
|
|
6106
6182
|
}
|
|
6107
6183
|
}
|
|
6108
6184
|
},
|
|
6185
|
+
"/v1/treasury/wallets/spend-policy": {
|
|
6186
|
+
"get": {
|
|
6187
|
+
"tags": [
|
|
6188
|
+
"Treasury Wallets"
|
|
6189
|
+
],
|
|
6190
|
+
"summary": "Get effective spend policy for current user",
|
|
6191
|
+
"description": "Returns the effective spend policy governing the authenticated user's\nwallet transactions. Resolves from per-user override (if set) or the\napp-wide default. Returns null if no policy is configured.\n",
|
|
6192
|
+
"operationId": "getEffectiveSpendPolicy",
|
|
6193
|
+
"security": [
|
|
6194
|
+
{
|
|
6195
|
+
"BearerAuth": []
|
|
6196
|
+
}
|
|
6197
|
+
],
|
|
6198
|
+
"responses": {
|
|
6199
|
+
"200": {
|
|
6200
|
+
"description": "Effective spend policy",
|
|
6201
|
+
"content": {
|
|
6202
|
+
"application/json": {
|
|
6203
|
+
"schema": {
|
|
6204
|
+
"type": "object",
|
|
6205
|
+
"properties": {
|
|
6206
|
+
"policy": {
|
|
6207
|
+
"nullable": true,
|
|
6208
|
+
"allOf": [
|
|
6209
|
+
{
|
|
6210
|
+
"$ref": "#/components/schemas/SpendPolicyResponse"
|
|
6211
|
+
}
|
|
6212
|
+
]
|
|
6213
|
+
}
|
|
6214
|
+
}
|
|
6215
|
+
}
|
|
6216
|
+
}
|
|
6217
|
+
}
|
|
6218
|
+
},
|
|
6219
|
+
"401": {
|
|
6220
|
+
"$ref": "#/components/responses/Unauthorized"
|
|
6221
|
+
}
|
|
6222
|
+
}
|
|
6223
|
+
}
|
|
6224
|
+
},
|
|
6109
6225
|
"/v1/webhooks": {
|
|
6110
6226
|
"post": {
|
|
6111
6227
|
"tags": [
|
|
@@ -7622,6 +7738,200 @@
|
|
|
7622
7738
|
}
|
|
7623
7739
|
}
|
|
7624
7740
|
},
|
|
7741
|
+
"/v1/platform/apps/{appId}/spend-policies": {
|
|
7742
|
+
"post": {
|
|
7743
|
+
"tags": [
|
|
7744
|
+
"Platform"
|
|
7745
|
+
],
|
|
7746
|
+
"summary": "Create wallet spend policy",
|
|
7747
|
+
"description": "Create an app-wide spend policy that governs what embedded wallet users\ncan do with their wallets. Policies apply to all connected users by default\nand can be overridden per-user via connection-level policies.\n",
|
|
7748
|
+
"operationId": "createSpendPolicy",
|
|
7749
|
+
"security": [
|
|
7750
|
+
{
|
|
7751
|
+
"BearerAuth": []
|
|
7752
|
+
}
|
|
7753
|
+
],
|
|
7754
|
+
"parameters": [
|
|
7755
|
+
{
|
|
7756
|
+
"in": "path",
|
|
7757
|
+
"name": "appId",
|
|
7758
|
+
"required": true,
|
|
7759
|
+
"schema": {
|
|
7760
|
+
"type": "string",
|
|
7761
|
+
"format": "uuid"
|
|
7762
|
+
}
|
|
7763
|
+
}
|
|
7764
|
+
],
|
|
7765
|
+
"requestBody": {
|
|
7766
|
+
"required": true,
|
|
7767
|
+
"content": {
|
|
7768
|
+
"application/json": {
|
|
7769
|
+
"schema": {
|
|
7770
|
+
"$ref": "#/components/schemas/CreateSpendPolicyRequest"
|
|
7771
|
+
}
|
|
7772
|
+
}
|
|
7773
|
+
}
|
|
7774
|
+
},
|
|
7775
|
+
"responses": {
|
|
7776
|
+
"201": {
|
|
7777
|
+
"description": "Spend policy created",
|
|
7778
|
+
"content": {
|
|
7779
|
+
"application/json": {
|
|
7780
|
+
"schema": {
|
|
7781
|
+
"$ref": "#/components/schemas/SpendPolicyResponse"
|
|
7782
|
+
}
|
|
7783
|
+
}
|
|
7784
|
+
}
|
|
7785
|
+
},
|
|
7786
|
+
"400": {
|
|
7787
|
+
"$ref": "#/components/responses/BadRequest"
|
|
7788
|
+
},
|
|
7789
|
+
"403": {
|
|
7790
|
+
"$ref": "#/components/responses/Forbidden"
|
|
7791
|
+
}
|
|
7792
|
+
}
|
|
7793
|
+
},
|
|
7794
|
+
"get": {
|
|
7795
|
+
"tags": [
|
|
7796
|
+
"Platform"
|
|
7797
|
+
],
|
|
7798
|
+
"summary": "List spend policies for app",
|
|
7799
|
+
"description": "Returns all spend policies configured for the platform app.",
|
|
7800
|
+
"operationId": "listSpendPolicies",
|
|
7801
|
+
"security": [
|
|
7802
|
+
{
|
|
7803
|
+
"BearerAuth": []
|
|
7804
|
+
}
|
|
7805
|
+
],
|
|
7806
|
+
"parameters": [
|
|
7807
|
+
{
|
|
7808
|
+
"in": "path",
|
|
7809
|
+
"name": "appId",
|
|
7810
|
+
"required": true,
|
|
7811
|
+
"schema": {
|
|
7812
|
+
"type": "string",
|
|
7813
|
+
"format": "uuid"
|
|
7814
|
+
}
|
|
7815
|
+
}
|
|
7816
|
+
],
|
|
7817
|
+
"responses": {
|
|
7818
|
+
"200": {
|
|
7819
|
+
"description": "Spend policies",
|
|
7820
|
+
"content": {
|
|
7821
|
+
"application/json": {
|
|
7822
|
+
"schema": {
|
|
7823
|
+
"type": "object",
|
|
7824
|
+
"properties": {
|
|
7825
|
+
"policies": {
|
|
7826
|
+
"type": "array",
|
|
7827
|
+
"items": {
|
|
7828
|
+
"$ref": "#/components/schemas/SpendPolicyResponse"
|
|
7829
|
+
}
|
|
7830
|
+
}
|
|
7831
|
+
}
|
|
7832
|
+
}
|
|
7833
|
+
}
|
|
7834
|
+
}
|
|
7835
|
+
}
|
|
7836
|
+
}
|
|
7837
|
+
}
|
|
7838
|
+
},
|
|
7839
|
+
"/v1/platform/apps/{appId}/spend-policies/{policyId}": {
|
|
7840
|
+
"delete": {
|
|
7841
|
+
"tags": [
|
|
7842
|
+
"Platform"
|
|
7843
|
+
],
|
|
7844
|
+
"summary": "Delete a spend policy",
|
|
7845
|
+
"operationId": "deleteSpendPolicy",
|
|
7846
|
+
"security": [
|
|
7847
|
+
{
|
|
7848
|
+
"BearerAuth": []
|
|
7849
|
+
}
|
|
7850
|
+
],
|
|
7851
|
+
"parameters": [
|
|
7852
|
+
{
|
|
7853
|
+
"in": "path",
|
|
7854
|
+
"name": "appId",
|
|
7855
|
+
"required": true,
|
|
7856
|
+
"schema": {
|
|
7857
|
+
"type": "string",
|
|
7858
|
+
"format": "uuid"
|
|
7859
|
+
}
|
|
7860
|
+
},
|
|
7861
|
+
{
|
|
7862
|
+
"in": "path",
|
|
7863
|
+
"name": "policyId",
|
|
7864
|
+
"required": true,
|
|
7865
|
+
"schema": {
|
|
7866
|
+
"type": "string",
|
|
7867
|
+
"format": "uuid"
|
|
7868
|
+
}
|
|
7869
|
+
}
|
|
7870
|
+
],
|
|
7871
|
+
"responses": {
|
|
7872
|
+
"204": {
|
|
7873
|
+
"description": "Deleted"
|
|
7874
|
+
},
|
|
7875
|
+
"404": {
|
|
7876
|
+
"$ref": "#/components/responses/NotFound"
|
|
7877
|
+
}
|
|
7878
|
+
}
|
|
7879
|
+
}
|
|
7880
|
+
},
|
|
7881
|
+
"/v1/platform/connections/{connectionId}/spend-policy": {
|
|
7882
|
+
"put": {
|
|
7883
|
+
"tags": [
|
|
7884
|
+
"Platform"
|
|
7885
|
+
],
|
|
7886
|
+
"summary": "Set per-user spend policy override",
|
|
7887
|
+
"description": "Override the app-wide spend policy for a specific connected user. This\npolicy takes precedence over the app default. Remove by deleting the\nconnection-level policy.\n",
|
|
7888
|
+
"operationId": "setUserSpendPolicy",
|
|
7889
|
+
"security": [
|
|
7890
|
+
{
|
|
7891
|
+
"BearerAuth": []
|
|
7892
|
+
}
|
|
7893
|
+
],
|
|
7894
|
+
"parameters": [
|
|
7895
|
+
{
|
|
7896
|
+
"in": "path",
|
|
7897
|
+
"name": "connectionId",
|
|
7898
|
+
"required": true,
|
|
7899
|
+
"schema": {
|
|
7900
|
+
"type": "string",
|
|
7901
|
+
"format": "uuid"
|
|
7902
|
+
}
|
|
7903
|
+
}
|
|
7904
|
+
],
|
|
7905
|
+
"requestBody": {
|
|
7906
|
+
"required": true,
|
|
7907
|
+
"content": {
|
|
7908
|
+
"application/json": {
|
|
7909
|
+
"schema": {
|
|
7910
|
+
"$ref": "#/components/schemas/CreateSpendPolicyRequest"
|
|
7911
|
+
}
|
|
7912
|
+
}
|
|
7913
|
+
}
|
|
7914
|
+
},
|
|
7915
|
+
"responses": {
|
|
7916
|
+
"200": {
|
|
7917
|
+
"description": "Spend policy set",
|
|
7918
|
+
"content": {
|
|
7919
|
+
"application/json": {
|
|
7920
|
+
"schema": {
|
|
7921
|
+
"$ref": "#/components/schemas/SpendPolicyResponse"
|
|
7922
|
+
}
|
|
7923
|
+
}
|
|
7924
|
+
}
|
|
7925
|
+
},
|
|
7926
|
+
"400": {
|
|
7927
|
+
"$ref": "#/components/responses/BadRequest"
|
|
7928
|
+
},
|
|
7929
|
+
"403": {
|
|
7930
|
+
"$ref": "#/components/responses/Forbidden"
|
|
7931
|
+
}
|
|
7932
|
+
}
|
|
7933
|
+
}
|
|
7934
|
+
},
|
|
7625
7935
|
"/v1/approvals": {
|
|
7626
7936
|
"get": {
|
|
7627
7937
|
"tags": [
|
|
@@ -8251,6 +8561,682 @@
|
|
|
8251
8561
|
}
|
|
8252
8562
|
}
|
|
8253
8563
|
}
|
|
8564
|
+
},
|
|
8565
|
+
"/v1/auth/email-otp/send": {
|
|
8566
|
+
"post": {
|
|
8567
|
+
"tags": [
|
|
8568
|
+
"Authentication"
|
|
8569
|
+
],
|
|
8570
|
+
"summary": "Send email OTP code",
|
|
8571
|
+
"description": "Sends a 6-digit one-time code to the specified email address.\nNo authentication required. Rate-limited per IP and per email.\n",
|
|
8572
|
+
"operationId": "sendEmailOtp",
|
|
8573
|
+
"security": [],
|
|
8574
|
+
"requestBody": {
|
|
8575
|
+
"required": true,
|
|
8576
|
+
"content": {
|
|
8577
|
+
"application/json": {
|
|
8578
|
+
"schema": {
|
|
8579
|
+
"type": "object",
|
|
8580
|
+
"required": [
|
|
8581
|
+
"email"
|
|
8582
|
+
],
|
|
8583
|
+
"properties": {
|
|
8584
|
+
"email": {
|
|
8585
|
+
"type": "string",
|
|
8586
|
+
"format": "email"
|
|
8587
|
+
},
|
|
8588
|
+
"platform_app_id": {
|
|
8589
|
+
"type": "string",
|
|
8590
|
+
"format": "uuid",
|
|
8591
|
+
"description": "Optional platform app context for embedded wallet flows"
|
|
8592
|
+
}
|
|
8593
|
+
}
|
|
8594
|
+
}
|
|
8595
|
+
}
|
|
8596
|
+
}
|
|
8597
|
+
},
|
|
8598
|
+
"responses": {
|
|
8599
|
+
"200": {
|
|
8600
|
+
"description": "OTP sent",
|
|
8601
|
+
"content": {
|
|
8602
|
+
"application/json": {
|
|
8603
|
+
"schema": {
|
|
8604
|
+
"type": "object",
|
|
8605
|
+
"properties": {
|
|
8606
|
+
"status": {
|
|
8607
|
+
"type": "string",
|
|
8608
|
+
"enum": [
|
|
8609
|
+
"sent"
|
|
8610
|
+
]
|
|
8611
|
+
}
|
|
8612
|
+
}
|
|
8613
|
+
}
|
|
8614
|
+
}
|
|
8615
|
+
}
|
|
8616
|
+
},
|
|
8617
|
+
"429": {
|
|
8618
|
+
"description": "Rate limited"
|
|
8619
|
+
}
|
|
8620
|
+
}
|
|
8621
|
+
}
|
|
8622
|
+
},
|
|
8623
|
+
"/v1/auth/email-otp/verify": {
|
|
8624
|
+
"post": {
|
|
8625
|
+
"tags": [
|
|
8626
|
+
"Authentication"
|
|
8627
|
+
],
|
|
8628
|
+
"summary": "Verify email OTP and get JWT",
|
|
8629
|
+
"description": "Verifies the 6-digit code sent to the user's email. If the user does not\nexist, a new account is created. Optionally auto-provisions treasury wallets\nfor the specified chains. Returns a JWT for subsequent API calls.\n",
|
|
8630
|
+
"operationId": "verifyEmailOtp",
|
|
8631
|
+
"security": [],
|
|
8632
|
+
"requestBody": {
|
|
8633
|
+
"required": true,
|
|
8634
|
+
"content": {
|
|
8635
|
+
"application/json": {
|
|
8636
|
+
"schema": {
|
|
8637
|
+
"type": "object",
|
|
8638
|
+
"required": [
|
|
8639
|
+
"email",
|
|
8640
|
+
"code"
|
|
8641
|
+
],
|
|
8642
|
+
"properties": {
|
|
8643
|
+
"email": {
|
|
8644
|
+
"type": "string",
|
|
8645
|
+
"format": "email"
|
|
8646
|
+
},
|
|
8647
|
+
"code": {
|
|
8648
|
+
"type": "string",
|
|
8649
|
+
"description": "6-digit OTP code"
|
|
8650
|
+
},
|
|
8651
|
+
"platform_app_id": {
|
|
8652
|
+
"type": "string",
|
|
8653
|
+
"format": "uuid"
|
|
8654
|
+
},
|
|
8655
|
+
"auto_provision_chains": {
|
|
8656
|
+
"type": "array",
|
|
8657
|
+
"items": {
|
|
8658
|
+
"type": "string"
|
|
8659
|
+
},
|
|
8660
|
+
"description": "Chains to auto-generate wallets for (e.g. [\"ethereum\", \"base\"])"
|
|
8661
|
+
}
|
|
8662
|
+
}
|
|
8663
|
+
}
|
|
8664
|
+
}
|
|
8665
|
+
}
|
|
8666
|
+
},
|
|
8667
|
+
"responses": {
|
|
8668
|
+
"200": {
|
|
8669
|
+
"description": "Existing user authenticated",
|
|
8670
|
+
"content": {
|
|
8671
|
+
"application/json": {
|
|
8672
|
+
"schema": {
|
|
8673
|
+
"$ref": "#/components/schemas/EmailOtpVerifyResponse"
|
|
8674
|
+
}
|
|
8675
|
+
}
|
|
8676
|
+
}
|
|
8677
|
+
},
|
|
8678
|
+
"201": {
|
|
8679
|
+
"description": "New user created and authenticated",
|
|
8680
|
+
"content": {
|
|
8681
|
+
"application/json": {
|
|
8682
|
+
"schema": {
|
|
8683
|
+
"$ref": "#/components/schemas/EmailOtpVerifyResponse"
|
|
8684
|
+
}
|
|
8685
|
+
}
|
|
8686
|
+
}
|
|
8687
|
+
},
|
|
8688
|
+
"400": {
|
|
8689
|
+
"description": "Invalid or expired code"
|
|
8690
|
+
},
|
|
8691
|
+
"429": {
|
|
8692
|
+
"description": "Rate limited"
|
|
8693
|
+
}
|
|
8694
|
+
}
|
|
8695
|
+
}
|
|
8696
|
+
},
|
|
8697
|
+
"/v1/oauth/authorize": {
|
|
8698
|
+
"get": {
|
|
8699
|
+
"tags": [
|
|
8700
|
+
"OAuth"
|
|
8701
|
+
],
|
|
8702
|
+
"summary": "Get OAuth consent info",
|
|
8703
|
+
"description": "Returns information about the platform app requesting authorization so the\nUI can display a consent screen. Used by the 1Claw-hosted consent page.\n",
|
|
8704
|
+
"operationId": "getOAuthConsent",
|
|
8705
|
+
"security": [
|
|
8706
|
+
{
|
|
8707
|
+
"BearerAuth": []
|
|
8708
|
+
}
|
|
8709
|
+
],
|
|
8710
|
+
"parameters": [
|
|
8711
|
+
{
|
|
8712
|
+
"name": "client_id",
|
|
8713
|
+
"in": "query",
|
|
8714
|
+
"required": true,
|
|
8715
|
+
"schema": {
|
|
8716
|
+
"type": "string"
|
|
8717
|
+
},
|
|
8718
|
+
"description": "Platform app slug"
|
|
8719
|
+
},
|
|
8720
|
+
{
|
|
8721
|
+
"name": "redirect_uri",
|
|
8722
|
+
"in": "query",
|
|
8723
|
+
"required": true,
|
|
8724
|
+
"schema": {
|
|
8725
|
+
"type": "string",
|
|
8726
|
+
"format": "uri"
|
|
8727
|
+
}
|
|
8728
|
+
},
|
|
8729
|
+
{
|
|
8730
|
+
"name": "response_type",
|
|
8731
|
+
"in": "query",
|
|
8732
|
+
"required": true,
|
|
8733
|
+
"schema": {
|
|
8734
|
+
"type": "string",
|
|
8735
|
+
"enum": [
|
|
8736
|
+
"code"
|
|
8737
|
+
]
|
|
8738
|
+
}
|
|
8739
|
+
},
|
|
8740
|
+
{
|
|
8741
|
+
"name": "scope",
|
|
8742
|
+
"in": "query",
|
|
8743
|
+
"schema": {
|
|
8744
|
+
"type": "string"
|
|
8745
|
+
},
|
|
8746
|
+
"description": "Space-delimited scopes (e.g. \"openid email wallet\")"
|
|
8747
|
+
},
|
|
8748
|
+
{
|
|
8749
|
+
"name": "state",
|
|
8750
|
+
"in": "query",
|
|
8751
|
+
"schema": {
|
|
8752
|
+
"type": "string"
|
|
8753
|
+
}
|
|
8754
|
+
},
|
|
8755
|
+
{
|
|
8756
|
+
"name": "code_challenge",
|
|
8757
|
+
"in": "query",
|
|
8758
|
+
"schema": {
|
|
8759
|
+
"type": "string"
|
|
8760
|
+
},
|
|
8761
|
+
"description": "PKCE code challenge"
|
|
8762
|
+
},
|
|
8763
|
+
{
|
|
8764
|
+
"name": "code_challenge_method",
|
|
8765
|
+
"in": "query",
|
|
8766
|
+
"schema": {
|
|
8767
|
+
"type": "string",
|
|
8768
|
+
"enum": [
|
|
8769
|
+
"S256",
|
|
8770
|
+
"plain"
|
|
8771
|
+
]
|
|
8772
|
+
}
|
|
8773
|
+
},
|
|
8774
|
+
{
|
|
8775
|
+
"name": "nonce",
|
|
8776
|
+
"in": "query",
|
|
8777
|
+
"schema": {
|
|
8778
|
+
"type": "string"
|
|
8779
|
+
},
|
|
8780
|
+
"description": "OIDC nonce for ID token replay protection"
|
|
8781
|
+
}
|
|
8782
|
+
],
|
|
8783
|
+
"responses": {
|
|
8784
|
+
"200": {
|
|
8785
|
+
"description": "Consent screen data",
|
|
8786
|
+
"content": {
|
|
8787
|
+
"application/json": {
|
|
8788
|
+
"schema": {
|
|
8789
|
+
"$ref": "#/components/schemas/OAuthConsentResponse"
|
|
8790
|
+
}
|
|
8791
|
+
}
|
|
8792
|
+
}
|
|
8793
|
+
},
|
|
8794
|
+
"400": {
|
|
8795
|
+
"description": "Invalid client_id, redirect_uri, or response_type"
|
|
8796
|
+
}
|
|
8797
|
+
}
|
|
8798
|
+
},
|
|
8799
|
+
"post": {
|
|
8800
|
+
"tags": [
|
|
8801
|
+
"OAuth"
|
|
8802
|
+
],
|
|
8803
|
+
"summary": "Submit OAuth consent decision",
|
|
8804
|
+
"description": "The user approves or denies the authorization request. On approval, returns\na redirect URL containing the authorization code. On denial, returns a\nredirect URL with an error parameter.\n",
|
|
8805
|
+
"operationId": "submitOAuthConsent",
|
|
8806
|
+
"security": [
|
|
8807
|
+
{
|
|
8808
|
+
"BearerAuth": []
|
|
8809
|
+
}
|
|
8810
|
+
],
|
|
8811
|
+
"requestBody": {
|
|
8812
|
+
"required": true,
|
|
8813
|
+
"content": {
|
|
8814
|
+
"application/json": {
|
|
8815
|
+
"schema": {
|
|
8816
|
+
"type": "object",
|
|
8817
|
+
"required": [
|
|
8818
|
+
"approve",
|
|
8819
|
+
"client_id",
|
|
8820
|
+
"redirect_uri"
|
|
8821
|
+
],
|
|
8822
|
+
"properties": {
|
|
8823
|
+
"approve": {
|
|
8824
|
+
"type": "boolean"
|
|
8825
|
+
},
|
|
8826
|
+
"client_id": {
|
|
8827
|
+
"type": "string"
|
|
8828
|
+
},
|
|
8829
|
+
"redirect_uri": {
|
|
8830
|
+
"type": "string",
|
|
8831
|
+
"format": "uri"
|
|
8832
|
+
},
|
|
8833
|
+
"scope": {
|
|
8834
|
+
"type": "string"
|
|
8835
|
+
},
|
|
8836
|
+
"state": {
|
|
8837
|
+
"type": "string"
|
|
8838
|
+
},
|
|
8839
|
+
"code_challenge": {
|
|
8840
|
+
"type": "string"
|
|
8841
|
+
},
|
|
8842
|
+
"code_challenge_method": {
|
|
8843
|
+
"type": "string",
|
|
8844
|
+
"enum": [
|
|
8845
|
+
"S256",
|
|
8846
|
+
"plain"
|
|
8847
|
+
]
|
|
8848
|
+
},
|
|
8849
|
+
"nonce": {
|
|
8850
|
+
"type": "string"
|
|
8851
|
+
}
|
|
8852
|
+
}
|
|
8853
|
+
}
|
|
8854
|
+
}
|
|
8855
|
+
}
|
|
8856
|
+
},
|
|
8857
|
+
"responses": {
|
|
8858
|
+
"200": {
|
|
8859
|
+
"description": "Redirect URL with authorization code or error",
|
|
8860
|
+
"content": {
|
|
8861
|
+
"application/json": {
|
|
8862
|
+
"schema": {
|
|
8863
|
+
"type": "object",
|
|
8864
|
+
"required": [
|
|
8865
|
+
"redirect_url"
|
|
8866
|
+
],
|
|
8867
|
+
"properties": {
|
|
8868
|
+
"redirect_url": {
|
|
8869
|
+
"type": "string",
|
|
8870
|
+
"format": "uri"
|
|
8871
|
+
}
|
|
8872
|
+
}
|
|
8873
|
+
}
|
|
8874
|
+
}
|
|
8875
|
+
}
|
|
8876
|
+
},
|
|
8877
|
+
"400": {
|
|
8878
|
+
"description": "Invalid request"
|
|
8879
|
+
}
|
|
8880
|
+
}
|
|
8881
|
+
}
|
|
8882
|
+
},
|
|
8883
|
+
"/v1/oauth/token": {
|
|
8884
|
+
"post": {
|
|
8885
|
+
"tags": [
|
|
8886
|
+
"OAuth"
|
|
8887
|
+
],
|
|
8888
|
+
"summary": "Exchange authorization code for tokens",
|
|
8889
|
+
"description": "Standard OAuth 2.0 token endpoint. Exchanges an authorization code for an\naccess token and optional OIDC ID token. Supports PKCE via `code_verifier`.\n",
|
|
8890
|
+
"operationId": "exchangeOAuthToken",
|
|
8891
|
+
"security": [],
|
|
8892
|
+
"requestBody": {
|
|
8893
|
+
"required": true,
|
|
8894
|
+
"content": {
|
|
8895
|
+
"application/json": {
|
|
8896
|
+
"schema": {
|
|
8897
|
+
"type": "object",
|
|
8898
|
+
"required": [
|
|
8899
|
+
"grant_type",
|
|
8900
|
+
"code",
|
|
8901
|
+
"client_id",
|
|
8902
|
+
"redirect_uri"
|
|
8903
|
+
],
|
|
8904
|
+
"properties": {
|
|
8905
|
+
"grant_type": {
|
|
8906
|
+
"type": "string",
|
|
8907
|
+
"enum": [
|
|
8908
|
+
"authorization_code"
|
|
8909
|
+
]
|
|
8910
|
+
},
|
|
8911
|
+
"code": {
|
|
8912
|
+
"type": "string"
|
|
8913
|
+
},
|
|
8914
|
+
"client_id": {
|
|
8915
|
+
"type": "string"
|
|
8916
|
+
},
|
|
8917
|
+
"redirect_uri": {
|
|
8918
|
+
"type": "string",
|
|
8919
|
+
"format": "uri"
|
|
8920
|
+
},
|
|
8921
|
+
"code_verifier": {
|
|
8922
|
+
"type": "string",
|
|
8923
|
+
"description": "PKCE code verifier (required when code_challenge was used)"
|
|
8924
|
+
}
|
|
8925
|
+
}
|
|
8926
|
+
}
|
|
8927
|
+
}
|
|
8928
|
+
}
|
|
8929
|
+
},
|
|
8930
|
+
"responses": {
|
|
8931
|
+
"200": {
|
|
8932
|
+
"description": "Token response",
|
|
8933
|
+
"content": {
|
|
8934
|
+
"application/json": {
|
|
8935
|
+
"schema": {
|
|
8936
|
+
"$ref": "#/components/schemas/OAuthTokenResponse"
|
|
8937
|
+
}
|
|
8938
|
+
}
|
|
8939
|
+
}
|
|
8940
|
+
},
|
|
8941
|
+
"400": {
|
|
8942
|
+
"description": "Invalid grant, code, or verifier"
|
|
8943
|
+
},
|
|
8944
|
+
"401": {
|
|
8945
|
+
"description": "Invalid client credentials"
|
|
8946
|
+
}
|
|
8947
|
+
}
|
|
8948
|
+
}
|
|
8949
|
+
},
|
|
8950
|
+
"/v1/oauth/userinfo": {
|
|
8951
|
+
"get": {
|
|
8952
|
+
"tags": [
|
|
8953
|
+
"OAuth"
|
|
8954
|
+
],
|
|
8955
|
+
"summary": "Get authenticated user info (OIDC UserInfo)",
|
|
8956
|
+
"description": "Standard OIDC UserInfo endpoint. Returns claims about the authenticated user\nbased on the granted scopes.\n",
|
|
8957
|
+
"operationId": "getOAuthUserInfo",
|
|
8958
|
+
"security": [
|
|
8959
|
+
{
|
|
8960
|
+
"BearerAuth": []
|
|
8961
|
+
}
|
|
8962
|
+
],
|
|
8963
|
+
"responses": {
|
|
8964
|
+
"200": {
|
|
8965
|
+
"description": "User info",
|
|
8966
|
+
"content": {
|
|
8967
|
+
"application/json": {
|
|
8968
|
+
"schema": {
|
|
8969
|
+
"$ref": "#/components/schemas/OAuthUserInfoResponse"
|
|
8970
|
+
}
|
|
8971
|
+
}
|
|
8972
|
+
}
|
|
8973
|
+
},
|
|
8974
|
+
"401": {
|
|
8975
|
+
"$ref": "#/components/responses/Unauthorized"
|
|
8976
|
+
}
|
|
8977
|
+
}
|
|
8978
|
+
}
|
|
8979
|
+
},
|
|
8980
|
+
"/v1/risk/events": {
|
|
8981
|
+
"get": {
|
|
8982
|
+
"tags": [
|
|
8983
|
+
"Risk Engine"
|
|
8984
|
+
],
|
|
8985
|
+
"summary": "List risk events",
|
|
8986
|
+
"description": "Returns risk events detected by the risk engine, ordered by most recent first.\nFilter by severity or principal type.\n",
|
|
8987
|
+
"operationId": "listRiskEvents",
|
|
8988
|
+
"parameters": [
|
|
8989
|
+
{
|
|
8990
|
+
"name": "severity",
|
|
8991
|
+
"in": "query",
|
|
8992
|
+
"schema": {
|
|
8993
|
+
"type": "string",
|
|
8994
|
+
"enum": [
|
|
8995
|
+
"low",
|
|
8996
|
+
"medium",
|
|
8997
|
+
"high",
|
|
8998
|
+
"critical"
|
|
8999
|
+
]
|
|
9000
|
+
},
|
|
9001
|
+
"description": "Filter events by severity level"
|
|
9002
|
+
},
|
|
9003
|
+
{
|
|
9004
|
+
"name": "principal_type",
|
|
9005
|
+
"in": "query",
|
|
9006
|
+
"schema": {
|
|
9007
|
+
"type": "string",
|
|
9008
|
+
"enum": [
|
|
9009
|
+
"user",
|
|
9010
|
+
"agent"
|
|
9011
|
+
]
|
|
9012
|
+
},
|
|
9013
|
+
"description": "Filter events by principal type"
|
|
9014
|
+
},
|
|
9015
|
+
{
|
|
9016
|
+
"name": "limit",
|
|
9017
|
+
"in": "query",
|
|
9018
|
+
"schema": {
|
|
9019
|
+
"type": "integer",
|
|
9020
|
+
"default": 50
|
|
9021
|
+
}
|
|
9022
|
+
},
|
|
9023
|
+
{
|
|
9024
|
+
"name": "offset",
|
|
9025
|
+
"in": "query",
|
|
9026
|
+
"schema": {
|
|
9027
|
+
"type": "integer",
|
|
9028
|
+
"default": 0
|
|
9029
|
+
}
|
|
9030
|
+
}
|
|
9031
|
+
],
|
|
9032
|
+
"responses": {
|
|
9033
|
+
"200": {
|
|
9034
|
+
"description": "Risk event list",
|
|
9035
|
+
"content": {
|
|
9036
|
+
"application/json": {
|
|
9037
|
+
"schema": {
|
|
9038
|
+
"$ref": "#/components/schemas/RiskEventListResponse"
|
|
9039
|
+
}
|
|
9040
|
+
}
|
|
9041
|
+
}
|
|
9042
|
+
},
|
|
9043
|
+
"401": {
|
|
9044
|
+
"$ref": "#/components/responses/Unauthorized"
|
|
9045
|
+
}
|
|
9046
|
+
}
|
|
9047
|
+
}
|
|
9048
|
+
},
|
|
9049
|
+
"/v1/risk/verdicts": {
|
|
9050
|
+
"get": {
|
|
9051
|
+
"tags": [
|
|
9052
|
+
"Risk Engine"
|
|
9053
|
+
],
|
|
9054
|
+
"summary": "List risk verdicts",
|
|
9055
|
+
"description": "Returns all active risk verdicts for the caller's organization.",
|
|
9056
|
+
"operationId": "listRiskVerdicts",
|
|
9057
|
+
"responses": {
|
|
9058
|
+
"200": {
|
|
9059
|
+
"description": "Verdict list",
|
|
9060
|
+
"content": {
|
|
9061
|
+
"application/json": {
|
|
9062
|
+
"schema": {
|
|
9063
|
+
"$ref": "#/components/schemas/RiskVerdictListResponse"
|
|
9064
|
+
}
|
|
9065
|
+
}
|
|
9066
|
+
}
|
|
9067
|
+
},
|
|
9068
|
+
"401": {
|
|
9069
|
+
"$ref": "#/components/responses/Unauthorized"
|
|
9070
|
+
}
|
|
9071
|
+
}
|
|
9072
|
+
}
|
|
9073
|
+
},
|
|
9074
|
+
"/v1/risk/verdicts/{principal_type}/{principal_id}": {
|
|
9075
|
+
"get": {
|
|
9076
|
+
"tags": [
|
|
9077
|
+
"Risk Engine"
|
|
9078
|
+
],
|
|
9079
|
+
"summary": "Get risk verdict for a principal",
|
|
9080
|
+
"description": "Returns the current risk verdict for a specific user or agent.",
|
|
9081
|
+
"operationId": "getRiskVerdict",
|
|
9082
|
+
"parameters": [
|
|
9083
|
+
{
|
|
9084
|
+
"name": "principal_type",
|
|
9085
|
+
"in": "path",
|
|
9086
|
+
"required": true,
|
|
9087
|
+
"schema": {
|
|
9088
|
+
"type": "string",
|
|
9089
|
+
"enum": [
|
|
9090
|
+
"user",
|
|
9091
|
+
"agent"
|
|
9092
|
+
]
|
|
9093
|
+
}
|
|
9094
|
+
},
|
|
9095
|
+
{
|
|
9096
|
+
"name": "principal_id",
|
|
9097
|
+
"in": "path",
|
|
9098
|
+
"required": true,
|
|
9099
|
+
"schema": {
|
|
9100
|
+
"type": "string",
|
|
9101
|
+
"format": "uuid"
|
|
9102
|
+
}
|
|
9103
|
+
}
|
|
9104
|
+
],
|
|
9105
|
+
"responses": {
|
|
9106
|
+
"200": {
|
|
9107
|
+
"description": "Risk verdict (null if no verdict exists)",
|
|
9108
|
+
"content": {
|
|
9109
|
+
"application/json": {
|
|
9110
|
+
"schema": {
|
|
9111
|
+
"type": "object",
|
|
9112
|
+
"properties": {
|
|
9113
|
+
"verdict": {
|
|
9114
|
+
"$ref": "#/components/schemas/RiskVerdict",
|
|
9115
|
+
"nullable": true
|
|
9116
|
+
}
|
|
9117
|
+
}
|
|
9118
|
+
}
|
|
9119
|
+
}
|
|
9120
|
+
}
|
|
9121
|
+
},
|
|
9122
|
+
"401": {
|
|
9123
|
+
"$ref": "#/components/responses/Unauthorized"
|
|
9124
|
+
},
|
|
9125
|
+
"404": {
|
|
9126
|
+
"$ref": "#/components/responses/NotFound"
|
|
9127
|
+
}
|
|
9128
|
+
}
|
|
9129
|
+
}
|
|
9130
|
+
},
|
|
9131
|
+
"/v1/risk/honeytokens": {
|
|
9132
|
+
"get": {
|
|
9133
|
+
"tags": [
|
|
9134
|
+
"Risk Engine"
|
|
9135
|
+
],
|
|
9136
|
+
"summary": "List honeytokens",
|
|
9137
|
+
"description": "Returns all honeytokens (canary secrets) configured for the caller's organization.",
|
|
9138
|
+
"operationId": "listHoneytokens",
|
|
9139
|
+
"responses": {
|
|
9140
|
+
"200": {
|
|
9141
|
+
"description": "Honeytoken list",
|
|
9142
|
+
"content": {
|
|
9143
|
+
"application/json": {
|
|
9144
|
+
"schema": {
|
|
9145
|
+
"$ref": "#/components/schemas/HoneytokenListResponse"
|
|
9146
|
+
}
|
|
9147
|
+
}
|
|
9148
|
+
}
|
|
9149
|
+
},
|
|
9150
|
+
"401": {
|
|
9151
|
+
"$ref": "#/components/responses/Unauthorized"
|
|
9152
|
+
}
|
|
9153
|
+
}
|
|
9154
|
+
},
|
|
9155
|
+
"post": {
|
|
9156
|
+
"tags": [
|
|
9157
|
+
"Risk Engine"
|
|
9158
|
+
],
|
|
9159
|
+
"summary": "Create a honeytoken",
|
|
9160
|
+
"description": "Register a secret path as a honeytoken (canary). Any access to this secret\ntriggers a risk event and increments the trigger counter.\n",
|
|
9161
|
+
"operationId": "createHoneytoken",
|
|
9162
|
+
"requestBody": {
|
|
9163
|
+
"required": true,
|
|
9164
|
+
"content": {
|
|
9165
|
+
"application/json": {
|
|
9166
|
+
"schema": {
|
|
9167
|
+
"$ref": "#/components/schemas/CreateHoneytokenRequest"
|
|
9168
|
+
}
|
|
9169
|
+
}
|
|
9170
|
+
}
|
|
9171
|
+
},
|
|
9172
|
+
"responses": {
|
|
9173
|
+
"201": {
|
|
9174
|
+
"description": "Honeytoken created",
|
|
9175
|
+
"content": {
|
|
9176
|
+
"application/json": {
|
|
9177
|
+
"schema": {
|
|
9178
|
+
"type": "object",
|
|
9179
|
+
"properties": {
|
|
9180
|
+
"honeytoken": {
|
|
9181
|
+
"$ref": "#/components/schemas/Honeytoken"
|
|
9182
|
+
}
|
|
9183
|
+
}
|
|
9184
|
+
}
|
|
9185
|
+
}
|
|
9186
|
+
}
|
|
9187
|
+
},
|
|
9188
|
+
"400": {
|
|
9189
|
+
"$ref": "#/components/responses/BadRequest"
|
|
9190
|
+
},
|
|
9191
|
+
"401": {
|
|
9192
|
+
"$ref": "#/components/responses/Unauthorized"
|
|
9193
|
+
}
|
|
9194
|
+
}
|
|
9195
|
+
}
|
|
9196
|
+
},
|
|
9197
|
+
"/v1/risk/honeytokens/{id}": {
|
|
9198
|
+
"delete": {
|
|
9199
|
+
"tags": [
|
|
9200
|
+
"Risk Engine"
|
|
9201
|
+
],
|
|
9202
|
+
"summary": "Delete a honeytoken",
|
|
9203
|
+
"description": "Remove a honeytoken registration. The underlying secret is not affected.",
|
|
9204
|
+
"operationId": "deleteHoneytoken",
|
|
9205
|
+
"parameters": [
|
|
9206
|
+
{
|
|
9207
|
+
"name": "id",
|
|
9208
|
+
"in": "path",
|
|
9209
|
+
"required": true,
|
|
9210
|
+
"schema": {
|
|
9211
|
+
"type": "string",
|
|
9212
|
+
"format": "uuid"
|
|
9213
|
+
}
|
|
9214
|
+
}
|
|
9215
|
+
],
|
|
9216
|
+
"responses": {
|
|
9217
|
+
"200": {
|
|
9218
|
+
"description": "Honeytoken deleted",
|
|
9219
|
+
"content": {
|
|
9220
|
+
"application/json": {
|
|
9221
|
+
"schema": {
|
|
9222
|
+
"type": "object",
|
|
9223
|
+
"properties": {
|
|
9224
|
+
"deleted": {
|
|
9225
|
+
"type": "boolean"
|
|
9226
|
+
}
|
|
9227
|
+
}
|
|
9228
|
+
}
|
|
9229
|
+
}
|
|
9230
|
+
}
|
|
9231
|
+
},
|
|
9232
|
+
"401": {
|
|
9233
|
+
"$ref": "#/components/responses/Unauthorized"
|
|
9234
|
+
},
|
|
9235
|
+
"404": {
|
|
9236
|
+
"$ref": "#/components/responses/NotFound"
|
|
9237
|
+
}
|
|
9238
|
+
}
|
|
9239
|
+
}
|
|
8254
9240
|
}
|
|
8255
9241
|
},
|
|
8256
9242
|
"components": {
|
|
@@ -11621,6 +12607,43 @@
|
|
|
11621
12607
|
}
|
|
11622
12608
|
}
|
|
11623
12609
|
},
|
|
12610
|
+
"OrgBankrConfigResponse": {
|
|
12611
|
+
"type": "object",
|
|
12612
|
+
"properties": {
|
|
12613
|
+
"configured": {
|
|
12614
|
+
"type": "boolean"
|
|
12615
|
+
},
|
|
12616
|
+
"partner_key_prefix": {
|
|
12617
|
+
"type": "string"
|
|
12618
|
+
},
|
|
12619
|
+
"default_wallet_id": {
|
|
12620
|
+
"type": "string"
|
|
12621
|
+
},
|
|
12622
|
+
"updated_at": {
|
|
12623
|
+
"type": "string",
|
|
12624
|
+
"format": "date-time"
|
|
12625
|
+
},
|
|
12626
|
+
"using_platform_fallback": {
|
|
12627
|
+
"type": "boolean"
|
|
12628
|
+
}
|
|
12629
|
+
}
|
|
12630
|
+
},
|
|
12631
|
+
"UpsertOrgBankrConfigRequest": {
|
|
12632
|
+
"type": "object",
|
|
12633
|
+
"required": [
|
|
12634
|
+
"partner_key"
|
|
12635
|
+
],
|
|
12636
|
+
"properties": {
|
|
12637
|
+
"partner_key": {
|
|
12638
|
+
"type": "string",
|
|
12639
|
+
"description": "Bankr partner API key (bk_ptr_...)"
|
|
12640
|
+
},
|
|
12641
|
+
"default_wallet_id": {
|
|
12642
|
+
"type": "string",
|
|
12643
|
+
"description": "Default provisioned wallet (wlt_...)"
|
|
12644
|
+
}
|
|
12645
|
+
}
|
|
12646
|
+
},
|
|
11624
12647
|
"UsageSummaryResponse": {
|
|
11625
12648
|
"type": "object",
|
|
11626
12649
|
"properties": {
|
|
@@ -12379,26 +13402,264 @@
|
|
|
12379
13402
|
"name": {
|
|
12380
13403
|
"type": "string"
|
|
12381
13404
|
},
|
|
12382
|
-
"safe_address": {
|
|
12383
|
-
"type": "string"
|
|
13405
|
+
"safe_address": {
|
|
13406
|
+
"type": "string"
|
|
13407
|
+
},
|
|
13408
|
+
"chain": {
|
|
13409
|
+
"type": "string"
|
|
13410
|
+
},
|
|
13411
|
+
"chain_id": {
|
|
13412
|
+
"type": "integer"
|
|
13413
|
+
},
|
|
13414
|
+
"threshold": {
|
|
13415
|
+
"type": "integer"
|
|
13416
|
+
},
|
|
13417
|
+
"created_by": {
|
|
13418
|
+
"type": "string",
|
|
13419
|
+
"format": "uuid"
|
|
13420
|
+
},
|
|
13421
|
+
"signers": {
|
|
13422
|
+
"type": "array",
|
|
13423
|
+
"items": {
|
|
13424
|
+
"$ref": "#/components/schemas/TreasurySignerResponse"
|
|
13425
|
+
}
|
|
13426
|
+
},
|
|
13427
|
+
"created_at": {
|
|
13428
|
+
"type": "string",
|
|
13429
|
+
"format": "date-time"
|
|
13430
|
+
}
|
|
13431
|
+
}
|
|
13432
|
+
},
|
|
13433
|
+
"TreasurySignerResponse": {
|
|
13434
|
+
"type": "object",
|
|
13435
|
+
"properties": {
|
|
13436
|
+
"id": {
|
|
13437
|
+
"type": "string",
|
|
13438
|
+
"format": "uuid"
|
|
13439
|
+
},
|
|
13440
|
+
"signer_type": {
|
|
13441
|
+
"type": "string",
|
|
13442
|
+
"enum": [
|
|
13443
|
+
"user",
|
|
13444
|
+
"agent"
|
|
13445
|
+
]
|
|
13446
|
+
},
|
|
13447
|
+
"signer_id": {
|
|
13448
|
+
"type": "string",
|
|
13449
|
+
"format": "uuid"
|
|
13450
|
+
},
|
|
13451
|
+
"signer_address": {
|
|
13452
|
+
"type": "string"
|
|
13453
|
+
},
|
|
13454
|
+
"added_at": {
|
|
13455
|
+
"type": "string",
|
|
13456
|
+
"format": "date-time"
|
|
13457
|
+
}
|
|
13458
|
+
}
|
|
13459
|
+
},
|
|
13460
|
+
"AddSignerRequest": {
|
|
13461
|
+
"type": "object",
|
|
13462
|
+
"required": [
|
|
13463
|
+
"signer_type",
|
|
13464
|
+
"signer_id",
|
|
13465
|
+
"signer_address"
|
|
13466
|
+
],
|
|
13467
|
+
"properties": {
|
|
13468
|
+
"signer_type": {
|
|
13469
|
+
"type": "string",
|
|
13470
|
+
"enum": [
|
|
13471
|
+
"user",
|
|
13472
|
+
"agent"
|
|
13473
|
+
]
|
|
13474
|
+
},
|
|
13475
|
+
"signer_id": {
|
|
13476
|
+
"type": "string",
|
|
13477
|
+
"format": "uuid"
|
|
13478
|
+
},
|
|
13479
|
+
"signer_address": {
|
|
13480
|
+
"type": "string"
|
|
13481
|
+
}
|
|
13482
|
+
}
|
|
13483
|
+
},
|
|
13484
|
+
"AccessRequestResponse": {
|
|
13485
|
+
"type": "object",
|
|
13486
|
+
"properties": {
|
|
13487
|
+
"id": {
|
|
13488
|
+
"type": "string",
|
|
13489
|
+
"format": "uuid"
|
|
13490
|
+
},
|
|
13491
|
+
"treasury_id": {
|
|
13492
|
+
"type": "string",
|
|
13493
|
+
"format": "uuid"
|
|
13494
|
+
},
|
|
13495
|
+
"agent_id": {
|
|
13496
|
+
"type": "string",
|
|
13497
|
+
"format": "uuid"
|
|
13498
|
+
},
|
|
13499
|
+
"status": {
|
|
13500
|
+
"type": "string",
|
|
13501
|
+
"enum": [
|
|
13502
|
+
"pending",
|
|
13503
|
+
"approved",
|
|
13504
|
+
"denied"
|
|
13505
|
+
]
|
|
13506
|
+
},
|
|
13507
|
+
"reason": {
|
|
13508
|
+
"type": "string"
|
|
13509
|
+
},
|
|
13510
|
+
"requested_at": {
|
|
13511
|
+
"type": "string",
|
|
13512
|
+
"format": "date-time"
|
|
13513
|
+
},
|
|
13514
|
+
"resolved_by": {
|
|
13515
|
+
"type": "string",
|
|
13516
|
+
"format": "uuid"
|
|
13517
|
+
},
|
|
13518
|
+
"resolved_at": {
|
|
13519
|
+
"type": "string",
|
|
13520
|
+
"format": "date-time"
|
|
13521
|
+
}
|
|
13522
|
+
}
|
|
13523
|
+
},
|
|
13524
|
+
"CreateTreasuryProposalRequest": {
|
|
13525
|
+
"type": "object",
|
|
13526
|
+
"required": [
|
|
13527
|
+
"to_address",
|
|
13528
|
+
"value_wei",
|
|
13529
|
+
"chain"
|
|
13530
|
+
],
|
|
13531
|
+
"properties": {
|
|
13532
|
+
"to_address": {
|
|
13533
|
+
"type": "string",
|
|
13534
|
+
"description": "Destination address (0x-prefixed)"
|
|
13535
|
+
},
|
|
13536
|
+
"value_wei": {
|
|
13537
|
+
"type": "string",
|
|
13538
|
+
"description": "Transaction value in wei"
|
|
13539
|
+
},
|
|
13540
|
+
"chain": {
|
|
13541
|
+
"type": "string",
|
|
13542
|
+
"description": "Chain name (e.g. ethereum, base)"
|
|
13543
|
+
},
|
|
13544
|
+
"chain_id": {
|
|
13545
|
+
"type": "integer",
|
|
13546
|
+
"description": "Numeric chain ID (alternative to chain name)"
|
|
13547
|
+
},
|
|
13548
|
+
"data_hex": {
|
|
13549
|
+
"type": "string",
|
|
13550
|
+
"description": "Hex-encoded calldata (optional)"
|
|
13551
|
+
},
|
|
13552
|
+
"operation": {
|
|
13553
|
+
"type": "integer",
|
|
13554
|
+
"description": "Safe operation type (0 = Call, 1 = DelegateCall)",
|
|
13555
|
+
"default": 0
|
|
13556
|
+
}
|
|
13557
|
+
}
|
|
13558
|
+
},
|
|
13559
|
+
"SignTreasuryProposalRequest": {
|
|
13560
|
+
"type": "object",
|
|
13561
|
+
"required": [
|
|
13562
|
+
"decision"
|
|
13563
|
+
],
|
|
13564
|
+
"properties": {
|
|
13565
|
+
"decision": {
|
|
13566
|
+
"type": "string",
|
|
13567
|
+
"enum": [
|
|
13568
|
+
"approve",
|
|
13569
|
+
"reject"
|
|
13570
|
+
],
|
|
13571
|
+
"description": "Whether to approve or reject the proposal"
|
|
13572
|
+
},
|
|
13573
|
+
"signature": {
|
|
13574
|
+
"type": "string",
|
|
13575
|
+
"description": "EIP-712 signature (hex). If omitted, server signs with caller's key."
|
|
13576
|
+
}
|
|
13577
|
+
}
|
|
13578
|
+
},
|
|
13579
|
+
"TreasuryProposalResponse": {
|
|
13580
|
+
"type": "object",
|
|
13581
|
+
"properties": {
|
|
13582
|
+
"id": {
|
|
13583
|
+
"type": "string",
|
|
13584
|
+
"format": "uuid"
|
|
13585
|
+
},
|
|
13586
|
+
"treasury_id": {
|
|
13587
|
+
"type": "string",
|
|
13588
|
+
"format": "uuid"
|
|
13589
|
+
},
|
|
13590
|
+
"proposed_by": {
|
|
13591
|
+
"type": "string",
|
|
13592
|
+
"format": "uuid"
|
|
13593
|
+
},
|
|
13594
|
+
"proposed_by_type": {
|
|
13595
|
+
"type": "string",
|
|
13596
|
+
"enum": [
|
|
13597
|
+
"user",
|
|
13598
|
+
"agent"
|
|
13599
|
+
]
|
|
13600
|
+
},
|
|
13601
|
+
"chain": {
|
|
13602
|
+
"type": "string"
|
|
13603
|
+
},
|
|
13604
|
+
"chain_id": {
|
|
13605
|
+
"type": "integer"
|
|
13606
|
+
},
|
|
13607
|
+
"safe_address": {
|
|
13608
|
+
"type": "string"
|
|
13609
|
+
},
|
|
13610
|
+
"to_address": {
|
|
13611
|
+
"type": "string"
|
|
13612
|
+
},
|
|
13613
|
+
"value_wei": {
|
|
13614
|
+
"type": "string"
|
|
13615
|
+
},
|
|
13616
|
+
"data_hex": {
|
|
13617
|
+
"type": "string",
|
|
13618
|
+
"nullable": true
|
|
13619
|
+
},
|
|
13620
|
+
"operation": {
|
|
13621
|
+
"type": "integer"
|
|
13622
|
+
},
|
|
13623
|
+
"safe_tx_hash": {
|
|
13624
|
+
"type": "string",
|
|
13625
|
+
"nullable": true
|
|
12384
13626
|
},
|
|
12385
|
-
"
|
|
12386
|
-
"type": "
|
|
13627
|
+
"nonce": {
|
|
13628
|
+
"type": "integer",
|
|
13629
|
+
"nullable": true
|
|
12387
13630
|
},
|
|
12388
|
-
"
|
|
12389
|
-
"type": "
|
|
13631
|
+
"status": {
|
|
13632
|
+
"type": "string",
|
|
13633
|
+
"enum": [
|
|
13634
|
+
"pending",
|
|
13635
|
+
"approved",
|
|
13636
|
+
"executing",
|
|
13637
|
+
"executed",
|
|
13638
|
+
"rejected",
|
|
13639
|
+
"expired"
|
|
13640
|
+
]
|
|
12390
13641
|
},
|
|
12391
13642
|
"threshold": {
|
|
12392
13643
|
"type": "integer"
|
|
12393
13644
|
},
|
|
12394
|
-
"
|
|
13645
|
+
"expires_at": {
|
|
12395
13646
|
"type": "string",
|
|
12396
|
-
"format": "
|
|
13647
|
+
"format": "date-time",
|
|
13648
|
+
"nullable": true
|
|
12397
13649
|
},
|
|
12398
|
-
"
|
|
13650
|
+
"executed_tx_hash": {
|
|
13651
|
+
"type": "string",
|
|
13652
|
+
"nullable": true
|
|
13653
|
+
},
|
|
13654
|
+
"executed_at": {
|
|
13655
|
+
"type": "string",
|
|
13656
|
+
"format": "date-time",
|
|
13657
|
+
"nullable": true
|
|
13658
|
+
},
|
|
13659
|
+
"signatures": {
|
|
12399
13660
|
"type": "array",
|
|
12400
13661
|
"items": {
|
|
12401
|
-
"$ref": "#/components/schemas/
|
|
13662
|
+
"$ref": "#/components/schemas/ProposalSignatureResponse"
|
|
12402
13663
|
}
|
|
12403
13664
|
},
|
|
12404
13665
|
"created_at": {
|
|
@@ -12407,13 +13668,17 @@
|
|
|
12407
13668
|
}
|
|
12408
13669
|
}
|
|
12409
13670
|
},
|
|
12410
|
-
"
|
|
13671
|
+
"ProposalSignatureResponse": {
|
|
12411
13672
|
"type": "object",
|
|
12412
13673
|
"properties": {
|
|
12413
13674
|
"id": {
|
|
12414
13675
|
"type": "string",
|
|
12415
13676
|
"format": "uuid"
|
|
12416
13677
|
},
|
|
13678
|
+
"signer_id": {
|
|
13679
|
+
"type": "string",
|
|
13680
|
+
"format": "uuid"
|
|
13681
|
+
},
|
|
12417
13682
|
"signer_type": {
|
|
12418
13683
|
"type": "string",
|
|
12419
13684
|
"enum": [
|
|
@@ -12421,312 +13686,350 @@
|
|
|
12421
13686
|
"agent"
|
|
12422
13687
|
]
|
|
12423
13688
|
},
|
|
12424
|
-
"signer_id": {
|
|
12425
|
-
"type": "string",
|
|
12426
|
-
"format": "uuid"
|
|
12427
|
-
},
|
|
12428
13689
|
"signer_address": {
|
|
12429
13690
|
"type": "string"
|
|
12430
13691
|
},
|
|
12431
|
-
"
|
|
13692
|
+
"signature": {
|
|
13693
|
+
"type": "string"
|
|
13694
|
+
},
|
|
13695
|
+
"decision": {
|
|
13696
|
+
"type": "string",
|
|
13697
|
+
"enum": [
|
|
13698
|
+
"approve",
|
|
13699
|
+
"reject"
|
|
13700
|
+
]
|
|
13701
|
+
},
|
|
13702
|
+
"created_at": {
|
|
12432
13703
|
"type": "string",
|
|
12433
13704
|
"format": "date-time"
|
|
12434
13705
|
}
|
|
12435
13706
|
}
|
|
12436
13707
|
},
|
|
12437
|
-
"
|
|
13708
|
+
"TreasuryProposalListResponse": {
|
|
12438
13709
|
"type": "object",
|
|
12439
|
-
"required": [
|
|
12440
|
-
"signer_type",
|
|
12441
|
-
"signer_id",
|
|
12442
|
-
"signer_address"
|
|
12443
|
-
],
|
|
12444
13710
|
"properties": {
|
|
12445
|
-
"
|
|
12446
|
-
"type": "
|
|
12447
|
-
"
|
|
12448
|
-
"
|
|
12449
|
-
|
|
12450
|
-
]
|
|
12451
|
-
},
|
|
12452
|
-
"signer_id": {
|
|
12453
|
-
"type": "string",
|
|
12454
|
-
"format": "uuid"
|
|
12455
|
-
},
|
|
12456
|
-
"signer_address": {
|
|
12457
|
-
"type": "string"
|
|
13711
|
+
"proposals": {
|
|
13712
|
+
"type": "array",
|
|
13713
|
+
"items": {
|
|
13714
|
+
"$ref": "#/components/schemas/TreasuryProposalResponse"
|
|
13715
|
+
}
|
|
12458
13716
|
}
|
|
12459
13717
|
}
|
|
12460
13718
|
},
|
|
12461
|
-
"
|
|
13719
|
+
"GenerateTreasuryWalletsRequest": {
|
|
13720
|
+
"type": "object",
|
|
13721
|
+
"properties": {
|
|
13722
|
+
"chains": {
|
|
13723
|
+
"type": "array",
|
|
13724
|
+
"items": {
|
|
13725
|
+
"type": "string"
|
|
13726
|
+
},
|
|
13727
|
+
"description": "Chains to generate wallets for (e.g. [\"ethereum\", \"solana\"]). Omit for all supported chains."
|
|
13728
|
+
}
|
|
13729
|
+
}
|
|
13730
|
+
},
|
|
13731
|
+
"TreasuryWalletResponse": {
|
|
12462
13732
|
"type": "object",
|
|
12463
13733
|
"properties": {
|
|
12464
13734
|
"id": {
|
|
12465
13735
|
"type": "string",
|
|
12466
13736
|
"format": "uuid"
|
|
12467
13737
|
},
|
|
12468
|
-
"
|
|
12469
|
-
"type": "string"
|
|
12470
|
-
"format": "uuid"
|
|
12471
|
-
},
|
|
12472
|
-
"agent_id": {
|
|
12473
|
-
"type": "string",
|
|
12474
|
-
"format": "uuid"
|
|
13738
|
+
"chain": {
|
|
13739
|
+
"type": "string"
|
|
12475
13740
|
},
|
|
12476
|
-
"
|
|
13741
|
+
"curve": {
|
|
12477
13742
|
"type": "string",
|
|
12478
|
-
"
|
|
12479
|
-
"pending",
|
|
12480
|
-
"approved",
|
|
12481
|
-
"denied"
|
|
12482
|
-
]
|
|
13743
|
+
"description": "Cryptographic curve (e.g. secp256k1, ed25519)"
|
|
12483
13744
|
},
|
|
12484
|
-
"
|
|
13745
|
+
"public_key_hex": {
|
|
12485
13746
|
"type": "string"
|
|
12486
13747
|
},
|
|
12487
|
-
"
|
|
12488
|
-
"type": "string"
|
|
12489
|
-
"format": "date-time"
|
|
13748
|
+
"address": {
|
|
13749
|
+
"type": "string"
|
|
12490
13750
|
},
|
|
12491
|
-
"
|
|
12492
|
-
"type": "
|
|
12493
|
-
"format": "uuid"
|
|
13751
|
+
"is_active": {
|
|
13752
|
+
"type": "boolean"
|
|
12494
13753
|
},
|
|
12495
|
-
"
|
|
13754
|
+
"created_at": {
|
|
12496
13755
|
"type": "string",
|
|
12497
13756
|
"format": "date-time"
|
|
12498
13757
|
}
|
|
12499
13758
|
}
|
|
12500
13759
|
},
|
|
12501
|
-
"
|
|
13760
|
+
"TreasuryWalletListResponse": {
|
|
13761
|
+
"type": "object",
|
|
13762
|
+
"properties": {
|
|
13763
|
+
"wallets": {
|
|
13764
|
+
"type": "array",
|
|
13765
|
+
"items": {
|
|
13766
|
+
"$ref": "#/components/schemas/TreasuryWalletResponse"
|
|
13767
|
+
}
|
|
13768
|
+
}
|
|
13769
|
+
}
|
|
13770
|
+
},
|
|
13771
|
+
"TreasuryWalletExportResponse": {
|
|
12502
13772
|
"type": "object",
|
|
12503
|
-
"required": [
|
|
12504
|
-
"to_address",
|
|
12505
|
-
"value_wei",
|
|
12506
|
-
"chain"
|
|
12507
|
-
],
|
|
12508
13773
|
"properties": {
|
|
12509
|
-
"to_address": {
|
|
12510
|
-
"type": "string",
|
|
12511
|
-
"description": "Destination address (0x-prefixed)"
|
|
12512
|
-
},
|
|
12513
|
-
"value_wei": {
|
|
12514
|
-
"type": "string",
|
|
12515
|
-
"description": "Transaction value in wei"
|
|
12516
|
-
},
|
|
12517
13774
|
"chain": {
|
|
12518
|
-
"type": "string"
|
|
12519
|
-
"description": "Chain name (e.g. ethereum, base)"
|
|
13775
|
+
"type": "string"
|
|
12520
13776
|
},
|
|
12521
|
-
"
|
|
12522
|
-
"type": "
|
|
12523
|
-
"description": "Numeric chain ID (alternative to chain name)"
|
|
13777
|
+
"address": {
|
|
13778
|
+
"type": "string"
|
|
12524
13779
|
},
|
|
12525
|
-
"
|
|
13780
|
+
"private_key_hex": {
|
|
12526
13781
|
"type": "string",
|
|
12527
|
-
"description": "
|
|
12528
|
-
},
|
|
12529
|
-
"operation": {
|
|
12530
|
-
"type": "integer",
|
|
12531
|
-
"description": "Safe operation type (0 = Call, 1 = DelegateCall)",
|
|
12532
|
-
"default": 0
|
|
13782
|
+
"description": "Raw private key in hex encoding. Handle with extreme care."
|
|
12533
13783
|
}
|
|
12534
13784
|
}
|
|
12535
13785
|
},
|
|
12536
|
-
"
|
|
13786
|
+
"TreasuryWalletBalanceResponse": {
|
|
12537
13787
|
"type": "object",
|
|
12538
13788
|
"required": [
|
|
12539
|
-
"
|
|
13789
|
+
"chain",
|
|
13790
|
+
"address",
|
|
13791
|
+
"native"
|
|
12540
13792
|
],
|
|
12541
13793
|
"properties": {
|
|
12542
|
-
"
|
|
12543
|
-
"type": "string"
|
|
12544
|
-
|
|
12545
|
-
|
|
12546
|
-
|
|
13794
|
+
"chain": {
|
|
13795
|
+
"type": "string"
|
|
13796
|
+
},
|
|
13797
|
+
"address": {
|
|
13798
|
+
"type": "string"
|
|
13799
|
+
},
|
|
13800
|
+
"native": {
|
|
13801
|
+
"type": "object",
|
|
13802
|
+
"required": [
|
|
13803
|
+
"symbol",
|
|
13804
|
+
"balance_wei",
|
|
13805
|
+
"balance_display"
|
|
12547
13806
|
],
|
|
12548
|
-
"
|
|
13807
|
+
"properties": {
|
|
13808
|
+
"symbol": {
|
|
13809
|
+
"type": "string"
|
|
13810
|
+
},
|
|
13811
|
+
"balance_wei": {
|
|
13812
|
+
"type": "string"
|
|
13813
|
+
},
|
|
13814
|
+
"balance_display": {
|
|
13815
|
+
"type": "string"
|
|
13816
|
+
}
|
|
13817
|
+
}
|
|
12549
13818
|
},
|
|
12550
|
-
"
|
|
12551
|
-
"type": "
|
|
12552
|
-
"
|
|
13819
|
+
"tokens": {
|
|
13820
|
+
"type": "array",
|
|
13821
|
+
"items": {
|
|
13822
|
+
"type": "object",
|
|
13823
|
+
"required": [
|
|
13824
|
+
"contract_address",
|
|
13825
|
+
"balance_raw"
|
|
13826
|
+
],
|
|
13827
|
+
"properties": {
|
|
13828
|
+
"contract_address": {
|
|
13829
|
+
"type": "string"
|
|
13830
|
+
},
|
|
13831
|
+
"balance_raw": {
|
|
13832
|
+
"type": "string"
|
|
13833
|
+
}
|
|
13834
|
+
}
|
|
13835
|
+
}
|
|
12553
13836
|
}
|
|
12554
13837
|
}
|
|
12555
13838
|
},
|
|
12556
|
-
"
|
|
13839
|
+
"TreasuryWalletSendRequest": {
|
|
12557
13840
|
"type": "object",
|
|
13841
|
+
"required": [
|
|
13842
|
+
"to",
|
|
13843
|
+
"value_wei"
|
|
13844
|
+
],
|
|
12558
13845
|
"properties": {
|
|
12559
|
-
"
|
|
13846
|
+
"to": {
|
|
12560
13847
|
"type": "string",
|
|
12561
|
-
"
|
|
13848
|
+
"description": "Destination address (0x-prefixed)"
|
|
12562
13849
|
},
|
|
12563
|
-
"
|
|
13850
|
+
"value_wei": {
|
|
12564
13851
|
"type": "string",
|
|
12565
|
-
"
|
|
13852
|
+
"description": "Value in wei"
|
|
12566
13853
|
},
|
|
12567
|
-
"
|
|
13854
|
+
"data": {
|
|
12568
13855
|
"type": "string",
|
|
12569
|
-
"
|
|
13856
|
+
"description": "Hex-encoded calldata (optional)"
|
|
12570
13857
|
},
|
|
12571
|
-
"
|
|
12572
|
-
"type": "
|
|
12573
|
-
"
|
|
12574
|
-
"user",
|
|
12575
|
-
"agent"
|
|
12576
|
-
]
|
|
13858
|
+
"gas_limit": {
|
|
13859
|
+
"type": "integer",
|
|
13860
|
+
"description": "Gas limit override"
|
|
12577
13861
|
},
|
|
12578
|
-
"
|
|
13862
|
+
"gasless": {
|
|
13863
|
+
"type": "boolean",
|
|
13864
|
+
"description": "When true, submits as a gasless (ERC-4337) transaction via Pimlico paymaster. The paymaster sponsors the gas cost.",
|
|
13865
|
+
"default": false
|
|
13866
|
+
}
|
|
13867
|
+
}
|
|
13868
|
+
},
|
|
13869
|
+
"TreasuryWalletSendResponse": {
|
|
13870
|
+
"type": "object",
|
|
13871
|
+
"required": [
|
|
13872
|
+
"tx_hash",
|
|
13873
|
+
"from",
|
|
13874
|
+
"to",
|
|
13875
|
+
"value_wei",
|
|
13876
|
+
"chain",
|
|
13877
|
+
"status"
|
|
13878
|
+
],
|
|
13879
|
+
"properties": {
|
|
13880
|
+
"tx_hash": {
|
|
12579
13881
|
"type": "string"
|
|
12580
13882
|
},
|
|
12581
|
-
"
|
|
12582
|
-
"type": "integer"
|
|
12583
|
-
},
|
|
12584
|
-
"safe_address": {
|
|
13883
|
+
"from": {
|
|
12585
13884
|
"type": "string"
|
|
12586
13885
|
},
|
|
12587
|
-
"
|
|
13886
|
+
"to": {
|
|
12588
13887
|
"type": "string"
|
|
12589
13888
|
},
|
|
12590
13889
|
"value_wei": {
|
|
12591
13890
|
"type": "string"
|
|
12592
13891
|
},
|
|
12593
|
-
"
|
|
12594
|
-
"type": "string"
|
|
12595
|
-
"nullable": true
|
|
12596
|
-
},
|
|
12597
|
-
"operation": {
|
|
12598
|
-
"type": "integer"
|
|
12599
|
-
},
|
|
12600
|
-
"safe_tx_hash": {
|
|
12601
|
-
"type": "string",
|
|
12602
|
-
"nullable": true
|
|
12603
|
-
},
|
|
12604
|
-
"nonce": {
|
|
12605
|
-
"type": "integer",
|
|
12606
|
-
"nullable": true
|
|
13892
|
+
"chain": {
|
|
13893
|
+
"type": "string"
|
|
12607
13894
|
},
|
|
12608
13895
|
"status": {
|
|
12609
|
-
"type": "string"
|
|
12610
|
-
"enum": [
|
|
12611
|
-
"pending",
|
|
12612
|
-
"approved",
|
|
12613
|
-
"executing",
|
|
12614
|
-
"executed",
|
|
12615
|
-
"rejected",
|
|
12616
|
-
"expired"
|
|
12617
|
-
]
|
|
12618
|
-
},
|
|
12619
|
-
"threshold": {
|
|
12620
|
-
"type": "integer"
|
|
13896
|
+
"type": "string"
|
|
12621
13897
|
},
|
|
12622
|
-
"
|
|
13898
|
+
"user_op_hash": {
|
|
12623
13899
|
"type": "string",
|
|
12624
|
-
"
|
|
12625
|
-
|
|
12626
|
-
|
|
12627
|
-
|
|
13900
|
+
"description": "UserOperation hash (only present for gasless sends via paymaster)"
|
|
13901
|
+
}
|
|
13902
|
+
}
|
|
13903
|
+
},
|
|
13904
|
+
"TreasuryWalletSwapRequest": {
|
|
13905
|
+
"type": "object",
|
|
13906
|
+
"required": [
|
|
13907
|
+
"sell_token",
|
|
13908
|
+
"buy_token",
|
|
13909
|
+
"sell_amount"
|
|
13910
|
+
],
|
|
13911
|
+
"properties": {
|
|
13912
|
+
"sell_token": {
|
|
12628
13913
|
"type": "string",
|
|
12629
|
-
"
|
|
13914
|
+
"description": "Address of the token to sell (or \"native\" for ETH)"
|
|
12630
13915
|
},
|
|
12631
|
-
"
|
|
13916
|
+
"buy_token": {
|
|
12632
13917
|
"type": "string",
|
|
12633
|
-
"
|
|
12634
|
-
"nullable": true
|
|
12635
|
-
},
|
|
12636
|
-
"signatures": {
|
|
12637
|
-
"type": "array",
|
|
12638
|
-
"items": {
|
|
12639
|
-
"$ref": "#/components/schemas/ProposalSignatureResponse"
|
|
12640
|
-
}
|
|
13918
|
+
"description": "Address of the token to buy (or \"native\" for ETH)"
|
|
12641
13919
|
},
|
|
12642
|
-
"
|
|
13920
|
+
"sell_amount": {
|
|
12643
13921
|
"type": "string",
|
|
12644
|
-
"
|
|
13922
|
+
"description": "Amount to sell in token's smallest unit"
|
|
12645
13923
|
}
|
|
12646
13924
|
}
|
|
12647
13925
|
},
|
|
12648
|
-
"
|
|
13926
|
+
"TreasuryWalletSwapResponse": {
|
|
12649
13927
|
"type": "object",
|
|
13928
|
+
"required": [
|
|
13929
|
+
"tx_hash",
|
|
13930
|
+
"sell_token",
|
|
13931
|
+
"buy_token",
|
|
13932
|
+
"sell_amount",
|
|
13933
|
+
"buy_amount",
|
|
13934
|
+
"chain",
|
|
13935
|
+
"status"
|
|
13936
|
+
],
|
|
12650
13937
|
"properties": {
|
|
12651
|
-
"
|
|
12652
|
-
"type": "string"
|
|
12653
|
-
"format": "uuid"
|
|
13938
|
+
"tx_hash": {
|
|
13939
|
+
"type": "string"
|
|
12654
13940
|
},
|
|
12655
|
-
"
|
|
12656
|
-
"type": "string"
|
|
12657
|
-
"format": "uuid"
|
|
13941
|
+
"sell_token": {
|
|
13942
|
+
"type": "string"
|
|
12658
13943
|
},
|
|
12659
|
-
"
|
|
12660
|
-
"type": "string"
|
|
12661
|
-
"enum": [
|
|
12662
|
-
"user",
|
|
12663
|
-
"agent"
|
|
12664
|
-
]
|
|
13944
|
+
"buy_token": {
|
|
13945
|
+
"type": "string"
|
|
12665
13946
|
},
|
|
12666
|
-
"
|
|
13947
|
+
"sell_amount": {
|
|
12667
13948
|
"type": "string"
|
|
12668
13949
|
},
|
|
12669
|
-
"
|
|
13950
|
+
"buy_amount": {
|
|
12670
13951
|
"type": "string"
|
|
12671
13952
|
},
|
|
12672
|
-
"
|
|
12673
|
-
"type": "string"
|
|
12674
|
-
"enum": [
|
|
12675
|
-
"approve",
|
|
12676
|
-
"reject"
|
|
12677
|
-
]
|
|
13953
|
+
"chain": {
|
|
13954
|
+
"type": "string"
|
|
12678
13955
|
},
|
|
12679
|
-
"
|
|
12680
|
-
"type": "string"
|
|
12681
|
-
"format": "date-time"
|
|
13956
|
+
"status": {
|
|
13957
|
+
"type": "string"
|
|
12682
13958
|
}
|
|
12683
13959
|
}
|
|
12684
13960
|
},
|
|
12685
|
-
"
|
|
13961
|
+
"CreateWebhookRequest": {
|
|
12686
13962
|
"type": "object",
|
|
13963
|
+
"required": [
|
|
13964
|
+
"url",
|
|
13965
|
+
"events"
|
|
13966
|
+
],
|
|
12687
13967
|
"properties": {
|
|
12688
|
-
"
|
|
13968
|
+
"url": {
|
|
13969
|
+
"type": "string",
|
|
13970
|
+
"format": "uri",
|
|
13971
|
+
"description": "HTTPS URL to deliver webhook events to"
|
|
13972
|
+
},
|
|
13973
|
+
"events": {
|
|
12689
13974
|
"type": "array",
|
|
12690
13975
|
"items": {
|
|
12691
|
-
"
|
|
12692
|
-
}
|
|
13976
|
+
"type": "string"
|
|
13977
|
+
},
|
|
13978
|
+
"description": "Event types to subscribe to"
|
|
13979
|
+
},
|
|
13980
|
+
"description": {
|
|
13981
|
+
"type": "string"
|
|
12693
13982
|
}
|
|
12694
13983
|
}
|
|
12695
13984
|
},
|
|
12696
|
-
"
|
|
13985
|
+
"UpdateWebhookRequest": {
|
|
12697
13986
|
"type": "object",
|
|
12698
13987
|
"properties": {
|
|
12699
|
-
"
|
|
13988
|
+
"url": {
|
|
13989
|
+
"type": "string",
|
|
13990
|
+
"format": "uri"
|
|
13991
|
+
},
|
|
13992
|
+
"events": {
|
|
12700
13993
|
"type": "array",
|
|
12701
13994
|
"items": {
|
|
12702
13995
|
"type": "string"
|
|
12703
|
-
}
|
|
12704
|
-
|
|
13996
|
+
}
|
|
13997
|
+
},
|
|
13998
|
+
"is_active": {
|
|
13999
|
+
"type": "boolean"
|
|
14000
|
+
},
|
|
14001
|
+
"description": {
|
|
14002
|
+
"type": "string"
|
|
12705
14003
|
}
|
|
12706
14004
|
}
|
|
12707
14005
|
},
|
|
12708
|
-
"
|
|
14006
|
+
"WebhookCreatedResponse": {
|
|
12709
14007
|
"type": "object",
|
|
14008
|
+
"required": [
|
|
14009
|
+
"id",
|
|
14010
|
+
"url",
|
|
14011
|
+
"events",
|
|
14012
|
+
"secret",
|
|
14013
|
+
"created_at"
|
|
14014
|
+
],
|
|
12710
14015
|
"properties": {
|
|
12711
14016
|
"id": {
|
|
12712
14017
|
"type": "string",
|
|
12713
14018
|
"format": "uuid"
|
|
12714
14019
|
},
|
|
12715
|
-
"
|
|
12716
|
-
"type": "string"
|
|
12717
|
-
},
|
|
12718
|
-
"curve": {
|
|
14020
|
+
"url": {
|
|
12719
14021
|
"type": "string",
|
|
12720
|
-
"
|
|
12721
|
-
},
|
|
12722
|
-
"public_key_hex": {
|
|
12723
|
-
"type": "string"
|
|
14022
|
+
"format": "uri"
|
|
12724
14023
|
},
|
|
12725
|
-
"
|
|
12726
|
-
"type": "
|
|
14024
|
+
"events": {
|
|
14025
|
+
"type": "array",
|
|
14026
|
+
"items": {
|
|
14027
|
+
"type": "string"
|
|
14028
|
+
}
|
|
12727
14029
|
},
|
|
12728
|
-
"
|
|
12729
|
-
"type": "
|
|
14030
|
+
"secret": {
|
|
14031
|
+
"type": "string",
|
|
14032
|
+
"description": "HMAC signing secret for verifying payloads (shown only once)"
|
|
12730
14033
|
},
|
|
12731
14034
|
"created_at": {
|
|
12732
14035
|
"type": "string",
|
|
@@ -12734,38 +14037,63 @@
|
|
|
12734
14037
|
}
|
|
12735
14038
|
}
|
|
12736
14039
|
},
|
|
12737
|
-
"
|
|
14040
|
+
"WebhookResponse": {
|
|
12738
14041
|
"type": "object",
|
|
14042
|
+
"required": [
|
|
14043
|
+
"id",
|
|
14044
|
+
"url",
|
|
14045
|
+
"events",
|
|
14046
|
+
"is_active",
|
|
14047
|
+
"created_at"
|
|
14048
|
+
],
|
|
12739
14049
|
"properties": {
|
|
12740
|
-
"
|
|
14050
|
+
"id": {
|
|
14051
|
+
"type": "string",
|
|
14052
|
+
"format": "uuid"
|
|
14053
|
+
},
|
|
14054
|
+
"url": {
|
|
14055
|
+
"type": "string",
|
|
14056
|
+
"format": "uri"
|
|
14057
|
+
},
|
|
14058
|
+
"events": {
|
|
12741
14059
|
"type": "array",
|
|
12742
14060
|
"items": {
|
|
12743
|
-
"
|
|
14061
|
+
"type": "string"
|
|
12744
14062
|
}
|
|
14063
|
+
},
|
|
14064
|
+
"is_active": {
|
|
14065
|
+
"type": "boolean"
|
|
14066
|
+
},
|
|
14067
|
+
"description": {
|
|
14068
|
+
"type": "string"
|
|
14069
|
+
},
|
|
14070
|
+
"created_at": {
|
|
14071
|
+
"type": "string",
|
|
14072
|
+
"format": "date-time"
|
|
12745
14073
|
}
|
|
12746
14074
|
}
|
|
12747
14075
|
},
|
|
12748
|
-
"
|
|
14076
|
+
"WebhookListResponse": {
|
|
12749
14077
|
"type": "object",
|
|
14078
|
+
"required": [
|
|
14079
|
+
"webhooks"
|
|
14080
|
+
],
|
|
12750
14081
|
"properties": {
|
|
12751
|
-
"
|
|
12752
|
-
"type": "
|
|
12753
|
-
|
|
12754
|
-
|
|
12755
|
-
|
|
12756
|
-
},
|
|
12757
|
-
"private_key_hex": {
|
|
12758
|
-
"type": "string",
|
|
12759
|
-
"description": "Raw private key in hex encoding. Handle with extreme care."
|
|
14082
|
+
"webhooks": {
|
|
14083
|
+
"type": "array",
|
|
14084
|
+
"items": {
|
|
14085
|
+
"$ref": "#/components/schemas/WebhookResponse"
|
|
14086
|
+
}
|
|
12760
14087
|
}
|
|
12761
14088
|
}
|
|
12762
14089
|
},
|
|
12763
|
-
"
|
|
14090
|
+
"SigningKeyBalanceResponse": {
|
|
12764
14091
|
"type": "object",
|
|
12765
14092
|
"required": [
|
|
12766
14093
|
"chain",
|
|
12767
14094
|
"address",
|
|
12768
|
-
"
|
|
14095
|
+
"balance_wei",
|
|
14096
|
+
"balance_display"
|
|
12769
14097
|
],
|
|
12770
14098
|
"properties": {
|
|
12771
14099
|
"chain": {
|
|
@@ -12774,1127 +14102,1195 @@
|
|
|
12774
14102
|
"address": {
|
|
12775
14103
|
"type": "string"
|
|
12776
14104
|
},
|
|
12777
|
-
"
|
|
12778
|
-
"type": "
|
|
12779
|
-
"required": [
|
|
12780
|
-
"symbol",
|
|
12781
|
-
"balance_wei",
|
|
12782
|
-
"balance_display"
|
|
12783
|
-
],
|
|
12784
|
-
"properties": {
|
|
12785
|
-
"symbol": {
|
|
12786
|
-
"type": "string"
|
|
12787
|
-
},
|
|
12788
|
-
"balance_wei": {
|
|
12789
|
-
"type": "string"
|
|
12790
|
-
},
|
|
12791
|
-
"balance_display": {
|
|
12792
|
-
"type": "string"
|
|
12793
|
-
}
|
|
12794
|
-
}
|
|
14105
|
+
"balance_wei": {
|
|
14106
|
+
"type": "string"
|
|
12795
14107
|
},
|
|
12796
|
-
"
|
|
14108
|
+
"balance_display": {
|
|
14109
|
+
"type": "string"
|
|
14110
|
+
}
|
|
14111
|
+
}
|
|
14112
|
+
},
|
|
14113
|
+
"PaymentRequirement": {
|
|
14114
|
+
"type": "object",
|
|
14115
|
+
"properties": {
|
|
14116
|
+
"x402Version": {
|
|
14117
|
+
"type": "integer"
|
|
14118
|
+
},
|
|
14119
|
+
"accepts": {
|
|
12797
14120
|
"type": "array",
|
|
12798
14121
|
"items": {
|
|
12799
14122
|
"type": "object",
|
|
12800
|
-
"required": [
|
|
12801
|
-
"contract_address",
|
|
12802
|
-
"balance_raw"
|
|
12803
|
-
],
|
|
12804
14123
|
"properties": {
|
|
12805
|
-
"
|
|
14124
|
+
"scheme": {
|
|
12806
14125
|
"type": "string"
|
|
12807
14126
|
},
|
|
12808
|
-
"
|
|
14127
|
+
"network": {
|
|
14128
|
+
"type": "string"
|
|
14129
|
+
},
|
|
14130
|
+
"payTo": {
|
|
14131
|
+
"type": "string"
|
|
14132
|
+
},
|
|
14133
|
+
"price": {
|
|
12809
14134
|
"type": "string"
|
|
14135
|
+
},
|
|
14136
|
+
"requiredDeadlineSeconds": {
|
|
14137
|
+
"type": "integer"
|
|
12810
14138
|
}
|
|
12811
14139
|
}
|
|
12812
14140
|
}
|
|
14141
|
+
},
|
|
14142
|
+
"description": {
|
|
14143
|
+
"type": "string"
|
|
12813
14144
|
}
|
|
12814
14145
|
}
|
|
12815
14146
|
},
|
|
12816
|
-
"
|
|
14147
|
+
"ShroudActivityEvent": {
|
|
12817
14148
|
"type": "object",
|
|
12818
|
-
"required": [
|
|
12819
|
-
"to",
|
|
12820
|
-
"value_wei"
|
|
12821
|
-
],
|
|
12822
14149
|
"properties": {
|
|
12823
|
-
"
|
|
14150
|
+
"id": {
|
|
12824
14151
|
"type": "string",
|
|
12825
|
-
"
|
|
14152
|
+
"format": "uuid"
|
|
12826
14153
|
},
|
|
12827
|
-
"
|
|
14154
|
+
"org_id": {
|
|
12828
14155
|
"type": "string",
|
|
12829
|
-
"
|
|
14156
|
+
"format": "uuid"
|
|
12830
14157
|
},
|
|
12831
|
-
"
|
|
14158
|
+
"agent_id": {
|
|
14159
|
+
"type": "string"
|
|
14160
|
+
},
|
|
14161
|
+
"provider": {
|
|
14162
|
+
"type": "string"
|
|
14163
|
+
},
|
|
14164
|
+
"model": {
|
|
14165
|
+
"type": "string"
|
|
14166
|
+
},
|
|
14167
|
+
"action": {
|
|
12832
14168
|
"type": "string",
|
|
12833
|
-
"description": "
|
|
14169
|
+
"description": "Action taken (allowed, blocked, warned)"
|
|
12834
14170
|
},
|
|
12835
|
-
"
|
|
14171
|
+
"request_tokens": {
|
|
14172
|
+
"type": "integer"
|
|
14173
|
+
},
|
|
14174
|
+
"response_tokens": {
|
|
14175
|
+
"type": "integer"
|
|
14176
|
+
},
|
|
14177
|
+
"latency_ms": {
|
|
14178
|
+
"type": "integer"
|
|
14179
|
+
},
|
|
14180
|
+
"had_secrets_redacted": {
|
|
14181
|
+
"type": "boolean"
|
|
14182
|
+
},
|
|
14183
|
+
"had_pii_detected": {
|
|
14184
|
+
"type": "boolean"
|
|
14185
|
+
},
|
|
14186
|
+
"injection_score": {
|
|
14187
|
+
"type": "number"
|
|
14188
|
+
},
|
|
14189
|
+
"policy_violations": {
|
|
14190
|
+
"type": "array",
|
|
14191
|
+
"items": {
|
|
14192
|
+
"type": "string"
|
|
14193
|
+
}
|
|
14194
|
+
},
|
|
14195
|
+
"response_injection_score": {
|
|
14196
|
+
"type": "number",
|
|
14197
|
+
"description": "Response-side prompt-injection score (0.0–1.0)."
|
|
14198
|
+
},
|
|
14199
|
+
"response_context_injection_score": {
|
|
14200
|
+
"type": "number",
|
|
14201
|
+
"description": "Response-side context-injection score (0.0–1.0)."
|
|
14202
|
+
},
|
|
14203
|
+
"response_injection_categories": {
|
|
14204
|
+
"type": "array",
|
|
14205
|
+
"items": {
|
|
14206
|
+
"type": "string"
|
|
14207
|
+
},
|
|
14208
|
+
"description": "Category tags emitted by the response-side filters (e.g. `markdown_image_exfil`, `data_uri_blob`, `echoed_instruction`)."
|
|
14209
|
+
},
|
|
14210
|
+
"external_urls_flagged": {
|
|
14211
|
+
"type": "array",
|
|
14212
|
+
"items": {
|
|
14213
|
+
"type": "string"
|
|
14214
|
+
},
|
|
14215
|
+
"description": "URLs emitted by the model that were flagged as potential exfil / callback targets."
|
|
14216
|
+
},
|
|
14217
|
+
"unexpected_code_blocks": {
|
|
12836
14218
|
"type": "integer",
|
|
12837
|
-
"description": "
|
|
14219
|
+
"description": "Number of code fences in the response that were not expected for the agent's allowed task set."
|
|
12838
14220
|
},
|
|
12839
|
-
"
|
|
14221
|
+
"content_filtered": {
|
|
12840
14222
|
"type": "boolean",
|
|
12841
|
-
"description": "
|
|
12842
|
-
|
|
14223
|
+
"description": "True when Shroud rewrote or blocked response content before returning it to the agent."
|
|
14224
|
+
},
|
|
14225
|
+
"metadata": {
|
|
14226
|
+
"type": "object"
|
|
14227
|
+
},
|
|
14228
|
+
"timestamp": {
|
|
14229
|
+
"type": "string",
|
|
14230
|
+
"format": "date-time"
|
|
12843
14231
|
}
|
|
12844
14232
|
}
|
|
12845
14233
|
},
|
|
12846
|
-
"
|
|
14234
|
+
"IngestShroudActivityRequest": {
|
|
12847
14235
|
"type": "object",
|
|
12848
14236
|
"required": [
|
|
12849
|
-
"
|
|
12850
|
-
"
|
|
12851
|
-
"to",
|
|
12852
|
-
"value_wei",
|
|
12853
|
-
"chain",
|
|
12854
|
-
"status"
|
|
14237
|
+
"agent_id",
|
|
14238
|
+
"action"
|
|
12855
14239
|
],
|
|
12856
14240
|
"properties": {
|
|
12857
|
-
"
|
|
14241
|
+
"agent_id": {
|
|
12858
14242
|
"type": "string"
|
|
12859
14243
|
},
|
|
12860
|
-
"
|
|
14244
|
+
"provider": {
|
|
12861
14245
|
"type": "string"
|
|
12862
14246
|
},
|
|
12863
|
-
"
|
|
14247
|
+
"model": {
|
|
12864
14248
|
"type": "string"
|
|
12865
14249
|
},
|
|
12866
|
-
"
|
|
14250
|
+
"action": {
|
|
12867
14251
|
"type": "string"
|
|
12868
14252
|
},
|
|
12869
|
-
"
|
|
12870
|
-
"type": "
|
|
14253
|
+
"request_tokens": {
|
|
14254
|
+
"type": "integer",
|
|
14255
|
+
"default": 0
|
|
12871
14256
|
},
|
|
12872
|
-
"
|
|
12873
|
-
"type": "
|
|
14257
|
+
"response_tokens": {
|
|
14258
|
+
"type": "integer",
|
|
14259
|
+
"default": 0
|
|
14260
|
+
},
|
|
14261
|
+
"latency_ms": {
|
|
14262
|
+
"type": "integer"
|
|
14263
|
+
},
|
|
14264
|
+
"had_secrets_redacted": {
|
|
14265
|
+
"type": "boolean",
|
|
14266
|
+
"default": false
|
|
14267
|
+
},
|
|
14268
|
+
"had_pii_detected": {
|
|
14269
|
+
"type": "boolean",
|
|
14270
|
+
"default": false
|
|
14271
|
+
},
|
|
14272
|
+
"injection_score": {
|
|
14273
|
+
"type": "number",
|
|
14274
|
+
"default": 0
|
|
14275
|
+
},
|
|
14276
|
+
"policy_violations": {
|
|
14277
|
+
"type": "array",
|
|
14278
|
+
"items": {
|
|
14279
|
+
"type": "string"
|
|
14280
|
+
}
|
|
14281
|
+
},
|
|
14282
|
+
"metadata": {
|
|
14283
|
+
"type": "object"
|
|
14284
|
+
},
|
|
14285
|
+
"response_injection_score": {
|
|
14286
|
+
"type": "number",
|
|
14287
|
+
"default": 0
|
|
14288
|
+
},
|
|
14289
|
+
"response_context_injection_score": {
|
|
14290
|
+
"type": "number",
|
|
14291
|
+
"default": 0
|
|
14292
|
+
},
|
|
14293
|
+
"response_injection_categories": {
|
|
14294
|
+
"type": "array",
|
|
14295
|
+
"items": {
|
|
14296
|
+
"type": "string"
|
|
14297
|
+
}
|
|
14298
|
+
},
|
|
14299
|
+
"external_urls_flagged": {
|
|
14300
|
+
"type": "array",
|
|
14301
|
+
"items": {
|
|
14302
|
+
"type": "string"
|
|
14303
|
+
}
|
|
14304
|
+
},
|
|
14305
|
+
"unexpected_code_blocks": {
|
|
14306
|
+
"type": "integer",
|
|
14307
|
+
"default": 0
|
|
14308
|
+
},
|
|
14309
|
+
"content_filtered": {
|
|
14310
|
+
"type": "boolean",
|
|
14311
|
+
"default": false
|
|
14312
|
+
}
|
|
14313
|
+
}
|
|
14314
|
+
},
|
|
14315
|
+
"ShroudThreatSummary": {
|
|
14316
|
+
"type": "object",
|
|
14317
|
+
"properties": {
|
|
14318
|
+
"total_requests": {
|
|
14319
|
+
"type": "integer",
|
|
14320
|
+
"format": "int64"
|
|
14321
|
+
},
|
|
14322
|
+
"total_requests_prev": {
|
|
14323
|
+
"type": "integer",
|
|
14324
|
+
"format": "int64"
|
|
14325
|
+
},
|
|
14326
|
+
"blocked_requests": {
|
|
14327
|
+
"type": "integer",
|
|
14328
|
+
"format": "int64"
|
|
14329
|
+
},
|
|
14330
|
+
"detectors_triggered": {
|
|
14331
|
+
"type": "integer",
|
|
14332
|
+
"format": "int64"
|
|
14333
|
+
},
|
|
14334
|
+
"active_agents": {
|
|
14335
|
+
"type": "integer",
|
|
14336
|
+
"format": "int64"
|
|
12874
14337
|
},
|
|
12875
|
-
"
|
|
12876
|
-
"type": "
|
|
12877
|
-
"
|
|
14338
|
+
"detectors": {
|
|
14339
|
+
"type": "array",
|
|
14340
|
+
"items": {
|
|
14341
|
+
"$ref": "#/components/schemas/ShroudDetectorStats"
|
|
14342
|
+
}
|
|
14343
|
+
},
|
|
14344
|
+
"flagged_requests": {
|
|
14345
|
+
"type": "array",
|
|
14346
|
+
"items": {
|
|
14347
|
+
"$ref": "#/components/schemas/ShroudFlaggedRequest"
|
|
14348
|
+
}
|
|
12878
14349
|
}
|
|
12879
14350
|
}
|
|
12880
14351
|
},
|
|
12881
|
-
"
|
|
14352
|
+
"ShroudDetectorStats": {
|
|
12882
14353
|
"type": "object",
|
|
12883
|
-
"required": [
|
|
12884
|
-
"sell_token",
|
|
12885
|
-
"buy_token",
|
|
12886
|
-
"sell_amount"
|
|
12887
|
-
],
|
|
12888
14354
|
"properties": {
|
|
12889
|
-
"
|
|
12890
|
-
"type": "string"
|
|
12891
|
-
"description": "Address of the token to sell (or \"native\" for ETH)"
|
|
14355
|
+
"detector": {
|
|
14356
|
+
"type": "string"
|
|
12892
14357
|
},
|
|
12893
|
-
"
|
|
12894
|
-
"type": "
|
|
12895
|
-
"
|
|
14358
|
+
"detections": {
|
|
14359
|
+
"type": "integer",
|
|
14360
|
+
"format": "int64"
|
|
12896
14361
|
},
|
|
12897
|
-
"
|
|
12898
|
-
"type": "
|
|
12899
|
-
"
|
|
14362
|
+
"blocks": {
|
|
14363
|
+
"type": "integer",
|
|
14364
|
+
"format": "int64"
|
|
14365
|
+
},
|
|
14366
|
+
"actions": {
|
|
14367
|
+
"type": "object",
|
|
14368
|
+
"properties": {
|
|
14369
|
+
"blocked": {
|
|
14370
|
+
"type": "integer",
|
|
14371
|
+
"format": "int64"
|
|
14372
|
+
},
|
|
14373
|
+
"warned": {
|
|
14374
|
+
"type": "integer",
|
|
14375
|
+
"format": "int64"
|
|
14376
|
+
},
|
|
14377
|
+
"logged": {
|
|
14378
|
+
"type": "integer",
|
|
14379
|
+
"format": "int64"
|
|
14380
|
+
}
|
|
14381
|
+
}
|
|
12900
14382
|
}
|
|
12901
14383
|
}
|
|
12902
14384
|
},
|
|
12903
|
-
"
|
|
14385
|
+
"ShroudFlaggedRequest": {
|
|
12904
14386
|
"type": "object",
|
|
12905
|
-
"required": [
|
|
12906
|
-
"tx_hash",
|
|
12907
|
-
"sell_token",
|
|
12908
|
-
"buy_token",
|
|
12909
|
-
"sell_amount",
|
|
12910
|
-
"buy_amount",
|
|
12911
|
-
"chain",
|
|
12912
|
-
"status"
|
|
12913
|
-
],
|
|
12914
14387
|
"properties": {
|
|
12915
|
-
"
|
|
14388
|
+
"id": {
|
|
12916
14389
|
"type": "string"
|
|
12917
14390
|
},
|
|
12918
|
-
"
|
|
12919
|
-
"type": "string"
|
|
14391
|
+
"timestamp": {
|
|
14392
|
+
"type": "string",
|
|
14393
|
+
"format": "date-time"
|
|
12920
14394
|
},
|
|
12921
|
-
"
|
|
14395
|
+
"agent_id": {
|
|
12922
14396
|
"type": "string"
|
|
12923
14397
|
},
|
|
12924
|
-
"
|
|
14398
|
+
"agent_name": {
|
|
12925
14399
|
"type": "string"
|
|
12926
14400
|
},
|
|
12927
|
-
"
|
|
12928
|
-
"type": "
|
|
14401
|
+
"score": {
|
|
14402
|
+
"type": "number"
|
|
12929
14403
|
},
|
|
12930
|
-
"
|
|
14404
|
+
"reason": {
|
|
12931
14405
|
"type": "string"
|
|
12932
14406
|
},
|
|
12933
|
-
"
|
|
12934
|
-
"type": "string"
|
|
12935
|
-
}
|
|
12936
|
-
}
|
|
12937
|
-
},
|
|
12938
|
-
"CreateWebhookRequest": {
|
|
12939
|
-
"type": "object",
|
|
12940
|
-
"required": [
|
|
12941
|
-
"url",
|
|
12942
|
-
"events"
|
|
12943
|
-
],
|
|
12944
|
-
"properties": {
|
|
12945
|
-
"url": {
|
|
14407
|
+
"action": {
|
|
12946
14408
|
"type": "string",
|
|
12947
|
-
"
|
|
12948
|
-
|
|
12949
|
-
|
|
12950
|
-
|
|
12951
|
-
|
|
12952
|
-
"items": {
|
|
12953
|
-
"type": "string"
|
|
12954
|
-
},
|
|
12955
|
-
"description": "Event types to subscribe to"
|
|
12956
|
-
},
|
|
12957
|
-
"description": {
|
|
12958
|
-
"type": "string"
|
|
14409
|
+
"enum": [
|
|
14410
|
+
"blocked",
|
|
14411
|
+
"warned",
|
|
14412
|
+
"logged"
|
|
14413
|
+
]
|
|
12959
14414
|
}
|
|
12960
14415
|
}
|
|
12961
14416
|
},
|
|
12962
|
-
"
|
|
14417
|
+
"HealthResponse": {
|
|
12963
14418
|
"type": "object",
|
|
12964
14419
|
"properties": {
|
|
12965
|
-
"
|
|
14420
|
+
"status": {
|
|
12966
14421
|
"type": "string",
|
|
12967
|
-
"
|
|
12968
|
-
|
|
12969
|
-
|
|
12970
|
-
|
|
12971
|
-
"items": {
|
|
12972
|
-
"type": "string"
|
|
12973
|
-
}
|
|
12974
|
-
},
|
|
12975
|
-
"is_active": {
|
|
12976
|
-
"type": "boolean"
|
|
14422
|
+
"enum": [
|
|
14423
|
+
"healthy",
|
|
14424
|
+
"degraded"
|
|
14425
|
+
]
|
|
12977
14426
|
},
|
|
12978
|
-
"
|
|
14427
|
+
"version": {
|
|
12979
14428
|
"type": "string"
|
|
12980
14429
|
}
|
|
12981
14430
|
}
|
|
12982
14431
|
},
|
|
12983
|
-
"
|
|
14432
|
+
"CreatePlatformAppRequest": {
|
|
12984
14433
|
"type": "object",
|
|
12985
14434
|
"required": [
|
|
12986
|
-
"
|
|
12987
|
-
"
|
|
12988
|
-
"events",
|
|
12989
|
-
"secret",
|
|
12990
|
-
"created_at"
|
|
14435
|
+
"name",
|
|
14436
|
+
"slug"
|
|
12991
14437
|
],
|
|
12992
14438
|
"properties": {
|
|
12993
|
-
"
|
|
12994
|
-
"type": "string"
|
|
12995
|
-
"format": "uuid"
|
|
14439
|
+
"name": {
|
|
14440
|
+
"type": "string"
|
|
12996
14441
|
},
|
|
12997
|
-
"
|
|
14442
|
+
"slug": {
|
|
12998
14443
|
"type": "string",
|
|
12999
|
-
"
|
|
14444
|
+
"minLength": 3,
|
|
14445
|
+
"maxLength": 64,
|
|
14446
|
+
"pattern": "^[a-zA-Z0-9_-]+$"
|
|
13000
14447
|
},
|
|
13001
|
-
"
|
|
13002
|
-
"type": "
|
|
13003
|
-
"items": {
|
|
13004
|
-
"type": "string"
|
|
13005
|
-
}
|
|
14448
|
+
"description": {
|
|
14449
|
+
"type": "string"
|
|
13006
14450
|
},
|
|
13007
|
-
"
|
|
14451
|
+
"oidc_jwks_url": {
|
|
13008
14452
|
"type": "string",
|
|
13009
|
-
"
|
|
14453
|
+
"format": "uri"
|
|
13010
14454
|
},
|
|
13011
|
-
"
|
|
13012
|
-
"type": "string",
|
|
13013
|
-
"format": "date-time"
|
|
13014
|
-
}
|
|
13015
|
-
}
|
|
13016
|
-
},
|
|
13017
|
-
"WebhookResponse": {
|
|
13018
|
-
"type": "object",
|
|
13019
|
-
"required": [
|
|
13020
|
-
"id",
|
|
13021
|
-
"url",
|
|
13022
|
-
"events",
|
|
13023
|
-
"is_active",
|
|
13024
|
-
"created_at"
|
|
13025
|
-
],
|
|
13026
|
-
"properties": {
|
|
13027
|
-
"id": {
|
|
14455
|
+
"oidc_issuer": {
|
|
13028
14456
|
"type": "string",
|
|
13029
|
-
"format": "
|
|
14457
|
+
"format": "uri"
|
|
13030
14458
|
},
|
|
13031
|
-
"
|
|
14459
|
+
"oidc_audience": {
|
|
13032
14460
|
"type": "string",
|
|
13033
|
-
"
|
|
14461
|
+
"description": "Expected audience claim for OIDC token validation"
|
|
13034
14462
|
},
|
|
13035
|
-
"
|
|
14463
|
+
"redirect_uris": {
|
|
13036
14464
|
"type": "array",
|
|
13037
14465
|
"items": {
|
|
13038
|
-
"type": "string"
|
|
14466
|
+
"type": "string",
|
|
14467
|
+
"format": "uri"
|
|
13039
14468
|
}
|
|
13040
14469
|
},
|
|
13041
|
-
"
|
|
13042
|
-
"type": "
|
|
14470
|
+
"billing_model": {
|
|
14471
|
+
"type": "string",
|
|
14472
|
+
"enum": [
|
|
14473
|
+
"platform_pays",
|
|
14474
|
+
"user_pays",
|
|
14475
|
+
"hybrid"
|
|
14476
|
+
],
|
|
14477
|
+
"default": "platform_pays"
|
|
13043
14478
|
},
|
|
13044
|
-
"
|
|
13045
|
-
"type": "string"
|
|
14479
|
+
"auth_mode": {
|
|
14480
|
+
"type": "string",
|
|
14481
|
+
"enum": [
|
|
14482
|
+
"silent",
|
|
14483
|
+
"user_signin",
|
|
14484
|
+
"configurable"
|
|
14485
|
+
],
|
|
14486
|
+
"default": "silent"
|
|
13046
14487
|
},
|
|
13047
|
-
"
|
|
14488
|
+
"max_connected_users": {
|
|
14489
|
+
"type": "integer",
|
|
14490
|
+
"nullable": true
|
|
14491
|
+
},
|
|
14492
|
+
"api_key_expires_at": {
|
|
13048
14493
|
"type": "string",
|
|
13049
|
-
"format": "date-time"
|
|
13050
|
-
|
|
13051
|
-
|
|
13052
|
-
},
|
|
13053
|
-
"WebhookListResponse": {
|
|
13054
|
-
"type": "object",
|
|
13055
|
-
"required": [
|
|
13056
|
-
"webhooks"
|
|
13057
|
-
],
|
|
13058
|
-
"properties": {
|
|
13059
|
-
"webhooks": {
|
|
13060
|
-
"type": "array",
|
|
13061
|
-
"items": {
|
|
13062
|
-
"$ref": "#/components/schemas/WebhookResponse"
|
|
13063
|
-
}
|
|
14494
|
+
"format": "date-time",
|
|
14495
|
+
"nullable": true,
|
|
14496
|
+
"description": "Optional expiration time for the platform API key."
|
|
13064
14497
|
}
|
|
13065
14498
|
}
|
|
13066
14499
|
},
|
|
13067
|
-
"
|
|
14500
|
+
"UpdatePlatformAppRequest": {
|
|
13068
14501
|
"type": "object",
|
|
13069
|
-
"required": [
|
|
13070
|
-
"chain",
|
|
13071
|
-
"address",
|
|
13072
|
-
"balance_wei",
|
|
13073
|
-
"balance_display"
|
|
13074
|
-
],
|
|
13075
14502
|
"properties": {
|
|
13076
|
-
"
|
|
14503
|
+
"name": {
|
|
13077
14504
|
"type": "string"
|
|
13078
14505
|
},
|
|
13079
|
-
"
|
|
14506
|
+
"description": {
|
|
14507
|
+
"type": "string"
|
|
14508
|
+
},
|
|
14509
|
+
"logo_url": {
|
|
14510
|
+
"type": "string"
|
|
14511
|
+
},
|
|
14512
|
+
"oidc_jwks_url": {
|
|
13080
14513
|
"type": "string"
|
|
13081
14514
|
},
|
|
13082
|
-
"
|
|
14515
|
+
"oidc_issuer": {
|
|
13083
14516
|
"type": "string"
|
|
13084
14517
|
},
|
|
13085
|
-
"
|
|
13086
|
-
"type": "string"
|
|
13087
|
-
|
|
13088
|
-
}
|
|
13089
|
-
},
|
|
13090
|
-
"PaymentRequirement": {
|
|
13091
|
-
"type": "object",
|
|
13092
|
-
"properties": {
|
|
13093
|
-
"x402Version": {
|
|
13094
|
-
"type": "integer"
|
|
14518
|
+
"oidc_audience": {
|
|
14519
|
+
"type": "string",
|
|
14520
|
+
"description": "Expected audience claim for OIDC token validation"
|
|
13095
14521
|
},
|
|
13096
|
-
"
|
|
14522
|
+
"redirect_uris": {
|
|
13097
14523
|
"type": "array",
|
|
13098
14524
|
"items": {
|
|
13099
|
-
"type": "
|
|
13100
|
-
"properties": {
|
|
13101
|
-
"scheme": {
|
|
13102
|
-
"type": "string"
|
|
13103
|
-
},
|
|
13104
|
-
"network": {
|
|
13105
|
-
"type": "string"
|
|
13106
|
-
},
|
|
13107
|
-
"payTo": {
|
|
13108
|
-
"type": "string"
|
|
13109
|
-
},
|
|
13110
|
-
"price": {
|
|
13111
|
-
"type": "string"
|
|
13112
|
-
},
|
|
13113
|
-
"requiredDeadlineSeconds": {
|
|
13114
|
-
"type": "integer"
|
|
13115
|
-
}
|
|
13116
|
-
}
|
|
14525
|
+
"type": "string"
|
|
13117
14526
|
}
|
|
13118
14527
|
},
|
|
13119
|
-
"
|
|
14528
|
+
"webhook_url": {
|
|
13120
14529
|
"type": "string"
|
|
14530
|
+
},
|
|
14531
|
+
"billing_model": {
|
|
14532
|
+
"type": "string",
|
|
14533
|
+
"enum": [
|
|
14534
|
+
"platform_pays",
|
|
14535
|
+
"user_pays",
|
|
14536
|
+
"hybrid"
|
|
14537
|
+
]
|
|
14538
|
+
},
|
|
14539
|
+
"auth_mode": {
|
|
14540
|
+
"type": "string",
|
|
14541
|
+
"enum": [
|
|
14542
|
+
"silent",
|
|
14543
|
+
"user_signin",
|
|
14544
|
+
"configurable"
|
|
14545
|
+
]
|
|
14546
|
+
},
|
|
14547
|
+
"max_connected_users": {
|
|
14548
|
+
"type": "integer",
|
|
14549
|
+
"nullable": true
|
|
14550
|
+
},
|
|
14551
|
+
"is_active": {
|
|
14552
|
+
"type": "boolean"
|
|
14553
|
+
},
|
|
14554
|
+
"api_key_expires_at": {
|
|
14555
|
+
"type": "string",
|
|
14556
|
+
"format": "date-time",
|
|
14557
|
+
"nullable": true,
|
|
14558
|
+
"description": "Optional expiration time for the platform API key. Set to null to clear."
|
|
13121
14559
|
}
|
|
13122
14560
|
}
|
|
13123
14561
|
},
|
|
13124
|
-
"
|
|
14562
|
+
"PlatformAppResponse": {
|
|
13125
14563
|
"type": "object",
|
|
13126
14564
|
"properties": {
|
|
13127
14565
|
"id": {
|
|
13128
14566
|
"type": "string",
|
|
13129
14567
|
"format": "uuid"
|
|
13130
14568
|
},
|
|
13131
|
-
"
|
|
13132
|
-
"type": "string",
|
|
13133
|
-
"format": "uuid"
|
|
13134
|
-
},
|
|
13135
|
-
"agent_id": {
|
|
14569
|
+
"name": {
|
|
13136
14570
|
"type": "string"
|
|
13137
14571
|
},
|
|
13138
|
-
"
|
|
14572
|
+
"slug": {
|
|
13139
14573
|
"type": "string"
|
|
13140
14574
|
},
|
|
13141
|
-
"
|
|
14575
|
+
"description": {
|
|
13142
14576
|
"type": "string"
|
|
13143
14577
|
},
|
|
13144
|
-
"
|
|
14578
|
+
"logo_url": {
|
|
13145
14579
|
"type": "string",
|
|
13146
|
-
"
|
|
13147
|
-
},
|
|
13148
|
-
"request_tokens": {
|
|
13149
|
-
"type": "integer"
|
|
13150
|
-
},
|
|
13151
|
-
"response_tokens": {
|
|
13152
|
-
"type": "integer"
|
|
14580
|
+
"nullable": true
|
|
13153
14581
|
},
|
|
13154
|
-
"
|
|
13155
|
-
"type": "
|
|
14582
|
+
"api_key_prefix": {
|
|
14583
|
+
"type": "string"
|
|
13156
14584
|
},
|
|
13157
|
-
"
|
|
13158
|
-
"type": "
|
|
14585
|
+
"oidc_jwks_url": {
|
|
14586
|
+
"type": "string",
|
|
14587
|
+
"nullable": true
|
|
13159
14588
|
},
|
|
13160
|
-
"
|
|
13161
|
-
"type": "
|
|
14589
|
+
"oidc_issuer": {
|
|
14590
|
+
"type": "string",
|
|
14591
|
+
"nullable": true
|
|
13162
14592
|
},
|
|
13163
|
-
"
|
|
13164
|
-
"type": "
|
|
14593
|
+
"oidc_audience": {
|
|
14594
|
+
"type": "string",
|
|
14595
|
+
"nullable": true,
|
|
14596
|
+
"description": "Expected audience claim for OIDC token validation"
|
|
13165
14597
|
},
|
|
13166
|
-
"
|
|
14598
|
+
"redirect_uris": {
|
|
13167
14599
|
"type": "array",
|
|
13168
14600
|
"items": {
|
|
13169
14601
|
"type": "string"
|
|
13170
14602
|
}
|
|
13171
14603
|
},
|
|
13172
|
-
"
|
|
13173
|
-
"type": "
|
|
13174
|
-
"
|
|
14604
|
+
"webhook_url": {
|
|
14605
|
+
"type": "string",
|
|
14606
|
+
"nullable": true
|
|
13175
14607
|
},
|
|
13176
|
-
"
|
|
13177
|
-
"type": "
|
|
13178
|
-
"description": "Response-side context-injection score (0.0–1.0)."
|
|
14608
|
+
"is_active": {
|
|
14609
|
+
"type": "boolean"
|
|
13179
14610
|
},
|
|
13180
|
-
"
|
|
13181
|
-
"type": "
|
|
13182
|
-
"items": {
|
|
13183
|
-
"type": "string"
|
|
13184
|
-
},
|
|
13185
|
-
"description": "Category tags emitted by the response-side filters (e.g. `markdown_image_exfil`, `data_uri_blob`, `echoed_instruction`)."
|
|
14611
|
+
"billing_model": {
|
|
14612
|
+
"type": "string"
|
|
13186
14613
|
},
|
|
13187
|
-
"
|
|
13188
|
-
"type": "
|
|
13189
|
-
"items": {
|
|
13190
|
-
"type": "string"
|
|
13191
|
-
},
|
|
13192
|
-
"description": "URLs emitted by the model that were flagged as potential exfil / callback targets."
|
|
14614
|
+
"auth_mode": {
|
|
14615
|
+
"type": "string"
|
|
13193
14616
|
},
|
|
13194
|
-
"
|
|
14617
|
+
"max_connected_users": {
|
|
13195
14618
|
"type": "integer",
|
|
13196
|
-
"
|
|
14619
|
+
"nullable": true
|
|
13197
14620
|
},
|
|
13198
|
-
"
|
|
13199
|
-
"type": "
|
|
13200
|
-
"description": "True when Shroud rewrote or blocked response content before returning it to the agent."
|
|
14621
|
+
"connected_users": {
|
|
14622
|
+
"type": "integer"
|
|
13201
14623
|
},
|
|
13202
|
-
"
|
|
13203
|
-
"type": "
|
|
14624
|
+
"api_key_expires_at": {
|
|
14625
|
+
"type": "string",
|
|
14626
|
+
"format": "date-time",
|
|
14627
|
+
"nullable": true,
|
|
14628
|
+
"description": "When the platform API key expires."
|
|
13204
14629
|
},
|
|
13205
|
-
"
|
|
14630
|
+
"api_key_rotated_at": {
|
|
14631
|
+
"type": "string",
|
|
14632
|
+
"format": "date-time",
|
|
14633
|
+
"nullable": true,
|
|
14634
|
+
"description": "When the platform API key was last rotated."
|
|
14635
|
+
},
|
|
14636
|
+
"created_at": {
|
|
14637
|
+
"type": "string",
|
|
14638
|
+
"format": "date-time"
|
|
14639
|
+
},
|
|
14640
|
+
"updated_at": {
|
|
13206
14641
|
"type": "string",
|
|
13207
14642
|
"format": "date-time"
|
|
13208
14643
|
}
|
|
13209
14644
|
}
|
|
13210
14645
|
},
|
|
13211
|
-
"
|
|
14646
|
+
"PlatformAppCreatedResponse": {
|
|
14647
|
+
"allOf": [
|
|
14648
|
+
{
|
|
14649
|
+
"$ref": "#/components/schemas/PlatformAppResponse"
|
|
14650
|
+
},
|
|
14651
|
+
{
|
|
14652
|
+
"type": "object",
|
|
14653
|
+
"required": [
|
|
14654
|
+
"api_key"
|
|
14655
|
+
],
|
|
14656
|
+
"properties": {
|
|
14657
|
+
"api_key": {
|
|
14658
|
+
"type": "string",
|
|
14659
|
+
"description": "The platform API key. Save immediately - it cannot be retrieved again."
|
|
14660
|
+
}
|
|
14661
|
+
}
|
|
14662
|
+
}
|
|
14663
|
+
]
|
|
14664
|
+
},
|
|
14665
|
+
"CreateTemplateRequest": {
|
|
13212
14666
|
"type": "object",
|
|
13213
14667
|
"required": [
|
|
13214
|
-
"
|
|
13215
|
-
"
|
|
14668
|
+
"name",
|
|
14669
|
+
"spec"
|
|
13216
14670
|
],
|
|
13217
14671
|
"properties": {
|
|
13218
|
-
"
|
|
13219
|
-
"type": "string"
|
|
13220
|
-
},
|
|
13221
|
-
"provider": {
|
|
13222
|
-
"type": "string"
|
|
13223
|
-
},
|
|
13224
|
-
"model": {
|
|
14672
|
+
"name": {
|
|
13225
14673
|
"type": "string"
|
|
13226
14674
|
},
|
|
13227
|
-
"
|
|
14675
|
+
"description": {
|
|
13228
14676
|
"type": "string"
|
|
13229
14677
|
},
|
|
13230
|
-
"
|
|
13231
|
-
"type": "
|
|
13232
|
-
"
|
|
13233
|
-
}
|
|
13234
|
-
|
|
13235
|
-
|
|
13236
|
-
|
|
13237
|
-
|
|
13238
|
-
|
|
13239
|
-
|
|
13240
|
-
|
|
13241
|
-
|
|
13242
|
-
"type": "boolean",
|
|
13243
|
-
"default": false
|
|
13244
|
-
},
|
|
13245
|
-
"had_pii_detected": {
|
|
13246
|
-
"type": "boolean",
|
|
13247
|
-
"default": false
|
|
13248
|
-
},
|
|
13249
|
-
"injection_score": {
|
|
13250
|
-
"type": "number",
|
|
13251
|
-
"default": 0
|
|
14678
|
+
"spec": {
|
|
14679
|
+
"type": "object",
|
|
14680
|
+
"description": "Template specification defining vault, agents, policies, and signing keys to bootstrap.\nTop-level fields: `vault` (object with name, description), `agents` (array of agent specs\nwith name, description, shroud_enabled, intents, shroud_config), `policies` (array with\nvault_ref, principal_ref, paths, permissions, conditions), and `signing_keys` (array of\n`{ chain }` objects — supported chains: ethereum, bitcoin, solana, xrp, cardano, tron).\nWhen `signing_keys` is present, HSM-backed signing keys are auto-provisioned for the\nbootstrapped agent.\n"
|
|
14681
|
+
}
|
|
14682
|
+
}
|
|
14683
|
+
},
|
|
14684
|
+
"PlatformTemplateResponse": {
|
|
14685
|
+
"type": "object",
|
|
14686
|
+
"properties": {
|
|
14687
|
+
"id": {
|
|
14688
|
+
"type": "string",
|
|
14689
|
+
"format": "uuid"
|
|
13252
14690
|
},
|
|
13253
|
-
"
|
|
13254
|
-
"type": "
|
|
13255
|
-
"
|
|
13256
|
-
"type": "string"
|
|
13257
|
-
}
|
|
14691
|
+
"platform_app_id": {
|
|
14692
|
+
"type": "string",
|
|
14693
|
+
"format": "uuid"
|
|
13258
14694
|
},
|
|
13259
|
-
"
|
|
13260
|
-
"type": "
|
|
14695
|
+
"name": {
|
|
14696
|
+
"type": "string"
|
|
13261
14697
|
},
|
|
13262
|
-
"
|
|
13263
|
-
"type": "
|
|
13264
|
-
"default": 0
|
|
14698
|
+
"description": {
|
|
14699
|
+
"type": "string"
|
|
13265
14700
|
},
|
|
13266
|
-
"
|
|
13267
|
-
"type": "
|
|
13268
|
-
"default": 0
|
|
14701
|
+
"version": {
|
|
14702
|
+
"type": "integer"
|
|
13269
14703
|
},
|
|
13270
|
-
"
|
|
13271
|
-
"type": "
|
|
13272
|
-
"items": {
|
|
13273
|
-
"type": "string"
|
|
13274
|
-
}
|
|
14704
|
+
"spec": {
|
|
14705
|
+
"type": "object"
|
|
13275
14706
|
},
|
|
13276
|
-
"
|
|
13277
|
-
"type": "
|
|
13278
|
-
"items": {
|
|
13279
|
-
"type": "string"
|
|
13280
|
-
}
|
|
14707
|
+
"is_active": {
|
|
14708
|
+
"type": "boolean"
|
|
13281
14709
|
},
|
|
13282
|
-
"
|
|
13283
|
-
"type": "
|
|
13284
|
-
"
|
|
14710
|
+
"created_at": {
|
|
14711
|
+
"type": "string",
|
|
14712
|
+
"format": "date-time"
|
|
13285
14713
|
},
|
|
13286
|
-
"
|
|
13287
|
-
"type": "
|
|
13288
|
-
"
|
|
14714
|
+
"updated_at": {
|
|
14715
|
+
"type": "string",
|
|
14716
|
+
"format": "date-time"
|
|
13289
14717
|
}
|
|
13290
14718
|
}
|
|
13291
14719
|
},
|
|
13292
|
-
"
|
|
14720
|
+
"UpsertPlatformUserRequest": {
|
|
13293
14721
|
"type": "object",
|
|
13294
14722
|
"properties": {
|
|
13295
|
-
"
|
|
13296
|
-
"type": "
|
|
13297
|
-
"
|
|
13298
|
-
},
|
|
13299
|
-
"total_requests_prev": {
|
|
13300
|
-
"type": "integer",
|
|
13301
|
-
"format": "int64"
|
|
13302
|
-
},
|
|
13303
|
-
"blocked_requests": {
|
|
13304
|
-
"type": "integer",
|
|
13305
|
-
"format": "int64"
|
|
13306
|
-
},
|
|
13307
|
-
"detectors_triggered": {
|
|
13308
|
-
"type": "integer",
|
|
13309
|
-
"format": "int64"
|
|
14723
|
+
"subject_token": {
|
|
14724
|
+
"type": "string",
|
|
14725
|
+
"description": "OIDC JWT from the platform's IdP (verified against JWKS)"
|
|
13310
14726
|
},
|
|
13311
|
-
"
|
|
13312
|
-
"type": "
|
|
13313
|
-
"
|
|
14727
|
+
"subject_token_type": {
|
|
14728
|
+
"type": "string",
|
|
14729
|
+
"default": "urn:ietf:params:oauth:token-type:jwt"
|
|
13314
14730
|
},
|
|
13315
|
-
"
|
|
13316
|
-
"type": "
|
|
13317
|
-
"
|
|
13318
|
-
|
|
13319
|
-
}
|
|
14731
|
+
"email": {
|
|
14732
|
+
"type": "string",
|
|
14733
|
+
"format": "email",
|
|
14734
|
+
"description": "Fallback when subject_token is not provided"
|
|
13320
14735
|
},
|
|
13321
|
-
"
|
|
13322
|
-
"type": "
|
|
13323
|
-
"items": {
|
|
13324
|
-
"$ref": "#/components/schemas/ShroudFlaggedRequest"
|
|
13325
|
-
}
|
|
14736
|
+
"display_name": {
|
|
14737
|
+
"type": "string"
|
|
13326
14738
|
}
|
|
13327
14739
|
}
|
|
13328
14740
|
},
|
|
13329
|
-
"
|
|
14741
|
+
"PlatformUserResponse": {
|
|
13330
14742
|
"type": "object",
|
|
13331
14743
|
"properties": {
|
|
13332
|
-
"
|
|
13333
|
-
"type": "string"
|
|
14744
|
+
"user_handle": {
|
|
14745
|
+
"type": "string",
|
|
14746
|
+
"format": "uuid"
|
|
13334
14747
|
},
|
|
13335
|
-
"
|
|
13336
|
-
"type": "
|
|
13337
|
-
"format": "int64"
|
|
14748
|
+
"is_new": {
|
|
14749
|
+
"type": "boolean"
|
|
13338
14750
|
},
|
|
13339
|
-
"
|
|
13340
|
-
"type": "
|
|
13341
|
-
"format": "
|
|
14751
|
+
"connection_id": {
|
|
14752
|
+
"type": "string",
|
|
14753
|
+
"format": "uuid"
|
|
13342
14754
|
},
|
|
13343
|
-
"
|
|
13344
|
-
"type": "
|
|
13345
|
-
"properties": {
|
|
13346
|
-
"blocked": {
|
|
13347
|
-
"type": "integer",
|
|
13348
|
-
"format": "int64"
|
|
13349
|
-
},
|
|
13350
|
-
"warned": {
|
|
13351
|
-
"type": "integer",
|
|
13352
|
-
"format": "int64"
|
|
13353
|
-
},
|
|
13354
|
-
"logged": {
|
|
13355
|
-
"type": "integer",
|
|
13356
|
-
"format": "int64"
|
|
13357
|
-
}
|
|
13358
|
-
}
|
|
14755
|
+
"email": {
|
|
14756
|
+
"type": "string"
|
|
13359
14757
|
}
|
|
13360
14758
|
}
|
|
13361
14759
|
},
|
|
13362
|
-
"
|
|
14760
|
+
"PlatformConnectedUserResponse": {
|
|
13363
14761
|
"type": "object",
|
|
13364
14762
|
"properties": {
|
|
13365
|
-
"
|
|
13366
|
-
"type": "string"
|
|
14763
|
+
"connection_id": {
|
|
14764
|
+
"type": "string",
|
|
14765
|
+
"format": "uuid"
|
|
13367
14766
|
},
|
|
13368
|
-
"
|
|
14767
|
+
"user_id": {
|
|
13369
14768
|
"type": "string",
|
|
13370
|
-
"format": "
|
|
14769
|
+
"format": "uuid"
|
|
13371
14770
|
},
|
|
13372
|
-
"
|
|
14771
|
+
"external_subject": {
|
|
13373
14772
|
"type": "string"
|
|
13374
14773
|
},
|
|
13375
|
-
"
|
|
14774
|
+
"status": {
|
|
13376
14775
|
"type": "string"
|
|
13377
14776
|
},
|
|
13378
|
-
"
|
|
13379
|
-
"type": "
|
|
14777
|
+
"vault_ids": {
|
|
14778
|
+
"type": "array",
|
|
14779
|
+
"items": {
|
|
14780
|
+
"type": "string",
|
|
14781
|
+
"format": "uuid"
|
|
14782
|
+
}
|
|
13380
14783
|
},
|
|
13381
|
-
"
|
|
13382
|
-
"type": "
|
|
14784
|
+
"agent_ids": {
|
|
14785
|
+
"type": "array",
|
|
14786
|
+
"items": {
|
|
14787
|
+
"type": "string",
|
|
14788
|
+
"format": "uuid"
|
|
14789
|
+
}
|
|
13383
14790
|
},
|
|
13384
|
-
"
|
|
14791
|
+
"created_at": {
|
|
13385
14792
|
"type": "string",
|
|
13386
|
-
"
|
|
13387
|
-
|
|
13388
|
-
|
|
13389
|
-
|
|
13390
|
-
|
|
14793
|
+
"format": "date-time"
|
|
14794
|
+
},
|
|
14795
|
+
"claimed_at": {
|
|
14796
|
+
"type": "string",
|
|
14797
|
+
"format": "date-time",
|
|
14798
|
+
"nullable": true
|
|
13391
14799
|
}
|
|
13392
14800
|
}
|
|
13393
14801
|
},
|
|
13394
|
-
"
|
|
14802
|
+
"BootstrapRequest": {
|
|
13395
14803
|
"type": "object",
|
|
13396
14804
|
"properties": {
|
|
13397
|
-
"
|
|
14805
|
+
"template_id": {
|
|
13398
14806
|
"type": "string",
|
|
13399
|
-
"
|
|
13400
|
-
|
|
13401
|
-
"degraded"
|
|
13402
|
-
]
|
|
14807
|
+
"format": "uuid",
|
|
14808
|
+
"description": "Template to use. Falls back to the app's default template."
|
|
13403
14809
|
},
|
|
13404
|
-
"
|
|
13405
|
-
"type": "string"
|
|
14810
|
+
"return_to": {
|
|
14811
|
+
"type": "string",
|
|
14812
|
+
"format": "uri",
|
|
14813
|
+
"description": "URL to redirect the user to after claiming resources."
|
|
13406
14814
|
}
|
|
13407
14815
|
}
|
|
13408
14816
|
},
|
|
13409
|
-
"
|
|
14817
|
+
"BootstrapResponse": {
|
|
13410
14818
|
"type": "object",
|
|
13411
|
-
"required": [
|
|
13412
|
-
"name",
|
|
13413
|
-
"slug"
|
|
13414
|
-
],
|
|
13415
14819
|
"properties": {
|
|
13416
|
-
"
|
|
13417
|
-
"type": "string"
|
|
13418
|
-
},
|
|
13419
|
-
"slug": {
|
|
14820
|
+
"claim_url": {
|
|
13420
14821
|
"type": "string",
|
|
13421
|
-
"
|
|
13422
|
-
"maxLength": 64,
|
|
13423
|
-
"pattern": "^[a-zA-Z0-9_-]+$"
|
|
14822
|
+
"format": "uri"
|
|
13424
14823
|
},
|
|
13425
|
-
"
|
|
14824
|
+
"claim_token": {
|
|
13426
14825
|
"type": "string"
|
|
13427
14826
|
},
|
|
13428
|
-
"
|
|
14827
|
+
"expires_in": {
|
|
14828
|
+
"type": "integer",
|
|
14829
|
+
"description": "Seconds until the claim token expires"
|
|
14830
|
+
},
|
|
14831
|
+
"connection_id": {
|
|
13429
14832
|
"type": "string",
|
|
13430
|
-
"format": "
|
|
14833
|
+
"format": "uuid"
|
|
14834
|
+
},
|
|
14835
|
+
"summary": {
|
|
14836
|
+
"type": "object",
|
|
14837
|
+
"properties": {
|
|
14838
|
+
"vault_id": {
|
|
14839
|
+
"type": "string",
|
|
14840
|
+
"format": "uuid",
|
|
14841
|
+
"nullable": true
|
|
14842
|
+
},
|
|
14843
|
+
"agent_id": {
|
|
14844
|
+
"type": "string",
|
|
14845
|
+
"format": "uuid",
|
|
14846
|
+
"nullable": true
|
|
14847
|
+
},
|
|
14848
|
+
"policy_ids": {
|
|
14849
|
+
"type": "array",
|
|
14850
|
+
"items": {
|
|
14851
|
+
"type": "string",
|
|
14852
|
+
"format": "uuid"
|
|
14853
|
+
}
|
|
14854
|
+
},
|
|
14855
|
+
"signing_key_chains": {
|
|
14856
|
+
"type": "array",
|
|
14857
|
+
"items": {
|
|
14858
|
+
"type": "string"
|
|
14859
|
+
},
|
|
14860
|
+
"description": "Chains with provisioned signing keys"
|
|
14861
|
+
},
|
|
14862
|
+
"agent_api_key": {
|
|
14863
|
+
"type": "string",
|
|
14864
|
+
"nullable": true,
|
|
14865
|
+
"description": "One-time agent API key (ocv_ prefix). Store securely — not retrievable later."
|
|
14866
|
+
},
|
|
14867
|
+
"signing_keys": {
|
|
14868
|
+
"type": "array",
|
|
14869
|
+
"description": "Provisioned signing key details (chain, address, public key)",
|
|
14870
|
+
"items": {
|
|
14871
|
+
"type": "object",
|
|
14872
|
+
"properties": {
|
|
14873
|
+
"chain": {
|
|
14874
|
+
"type": "string"
|
|
14875
|
+
},
|
|
14876
|
+
"curve": {
|
|
14877
|
+
"type": "string"
|
|
14878
|
+
},
|
|
14879
|
+
"public_key": {
|
|
14880
|
+
"type": "string"
|
|
14881
|
+
},
|
|
14882
|
+
"address": {
|
|
14883
|
+
"type": "string"
|
|
14884
|
+
}
|
|
14885
|
+
}
|
|
14886
|
+
}
|
|
14887
|
+
}
|
|
14888
|
+
}
|
|
14889
|
+
}
|
|
14890
|
+
}
|
|
14891
|
+
},
|
|
14892
|
+
"ConnectedAppResponse": {
|
|
14893
|
+
"type": "object",
|
|
14894
|
+
"properties": {
|
|
14895
|
+
"connection_id": {
|
|
14896
|
+
"type": "string",
|
|
14897
|
+
"format": "uuid"
|
|
14898
|
+
},
|
|
14899
|
+
"app_name": {
|
|
14900
|
+
"type": "string"
|
|
13431
14901
|
},
|
|
13432
|
-
"
|
|
13433
|
-
"type": "string"
|
|
13434
|
-
"format": "uri"
|
|
14902
|
+
"app_slug": {
|
|
14903
|
+
"type": "string"
|
|
13435
14904
|
},
|
|
13436
|
-
"
|
|
13437
|
-
"type": "string"
|
|
13438
|
-
"description": "Expected audience claim for OIDC token validation"
|
|
14905
|
+
"status": {
|
|
14906
|
+
"type": "string"
|
|
13439
14907
|
},
|
|
13440
|
-
"
|
|
14908
|
+
"vault_ids": {
|
|
13441
14909
|
"type": "array",
|
|
13442
14910
|
"items": {
|
|
13443
14911
|
"type": "string",
|
|
13444
|
-
"format": "
|
|
14912
|
+
"format": "uuid"
|
|
13445
14913
|
}
|
|
13446
14914
|
},
|
|
13447
|
-
"
|
|
13448
|
-
"type": "
|
|
13449
|
-
"
|
|
13450
|
-
"
|
|
13451
|
-
"
|
|
13452
|
-
|
|
13453
|
-
],
|
|
13454
|
-
"default": "platform_pays"
|
|
13455
|
-
},
|
|
13456
|
-
"auth_mode": {
|
|
13457
|
-
"type": "string",
|
|
13458
|
-
"enum": [
|
|
13459
|
-
"silent",
|
|
13460
|
-
"user_signin",
|
|
13461
|
-
"configurable"
|
|
13462
|
-
],
|
|
13463
|
-
"default": "silent"
|
|
13464
|
-
},
|
|
13465
|
-
"max_connected_users": {
|
|
13466
|
-
"type": "integer",
|
|
13467
|
-
"nullable": true
|
|
14915
|
+
"agent_ids": {
|
|
14916
|
+
"type": "array",
|
|
14917
|
+
"items": {
|
|
14918
|
+
"type": "string",
|
|
14919
|
+
"format": "uuid"
|
|
14920
|
+
}
|
|
13468
14921
|
},
|
|
13469
|
-
"
|
|
14922
|
+
"created_at": {
|
|
13470
14923
|
"type": "string",
|
|
13471
|
-
"format": "date-time"
|
|
13472
|
-
"nullable": true,
|
|
13473
|
-
"description": "Optional expiration time for the platform API key."
|
|
14924
|
+
"format": "date-time"
|
|
13474
14925
|
}
|
|
13475
14926
|
}
|
|
13476
14927
|
},
|
|
13477
|
-
"
|
|
14928
|
+
"ClaimPreviewResponse": {
|
|
13478
14929
|
"type": "object",
|
|
13479
14930
|
"properties": {
|
|
13480
|
-
"
|
|
13481
|
-
"type": "string"
|
|
13482
|
-
},
|
|
13483
|
-
"description": {
|
|
14931
|
+
"app_name": {
|
|
13484
14932
|
"type": "string"
|
|
13485
14933
|
},
|
|
13486
|
-
"
|
|
14934
|
+
"app_slug": {
|
|
13487
14935
|
"type": "string"
|
|
13488
14936
|
},
|
|
13489
|
-
"
|
|
13490
|
-
"type": "string"
|
|
14937
|
+
"app_logo_url": {
|
|
14938
|
+
"type": "string",
|
|
14939
|
+
"nullable": true
|
|
13491
14940
|
},
|
|
13492
|
-
"
|
|
14941
|
+
"auth_mode": {
|
|
13493
14942
|
"type": "string"
|
|
13494
14943
|
},
|
|
13495
|
-
"
|
|
13496
|
-
"type": "string",
|
|
13497
|
-
"description": "Expected audience claim for OIDC token validation"
|
|
13498
|
-
},
|
|
13499
|
-
"redirect_uris": {
|
|
14944
|
+
"vault_ids": {
|
|
13500
14945
|
"type": "array",
|
|
13501
14946
|
"items": {
|
|
13502
|
-
"type": "string"
|
|
14947
|
+
"type": "string",
|
|
14948
|
+
"format": "uuid"
|
|
13503
14949
|
}
|
|
13504
14950
|
},
|
|
13505
|
-
"
|
|
13506
|
-
"type": "
|
|
14951
|
+
"agent_ids": {
|
|
14952
|
+
"type": "array",
|
|
14953
|
+
"items": {
|
|
14954
|
+
"type": "string",
|
|
14955
|
+
"format": "uuid"
|
|
14956
|
+
}
|
|
13507
14957
|
},
|
|
13508
|
-
"
|
|
13509
|
-
"type": "
|
|
13510
|
-
"enum": [
|
|
13511
|
-
"platform_pays",
|
|
13512
|
-
"user_pays",
|
|
13513
|
-
"hybrid"
|
|
13514
|
-
]
|
|
14958
|
+
"policy_count": {
|
|
14959
|
+
"type": "integer"
|
|
13515
14960
|
},
|
|
13516
|
-
"
|
|
13517
|
-
"type": "string"
|
|
13518
|
-
"enum": [
|
|
13519
|
-
"silent",
|
|
13520
|
-
"user_signin",
|
|
13521
|
-
"configurable"
|
|
13522
|
-
]
|
|
14961
|
+
"status": {
|
|
14962
|
+
"type": "string"
|
|
13523
14963
|
},
|
|
13524
|
-
"
|
|
13525
|
-
"type": "
|
|
13526
|
-
"nullable": true
|
|
14964
|
+
"already_claimed": {
|
|
14965
|
+
"type": "boolean"
|
|
13527
14966
|
},
|
|
13528
|
-
"
|
|
14967
|
+
"expired": {
|
|
13529
14968
|
"type": "boolean"
|
|
13530
14969
|
},
|
|
13531
|
-
"
|
|
14970
|
+
"return_to": {
|
|
13532
14971
|
"type": "string",
|
|
13533
|
-
"
|
|
13534
|
-
"nullable": true,
|
|
13535
|
-
"description": "Optional expiration time for the platform API key. Set to null to clear."
|
|
14972
|
+
"nullable": true
|
|
13536
14973
|
}
|
|
13537
14974
|
}
|
|
13538
14975
|
},
|
|
13539
|
-
"
|
|
14976
|
+
"ClaimRedeemResponse": {
|
|
13540
14977
|
"type": "object",
|
|
13541
14978
|
"properties": {
|
|
13542
|
-
"
|
|
13543
|
-
"type": "string",
|
|
13544
|
-
"format": "uuid"
|
|
13545
|
-
},
|
|
13546
|
-
"name": {
|
|
13547
|
-
"type": "string"
|
|
13548
|
-
},
|
|
13549
|
-
"slug": {
|
|
13550
|
-
"type": "string"
|
|
13551
|
-
},
|
|
13552
|
-
"description": {
|
|
13553
|
-
"type": "string"
|
|
13554
|
-
},
|
|
13555
|
-
"logo_url": {
|
|
13556
|
-
"type": "string",
|
|
13557
|
-
"nullable": true
|
|
13558
|
-
},
|
|
13559
|
-
"api_key_prefix": {
|
|
14979
|
+
"status": {
|
|
13560
14980
|
"type": "string"
|
|
13561
14981
|
},
|
|
13562
|
-
"
|
|
13563
|
-
"type": "string",
|
|
13564
|
-
"nullable": true
|
|
13565
|
-
},
|
|
13566
|
-
"oidc_issuer": {
|
|
14982
|
+
"connection_id": {
|
|
13567
14983
|
"type": "string",
|
|
13568
|
-
"
|
|
14984
|
+
"format": "uuid"
|
|
13569
14985
|
},
|
|
13570
|
-
"
|
|
13571
|
-
"type": "
|
|
13572
|
-
"
|
|
13573
|
-
|
|
14986
|
+
"vault_ids": {
|
|
14987
|
+
"type": "array",
|
|
14988
|
+
"items": {
|
|
14989
|
+
"type": "string",
|
|
14990
|
+
"format": "uuid"
|
|
14991
|
+
}
|
|
13574
14992
|
},
|
|
13575
|
-
"
|
|
14993
|
+
"agent_ids": {
|
|
13576
14994
|
"type": "array",
|
|
13577
14995
|
"items": {
|
|
13578
|
-
"type": "string"
|
|
14996
|
+
"type": "string",
|
|
14997
|
+
"format": "uuid"
|
|
13579
14998
|
}
|
|
13580
14999
|
},
|
|
13581
|
-
"
|
|
15000
|
+
"return_to": {
|
|
13582
15001
|
"type": "string",
|
|
13583
15002
|
"nullable": true
|
|
13584
15003
|
},
|
|
13585
|
-
"
|
|
13586
|
-
"type": "boolean"
|
|
13587
|
-
},
|
|
13588
|
-
"billing_model": {
|
|
13589
|
-
"type": "string"
|
|
13590
|
-
},
|
|
13591
|
-
"auth_mode": {
|
|
15004
|
+
"dashboard_url": {
|
|
13592
15005
|
"type": "string"
|
|
13593
|
-
}
|
|
13594
|
-
|
|
13595
|
-
|
|
13596
|
-
|
|
13597
|
-
|
|
13598
|
-
|
|
13599
|
-
|
|
13600
|
-
|
|
13601
|
-
"
|
|
15006
|
+
}
|
|
15007
|
+
}
|
|
15008
|
+
},
|
|
15009
|
+
"RegisterDeviceRequest": {
|
|
15010
|
+
"type": "object",
|
|
15011
|
+
"required": [
|
|
15012
|
+
"name",
|
|
15013
|
+
"platform",
|
|
15014
|
+
"public_key_pem"
|
|
15015
|
+
],
|
|
15016
|
+
"properties": {
|
|
15017
|
+
"name": {
|
|
13602
15018
|
"type": "string",
|
|
13603
|
-
"
|
|
13604
|
-
"
|
|
13605
|
-
"description": "When the platform API key expires."
|
|
15019
|
+
"description": "Human-readable device name (e.g. \"Kevin's iPhone\")",
|
|
15020
|
+
"example": "My iPhone"
|
|
13606
15021
|
},
|
|
13607
|
-
"
|
|
15022
|
+
"platform": {
|
|
13608
15023
|
"type": "string",
|
|
13609
|
-
"
|
|
13610
|
-
|
|
13611
|
-
|
|
15024
|
+
"enum": [
|
|
15025
|
+
"ios",
|
|
15026
|
+
"android"
|
|
15027
|
+
]
|
|
13612
15028
|
},
|
|
13613
|
-
"
|
|
15029
|
+
"public_key_pem": {
|
|
13614
15030
|
"type": "string",
|
|
13615
|
-
"
|
|
15031
|
+
"description": "PEM-encoded public key for step-up challenge signing"
|
|
13616
15032
|
},
|
|
13617
|
-
"
|
|
15033
|
+
"attestation_blob": {
|
|
13618
15034
|
"type": "string",
|
|
13619
|
-
"
|
|
15035
|
+
"description": "Optional platform attestation (Apple DeviceCheck / Android SafetyNet)"
|
|
13620
15036
|
}
|
|
13621
15037
|
}
|
|
13622
15038
|
},
|
|
13623
|
-
"
|
|
13624
|
-
"
|
|
13625
|
-
|
|
13626
|
-
|
|
15039
|
+
"RegisterDeviceResponse": {
|
|
15040
|
+
"type": "object",
|
|
15041
|
+
"required": [
|
|
15042
|
+
"device_id",
|
|
15043
|
+
"attestation_verified"
|
|
15044
|
+
],
|
|
15045
|
+
"properties": {
|
|
15046
|
+
"device_id": {
|
|
15047
|
+
"type": "string",
|
|
15048
|
+
"format": "uuid"
|
|
13627
15049
|
},
|
|
13628
|
-
{
|
|
13629
|
-
"type": "
|
|
13630
|
-
"required": [
|
|
13631
|
-
"api_key"
|
|
13632
|
-
],
|
|
13633
|
-
"properties": {
|
|
13634
|
-
"api_key": {
|
|
13635
|
-
"type": "string",
|
|
13636
|
-
"description": "The platform API key. Save immediately - it cannot be retrieved again."
|
|
13637
|
-
}
|
|
13638
|
-
}
|
|
15050
|
+
"attestation_verified": {
|
|
15051
|
+
"type": "boolean"
|
|
13639
15052
|
}
|
|
13640
|
-
|
|
15053
|
+
}
|
|
13641
15054
|
},
|
|
13642
|
-
"
|
|
15055
|
+
"DeviceListResponse": {
|
|
13643
15056
|
"type": "object",
|
|
13644
15057
|
"required": [
|
|
13645
|
-
"
|
|
13646
|
-
"spec"
|
|
15058
|
+
"devices"
|
|
13647
15059
|
],
|
|
13648
15060
|
"properties": {
|
|
13649
|
-
"
|
|
13650
|
-
"type": "
|
|
13651
|
-
|
|
13652
|
-
|
|
13653
|
-
|
|
13654
|
-
},
|
|
13655
|
-
"spec": {
|
|
13656
|
-
"type": "object",
|
|
13657
|
-
"description": "Template specification defining vault, agents, policies, and signing keys to bootstrap.\nTop-level fields: `vault` (object with name, description), `agents` (array of agent specs\nwith name, description, shroud_enabled, intents, shroud_config), `policies` (array with\nvault_ref, principal_ref, paths, permissions, conditions), and `signing_keys` (array of\n`{ chain }` objects — supported chains: ethereum, bitcoin, solana, xrp, cardano, tron).\nWhen `signing_keys` is present, HSM-backed signing keys are auto-provisioned for the\nbootstrapped agent.\n"
|
|
15061
|
+
"devices": {
|
|
15062
|
+
"type": "array",
|
|
15063
|
+
"items": {
|
|
15064
|
+
"$ref": "#/components/schemas/DeviceResponse"
|
|
15065
|
+
}
|
|
13658
15066
|
}
|
|
13659
15067
|
}
|
|
13660
15068
|
},
|
|
13661
|
-
"
|
|
15069
|
+
"DeviceResponse": {
|
|
13662
15070
|
"type": "object",
|
|
15071
|
+
"required": [
|
|
15072
|
+
"id",
|
|
15073
|
+
"name",
|
|
15074
|
+
"platform",
|
|
15075
|
+
"attestation_verified",
|
|
15076
|
+
"created_at"
|
|
15077
|
+
],
|
|
13663
15078
|
"properties": {
|
|
13664
15079
|
"id": {
|
|
13665
15080
|
"type": "string",
|
|
13666
15081
|
"format": "uuid"
|
|
13667
15082
|
},
|
|
13668
|
-
"platform_app_id": {
|
|
13669
|
-
"type": "string",
|
|
13670
|
-
"format": "uuid"
|
|
13671
|
-
},
|
|
13672
15083
|
"name": {
|
|
13673
15084
|
"type": "string"
|
|
13674
15085
|
},
|
|
13675
|
-
"
|
|
15086
|
+
"platform": {
|
|
13676
15087
|
"type": "string"
|
|
13677
15088
|
},
|
|
13678
|
-
"
|
|
13679
|
-
"type": "integer"
|
|
13680
|
-
},
|
|
13681
|
-
"spec": {
|
|
13682
|
-
"type": "object"
|
|
13683
|
-
},
|
|
13684
|
-
"is_active": {
|
|
15089
|
+
"attestation_verified": {
|
|
13685
15090
|
"type": "boolean"
|
|
13686
15091
|
},
|
|
13687
|
-
"
|
|
15092
|
+
"last_used_at": {
|
|
13688
15093
|
"type": "string",
|
|
13689
|
-
"format": "date-time"
|
|
15094
|
+
"format": "date-time",
|
|
15095
|
+
"nullable": true
|
|
13690
15096
|
},
|
|
13691
|
-
"
|
|
15097
|
+
"created_at": {
|
|
13692
15098
|
"type": "string",
|
|
13693
15099
|
"format": "date-time"
|
|
13694
15100
|
}
|
|
13695
15101
|
}
|
|
13696
15102
|
},
|
|
13697
|
-
"
|
|
15103
|
+
"CreateDeviceChallengeRequest": {
|
|
13698
15104
|
"type": "object",
|
|
15105
|
+
"required": [
|
|
15106
|
+
"action",
|
|
15107
|
+
"target_id"
|
|
15108
|
+
],
|
|
13699
15109
|
"properties": {
|
|
13700
|
-
"
|
|
15110
|
+
"action": {
|
|
13701
15111
|
"type": "string",
|
|
13702
|
-
"description": "
|
|
15112
|
+
"description": "The action this challenge authorizes (e.g. \"approve_transaction\")"
|
|
13703
15113
|
},
|
|
13704
|
-
"
|
|
15114
|
+
"target_id": {
|
|
13705
15115
|
"type": "string",
|
|
13706
|
-
"
|
|
15116
|
+
"description": "ID of the resource the action targets"
|
|
15117
|
+
}
|
|
15118
|
+
}
|
|
15119
|
+
},
|
|
15120
|
+
"DeviceChallengeResponse": {
|
|
15121
|
+
"type": "object",
|
|
15122
|
+
"required": [
|
|
15123
|
+
"challenge_nonce",
|
|
15124
|
+
"expires_at",
|
|
15125
|
+
"action_bound_hash"
|
|
15126
|
+
],
|
|
15127
|
+
"properties": {
|
|
15128
|
+
"challenge_nonce": {
|
|
15129
|
+
"type": "string"
|
|
13707
15130
|
},
|
|
13708
|
-
"
|
|
15131
|
+
"expires_at": {
|
|
13709
15132
|
"type": "string",
|
|
13710
|
-
"format": "
|
|
13711
|
-
"description": "Fallback when subject_token is not provided"
|
|
15133
|
+
"format": "date-time"
|
|
13712
15134
|
},
|
|
13713
|
-
"
|
|
13714
|
-
"type": "string"
|
|
15135
|
+
"action_bound_hash": {
|
|
15136
|
+
"type": "string",
|
|
15137
|
+
"description": "SHA-256 binding the challenge to the requested action and target"
|
|
13715
15138
|
}
|
|
13716
15139
|
}
|
|
13717
15140
|
},
|
|
13718
|
-
"
|
|
15141
|
+
"AttestDeviceChallengeRequest": {
|
|
13719
15142
|
"type": "object",
|
|
15143
|
+
"required": [
|
|
15144
|
+
"challenge_nonce",
|
|
15145
|
+
"signature"
|
|
15146
|
+
],
|
|
13720
15147
|
"properties": {
|
|
13721
|
-
"
|
|
13722
|
-
"type": "string"
|
|
13723
|
-
"format": "uuid"
|
|
13724
|
-
},
|
|
13725
|
-
"is_new": {
|
|
13726
|
-
"type": "boolean"
|
|
15148
|
+
"challenge_nonce": {
|
|
15149
|
+
"type": "string"
|
|
13727
15150
|
},
|
|
13728
|
-
"
|
|
15151
|
+
"signature": {
|
|
13729
15152
|
"type": "string",
|
|
13730
|
-
"
|
|
13731
|
-
},
|
|
13732
|
-
"email": {
|
|
13733
|
-
"type": "string"
|
|
15153
|
+
"description": "Signature over the challenge nonce using the device's private key"
|
|
13734
15154
|
}
|
|
13735
15155
|
}
|
|
13736
15156
|
},
|
|
13737
|
-
"
|
|
15157
|
+
"AttestDeviceChallengeResponse": {
|
|
13738
15158
|
"type": "object",
|
|
15159
|
+
"required": [
|
|
15160
|
+
"step_up_token",
|
|
15161
|
+
"expires_at"
|
|
15162
|
+
],
|
|
13739
15163
|
"properties": {
|
|
13740
|
-
"
|
|
13741
|
-
"type": "string",
|
|
13742
|
-
"format": "uuid"
|
|
13743
|
-
},
|
|
13744
|
-
"user_id": {
|
|
15164
|
+
"step_up_token": {
|
|
13745
15165
|
"type": "string",
|
|
13746
|
-
"
|
|
13747
|
-
},
|
|
13748
|
-
"external_subject": {
|
|
13749
|
-
"type": "string"
|
|
13750
|
-
},
|
|
13751
|
-
"status": {
|
|
13752
|
-
"type": "string"
|
|
13753
|
-
},
|
|
13754
|
-
"vault_ids": {
|
|
13755
|
-
"type": "array",
|
|
13756
|
-
"items": {
|
|
13757
|
-
"type": "string",
|
|
13758
|
-
"format": "uuid"
|
|
13759
|
-
}
|
|
13760
|
-
},
|
|
13761
|
-
"agent_ids": {
|
|
13762
|
-
"type": "array",
|
|
13763
|
-
"items": {
|
|
13764
|
-
"type": "string",
|
|
13765
|
-
"format": "uuid"
|
|
13766
|
-
}
|
|
15166
|
+
"description": "Short-lived token authorizing the bound action"
|
|
13767
15167
|
},
|
|
13768
|
-
"
|
|
15168
|
+
"expires_at": {
|
|
13769
15169
|
"type": "string",
|
|
13770
15170
|
"format": "date-time"
|
|
13771
|
-
},
|
|
13772
|
-
"claimed_at": {
|
|
13773
|
-
"type": "string",
|
|
13774
|
-
"format": "date-time",
|
|
13775
|
-
"nullable": true
|
|
13776
15171
|
}
|
|
13777
15172
|
}
|
|
13778
15173
|
},
|
|
13779
|
-
"
|
|
15174
|
+
"RegisterPushTokenRequest": {
|
|
13780
15175
|
"type": "object",
|
|
15176
|
+
"required": [
|
|
15177
|
+
"token",
|
|
15178
|
+
"platform"
|
|
15179
|
+
],
|
|
13781
15180
|
"properties": {
|
|
13782
|
-
"
|
|
15181
|
+
"token": {
|
|
13783
15182
|
"type": "string",
|
|
13784
|
-
"
|
|
13785
|
-
"description": "Template to use. Falls back to the app's default template."
|
|
15183
|
+
"description": "Push notification token from APNs or FCM"
|
|
13786
15184
|
},
|
|
13787
|
-
"
|
|
15185
|
+
"platform": {
|
|
13788
15186
|
"type": "string",
|
|
13789
|
-
"
|
|
13790
|
-
|
|
15187
|
+
"enum": [
|
|
15188
|
+
"apns",
|
|
15189
|
+
"fcm"
|
|
15190
|
+
]
|
|
13791
15191
|
}
|
|
13792
15192
|
}
|
|
13793
15193
|
},
|
|
13794
|
-
"
|
|
15194
|
+
"DecideApprovalRequest": {
|
|
13795
15195
|
"type": "object",
|
|
15196
|
+
"required": [
|
|
15197
|
+
"decision"
|
|
15198
|
+
],
|
|
13796
15199
|
"properties": {
|
|
13797
|
-
"
|
|
15200
|
+
"decision": {
|
|
13798
15201
|
"type": "string",
|
|
13799
|
-
"
|
|
13800
|
-
|
|
13801
|
-
|
|
13802
|
-
|
|
13803
|
-
},
|
|
13804
|
-
"expires_in": {
|
|
13805
|
-
"type": "integer",
|
|
13806
|
-
"description": "Seconds until the claim token expires"
|
|
15202
|
+
"enum": [
|
|
15203
|
+
"approve",
|
|
15204
|
+
"reject"
|
|
15205
|
+
]
|
|
13807
15206
|
},
|
|
13808
|
-
"
|
|
15207
|
+
"reason": {
|
|
13809
15208
|
"type": "string",
|
|
13810
|
-
"
|
|
13811
|
-
},
|
|
13812
|
-
"summary": {
|
|
13813
|
-
"type": "object",
|
|
13814
|
-
"properties": {
|
|
13815
|
-
"vault_id": {
|
|
13816
|
-
"type": "string",
|
|
13817
|
-
"format": "uuid",
|
|
13818
|
-
"nullable": true
|
|
13819
|
-
},
|
|
13820
|
-
"agent_id": {
|
|
13821
|
-
"type": "string",
|
|
13822
|
-
"format": "uuid",
|
|
13823
|
-
"nullable": true
|
|
13824
|
-
},
|
|
13825
|
-
"policy_ids": {
|
|
13826
|
-
"type": "array",
|
|
13827
|
-
"items": {
|
|
13828
|
-
"type": "string",
|
|
13829
|
-
"format": "uuid"
|
|
13830
|
-
}
|
|
13831
|
-
},
|
|
13832
|
-
"signing_key_chains": {
|
|
13833
|
-
"type": "array",
|
|
13834
|
-
"items": {
|
|
13835
|
-
"type": "string"
|
|
13836
|
-
},
|
|
13837
|
-
"description": "Chains with provisioned signing keys"
|
|
13838
|
-
},
|
|
13839
|
-
"agent_api_key": {
|
|
13840
|
-
"type": "string",
|
|
13841
|
-
"nullable": true,
|
|
13842
|
-
"description": "One-time agent API key (ocv_ prefix). Store securely — not retrievable later."
|
|
13843
|
-
},
|
|
13844
|
-
"signing_keys": {
|
|
13845
|
-
"type": "array",
|
|
13846
|
-
"description": "Provisioned signing key details (chain, address, public key)",
|
|
13847
|
-
"items": {
|
|
13848
|
-
"type": "object",
|
|
13849
|
-
"properties": {
|
|
13850
|
-
"chain": {
|
|
13851
|
-
"type": "string"
|
|
13852
|
-
},
|
|
13853
|
-
"curve": {
|
|
13854
|
-
"type": "string"
|
|
13855
|
-
},
|
|
13856
|
-
"public_key": {
|
|
13857
|
-
"type": "string"
|
|
13858
|
-
},
|
|
13859
|
-
"address": {
|
|
13860
|
-
"type": "string"
|
|
13861
|
-
}
|
|
13862
|
-
}
|
|
13863
|
-
}
|
|
13864
|
-
}
|
|
13865
|
-
}
|
|
15209
|
+
"description": "Optional human-readable reason for the decision"
|
|
13866
15210
|
}
|
|
13867
15211
|
}
|
|
13868
15212
|
},
|
|
13869
|
-
"
|
|
15213
|
+
"ApprovalResponse": {
|
|
13870
15214
|
"type": "object",
|
|
15215
|
+
"required": [
|
|
15216
|
+
"id",
|
|
15217
|
+
"org_id",
|
|
15218
|
+
"user_id",
|
|
15219
|
+
"action",
|
|
15220
|
+
"target_type",
|
|
15221
|
+
"target_id",
|
|
15222
|
+
"risk_tier",
|
|
15223
|
+
"status",
|
|
15224
|
+
"summary",
|
|
15225
|
+
"created_at"
|
|
15226
|
+
],
|
|
13871
15227
|
"properties": {
|
|
13872
|
-
"
|
|
15228
|
+
"id": {
|
|
15229
|
+
"type": "string",
|
|
15230
|
+
"format": "uuid"
|
|
15231
|
+
},
|
|
15232
|
+
"org_id": {
|
|
15233
|
+
"type": "string",
|
|
15234
|
+
"format": "uuid"
|
|
15235
|
+
},
|
|
15236
|
+
"user_id": {
|
|
13873
15237
|
"type": "string",
|
|
13874
15238
|
"format": "uuid"
|
|
13875
15239
|
},
|
|
13876
|
-
"
|
|
15240
|
+
"agent_id": {
|
|
15241
|
+
"type": "string",
|
|
15242
|
+
"format": "uuid",
|
|
15243
|
+
"nullable": true
|
|
15244
|
+
},
|
|
15245
|
+
"action": {
|
|
13877
15246
|
"type": "string"
|
|
13878
15247
|
},
|
|
13879
|
-
"
|
|
15248
|
+
"target_type": {
|
|
13880
15249
|
"type": "string"
|
|
13881
15250
|
},
|
|
13882
|
-
"
|
|
15251
|
+
"target_id": {
|
|
13883
15252
|
"type": "string"
|
|
13884
15253
|
},
|
|
13885
|
-
"
|
|
13886
|
-
"type": "
|
|
13887
|
-
"
|
|
13888
|
-
|
|
13889
|
-
"format": "uuid"
|
|
13890
|
-
}
|
|
15254
|
+
"risk_tier": {
|
|
15255
|
+
"type": "integer",
|
|
15256
|
+
"minimum": 1,
|
|
15257
|
+
"maximum": 3
|
|
13891
15258
|
},
|
|
13892
|
-
"
|
|
13893
|
-
"type": "
|
|
13894
|
-
"
|
|
13895
|
-
"
|
|
13896
|
-
"
|
|
13897
|
-
|
|
15259
|
+
"status": {
|
|
15260
|
+
"type": "string",
|
|
15261
|
+
"enum": [
|
|
15262
|
+
"pending",
|
|
15263
|
+
"approved",
|
|
15264
|
+
"rejected",
|
|
15265
|
+
"expired"
|
|
15266
|
+
]
|
|
15267
|
+
},
|
|
15268
|
+
"summary": {
|
|
15269
|
+
"type": "object",
|
|
15270
|
+
"description": "Structured summary of the action requiring approval"
|
|
15271
|
+
},
|
|
15272
|
+
"reason": {
|
|
15273
|
+
"type": "string",
|
|
15274
|
+
"nullable": true
|
|
15275
|
+
},
|
|
15276
|
+
"decision_reason": {
|
|
15277
|
+
"type": "string",
|
|
15278
|
+
"nullable": true
|
|
15279
|
+
},
|
|
15280
|
+
"decided_by": {
|
|
15281
|
+
"type": "string",
|
|
15282
|
+
"format": "uuid",
|
|
15283
|
+
"nullable": true
|
|
15284
|
+
},
|
|
15285
|
+
"decided_at": {
|
|
15286
|
+
"type": "string",
|
|
15287
|
+
"format": "date-time",
|
|
15288
|
+
"nullable": true
|
|
15289
|
+
},
|
|
15290
|
+
"expires_at": {
|
|
15291
|
+
"type": "string",
|
|
15292
|
+
"format": "date-time",
|
|
15293
|
+
"nullable": true
|
|
13898
15294
|
},
|
|
13899
15295
|
"created_at": {
|
|
13900
15296
|
"type": "string",
|
|
@@ -13902,8 +15298,51 @@
|
|
|
13902
15298
|
}
|
|
13903
15299
|
}
|
|
13904
15300
|
},
|
|
13905
|
-
"
|
|
15301
|
+
"EmailOtpVerifyResponse": {
|
|
15302
|
+
"type": "object",
|
|
15303
|
+
"required": [
|
|
15304
|
+
"token",
|
|
15305
|
+
"user_id",
|
|
15306
|
+
"org_id",
|
|
15307
|
+
"is_new_user",
|
|
15308
|
+
"email"
|
|
15309
|
+
],
|
|
15310
|
+
"properties": {
|
|
15311
|
+
"token": {
|
|
15312
|
+
"type": "string",
|
|
15313
|
+
"description": "JWT access token"
|
|
15314
|
+
},
|
|
15315
|
+
"user_id": {
|
|
15316
|
+
"type": "string",
|
|
15317
|
+
"format": "uuid"
|
|
15318
|
+
},
|
|
15319
|
+
"org_id": {
|
|
15320
|
+
"type": "string",
|
|
15321
|
+
"format": "uuid"
|
|
15322
|
+
},
|
|
15323
|
+
"is_new_user": {
|
|
15324
|
+
"type": "boolean"
|
|
15325
|
+
},
|
|
15326
|
+
"email": {
|
|
15327
|
+
"type": "string",
|
|
15328
|
+
"format": "email"
|
|
15329
|
+
},
|
|
15330
|
+
"wallet_address": {
|
|
15331
|
+
"type": "string",
|
|
15332
|
+
"nullable": true,
|
|
15333
|
+
"description": "Ethereum address if auto_provision_chains included an EVM chain"
|
|
15334
|
+
}
|
|
15335
|
+
}
|
|
15336
|
+
},
|
|
15337
|
+
"OAuthConsentResponse": {
|
|
13906
15338
|
"type": "object",
|
|
15339
|
+
"required": [
|
|
15340
|
+
"app_name",
|
|
15341
|
+
"app_slug",
|
|
15342
|
+
"scopes",
|
|
15343
|
+
"redirect_uri",
|
|
15344
|
+
"already_consented"
|
|
15345
|
+
],
|
|
13907
15346
|
"properties": {
|
|
13908
15347
|
"app_name": {
|
|
13909
15348
|
"type": "string"
|
|
@@ -13913,143 +15352,204 @@
|
|
|
13913
15352
|
},
|
|
13914
15353
|
"app_logo_url": {
|
|
13915
15354
|
"type": "string",
|
|
15355
|
+
"format": "uri",
|
|
13916
15356
|
"nullable": true
|
|
13917
15357
|
},
|
|
13918
|
-
"
|
|
13919
|
-
"type": "string"
|
|
13920
|
-
},
|
|
13921
|
-
"vault_ids": {
|
|
13922
|
-
"type": "array",
|
|
13923
|
-
"items": {
|
|
13924
|
-
"type": "string",
|
|
13925
|
-
"format": "uuid"
|
|
13926
|
-
}
|
|
13927
|
-
},
|
|
13928
|
-
"agent_ids": {
|
|
15358
|
+
"scopes": {
|
|
13929
15359
|
"type": "array",
|
|
13930
15360
|
"items": {
|
|
13931
|
-
"type": "string"
|
|
13932
|
-
"format": "uuid"
|
|
15361
|
+
"type": "string"
|
|
13933
15362
|
}
|
|
13934
15363
|
},
|
|
13935
|
-
"
|
|
13936
|
-
"type": "
|
|
13937
|
-
|
|
13938
|
-
"status": {
|
|
13939
|
-
"type": "string"
|
|
13940
|
-
},
|
|
13941
|
-
"already_claimed": {
|
|
13942
|
-
"type": "boolean"
|
|
15364
|
+
"redirect_uri": {
|
|
15365
|
+
"type": "string",
|
|
15366
|
+
"format": "uri"
|
|
13943
15367
|
},
|
|
13944
|
-
"
|
|
15368
|
+
"already_consented": {
|
|
13945
15369
|
"type": "boolean"
|
|
13946
|
-
},
|
|
13947
|
-
"return_to": {
|
|
13948
|
-
"type": "string",
|
|
13949
|
-
"nullable": true
|
|
13950
15370
|
}
|
|
13951
15371
|
}
|
|
13952
15372
|
},
|
|
13953
|
-
"
|
|
15373
|
+
"OAuthTokenResponse": {
|
|
13954
15374
|
"type": "object",
|
|
15375
|
+
"required": [
|
|
15376
|
+
"access_token",
|
|
15377
|
+
"token_type",
|
|
15378
|
+
"expires_in",
|
|
15379
|
+
"scope"
|
|
15380
|
+
],
|
|
13955
15381
|
"properties": {
|
|
13956
|
-
"
|
|
15382
|
+
"access_token": {
|
|
13957
15383
|
"type": "string"
|
|
13958
15384
|
},
|
|
13959
|
-
"
|
|
15385
|
+
"token_type": {
|
|
13960
15386
|
"type": "string",
|
|
13961
|
-
"
|
|
13962
|
-
|
|
13963
|
-
|
|
13964
|
-
"type": "array",
|
|
13965
|
-
"items": {
|
|
13966
|
-
"type": "string",
|
|
13967
|
-
"format": "uuid"
|
|
13968
|
-
}
|
|
15387
|
+
"enum": [
|
|
15388
|
+
"Bearer"
|
|
15389
|
+
]
|
|
13969
15390
|
},
|
|
13970
|
-
"
|
|
13971
|
-
"type": "
|
|
13972
|
-
"
|
|
13973
|
-
"type": "string",
|
|
13974
|
-
"format": "uuid"
|
|
13975
|
-
}
|
|
15391
|
+
"expires_in": {
|
|
15392
|
+
"type": "integer",
|
|
15393
|
+
"description": "Token lifetime in seconds"
|
|
13976
15394
|
},
|
|
13977
|
-
"
|
|
15395
|
+
"id_token": {
|
|
13978
15396
|
"type": "string",
|
|
13979
|
-
"nullable": true
|
|
15397
|
+
"nullable": true,
|
|
15398
|
+
"description": "OIDC ID token (when openid scope was granted)"
|
|
13980
15399
|
},
|
|
13981
|
-
"
|
|
15400
|
+
"scope": {
|
|
13982
15401
|
"type": "string"
|
|
13983
15402
|
}
|
|
13984
15403
|
}
|
|
13985
15404
|
},
|
|
13986
|
-
"
|
|
15405
|
+
"OAuthUserInfoResponse": {
|
|
13987
15406
|
"type": "object",
|
|
13988
15407
|
"required": [
|
|
13989
|
-
"
|
|
13990
|
-
"
|
|
13991
|
-
"public_key_pem"
|
|
15408
|
+
"sub",
|
|
15409
|
+
"email"
|
|
13992
15410
|
],
|
|
13993
15411
|
"properties": {
|
|
13994
|
-
"
|
|
15412
|
+
"sub": {
|
|
13995
15413
|
"type": "string",
|
|
13996
|
-
"
|
|
13997
|
-
"example": "My iPhone"
|
|
15414
|
+
"format": "uuid"
|
|
13998
15415
|
},
|
|
13999
|
-
"
|
|
15416
|
+
"email": {
|
|
14000
15417
|
"type": "string",
|
|
14001
|
-
"
|
|
14002
|
-
"ios",
|
|
14003
|
-
"android"
|
|
14004
|
-
]
|
|
15418
|
+
"format": "email"
|
|
14005
15419
|
},
|
|
14006
|
-
"
|
|
15420
|
+
"name": {
|
|
14007
15421
|
"type": "string",
|
|
14008
|
-
"
|
|
15422
|
+
"nullable": true
|
|
14009
15423
|
},
|
|
14010
|
-
"
|
|
15424
|
+
"wallet_address": {
|
|
14011
15425
|
"type": "string",
|
|
14012
|
-
"
|
|
15426
|
+
"nullable": true
|
|
14013
15427
|
}
|
|
14014
15428
|
}
|
|
14015
15429
|
},
|
|
14016
|
-
"
|
|
15430
|
+
"CreateSpendPolicyRequest": {
|
|
14017
15431
|
"type": "object",
|
|
14018
|
-
"required": [
|
|
14019
|
-
"device_id",
|
|
14020
|
-
"attestation_verified"
|
|
14021
|
-
],
|
|
14022
15432
|
"properties": {
|
|
14023
|
-
"
|
|
15433
|
+
"user_id": {
|
|
14024
15434
|
"type": "string",
|
|
14025
|
-
"format": "uuid"
|
|
15435
|
+
"format": "uuid",
|
|
15436
|
+
"description": "Scope to a specific user (app-level policies only)"
|
|
14026
15437
|
},
|
|
14027
|
-
"
|
|
14028
|
-
"type": "
|
|
15438
|
+
"to_allowlist": {
|
|
15439
|
+
"type": "array",
|
|
15440
|
+
"items": {
|
|
15441
|
+
"type": "string"
|
|
15442
|
+
},
|
|
15443
|
+
"description": "Permitted destination addresses (empty = unrestricted)"
|
|
15444
|
+
},
|
|
15445
|
+
"to_denylist": {
|
|
15446
|
+
"type": "array",
|
|
15447
|
+
"items": {
|
|
15448
|
+
"type": "string"
|
|
15449
|
+
},
|
|
15450
|
+
"description": "Blocked destination addresses"
|
|
15451
|
+
},
|
|
15452
|
+
"max_value_per_tx_eth": {
|
|
15453
|
+
"type": "string",
|
|
15454
|
+
"description": "Maximum value per transaction in ETH (decimal string)"
|
|
15455
|
+
},
|
|
15456
|
+
"daily_limit_eth": {
|
|
15457
|
+
"type": "string",
|
|
15458
|
+
"description": "Rolling 24h spend cap in ETH (decimal string)"
|
|
15459
|
+
},
|
|
15460
|
+
"allowed_chains": {
|
|
15461
|
+
"type": "array",
|
|
15462
|
+
"items": {
|
|
15463
|
+
"type": "string"
|
|
15464
|
+
},
|
|
15465
|
+
"description": "Chains the user may transact on (empty = all enabled)"
|
|
15466
|
+
},
|
|
15467
|
+
"allowed_tokens": {
|
|
15468
|
+
"type": "array",
|
|
15469
|
+
"items": {
|
|
15470
|
+
"type": "string"
|
|
15471
|
+
},
|
|
15472
|
+
"description": "Permitted ERC-20 token contract addresses"
|
|
15473
|
+
},
|
|
15474
|
+
"max_transactions_per_day": {
|
|
15475
|
+
"type": "integer",
|
|
15476
|
+
"description": "Maximum number of transactions per 24h window"
|
|
14029
15477
|
}
|
|
14030
15478
|
}
|
|
14031
15479
|
},
|
|
14032
|
-
"
|
|
15480
|
+
"SpendPolicyResponse": {
|
|
14033
15481
|
"type": "object",
|
|
14034
15482
|
"required": [
|
|
14035
|
-
"
|
|
15483
|
+
"id",
|
|
15484
|
+
"platform_app_id",
|
|
15485
|
+
"created_at"
|
|
14036
15486
|
],
|
|
14037
15487
|
"properties": {
|
|
14038
|
-
"
|
|
15488
|
+
"id": {
|
|
15489
|
+
"type": "string",
|
|
15490
|
+
"format": "uuid"
|
|
15491
|
+
},
|
|
15492
|
+
"platform_app_id": {
|
|
15493
|
+
"type": "string",
|
|
15494
|
+
"format": "uuid"
|
|
15495
|
+
},
|
|
15496
|
+
"user_id": {
|
|
15497
|
+
"type": "string",
|
|
15498
|
+
"format": "uuid",
|
|
15499
|
+
"nullable": true
|
|
15500
|
+
},
|
|
15501
|
+
"to_allowlist": {
|
|
14039
15502
|
"type": "array",
|
|
14040
15503
|
"items": {
|
|
14041
|
-
"
|
|
15504
|
+
"type": "string"
|
|
15505
|
+
}
|
|
15506
|
+
},
|
|
15507
|
+
"to_denylist": {
|
|
15508
|
+
"type": "array",
|
|
15509
|
+
"items": {
|
|
15510
|
+
"type": "string"
|
|
15511
|
+
}
|
|
15512
|
+
},
|
|
15513
|
+
"max_value_per_tx_eth": {
|
|
15514
|
+
"type": "string",
|
|
15515
|
+
"nullable": true
|
|
15516
|
+
},
|
|
15517
|
+
"daily_limit_eth": {
|
|
15518
|
+
"type": "string",
|
|
15519
|
+
"nullable": true
|
|
15520
|
+
},
|
|
15521
|
+
"allowed_chains": {
|
|
15522
|
+
"type": "array",
|
|
15523
|
+
"items": {
|
|
15524
|
+
"type": "string"
|
|
15525
|
+
}
|
|
15526
|
+
},
|
|
15527
|
+
"allowed_tokens": {
|
|
15528
|
+
"type": "array",
|
|
15529
|
+
"items": {
|
|
15530
|
+
"type": "string"
|
|
14042
15531
|
}
|
|
15532
|
+
},
|
|
15533
|
+
"max_transactions_per_day": {
|
|
15534
|
+
"type": "integer",
|
|
15535
|
+
"nullable": true
|
|
15536
|
+
},
|
|
15537
|
+
"created_at": {
|
|
15538
|
+
"type": "string",
|
|
15539
|
+
"format": "date-time"
|
|
14043
15540
|
}
|
|
14044
15541
|
}
|
|
14045
15542
|
},
|
|
14046
|
-
"
|
|
15543
|
+
"RiskEvent": {
|
|
14047
15544
|
"type": "object",
|
|
14048
15545
|
"required": [
|
|
14049
15546
|
"id",
|
|
14050
|
-
"
|
|
14051
|
-
"
|
|
14052
|
-
"
|
|
15547
|
+
"occurred_at",
|
|
15548
|
+
"principal_type",
|
|
15549
|
+
"principal_id",
|
|
15550
|
+
"org_id",
|
|
15551
|
+
"event_type",
|
|
15552
|
+
"payload",
|
|
14053
15553
|
"created_at"
|
|
14054
15554
|
],
|
|
14055
15555
|
"properties": {
|
|
@@ -14057,221 +15557,260 @@
|
|
|
14057
15557
|
"type": "string",
|
|
14058
15558
|
"format": "uuid"
|
|
14059
15559
|
},
|
|
14060
|
-
"
|
|
14061
|
-
"type": "string"
|
|
15560
|
+
"occurred_at": {
|
|
15561
|
+
"type": "string",
|
|
15562
|
+
"format": "date-time"
|
|
14062
15563
|
},
|
|
14063
|
-
"
|
|
14064
|
-
"type": "string"
|
|
15564
|
+
"principal_type": {
|
|
15565
|
+
"type": "string",
|
|
15566
|
+
"enum": [
|
|
15567
|
+
"user",
|
|
15568
|
+
"agent"
|
|
15569
|
+
]
|
|
14065
15570
|
},
|
|
14066
|
-
"
|
|
14067
|
-
"type": "
|
|
15571
|
+
"principal_id": {
|
|
15572
|
+
"type": "string",
|
|
15573
|
+
"format": "uuid"
|
|
14068
15574
|
},
|
|
14069
|
-
"
|
|
15575
|
+
"org_id": {
|
|
15576
|
+
"type": "string",
|
|
15577
|
+
"format": "uuid"
|
|
15578
|
+
},
|
|
15579
|
+
"event_type": {
|
|
15580
|
+
"type": "string",
|
|
15581
|
+
"description": "Risk event type (e.g. first_seen, geo_velocity, honeytoken_access)"
|
|
15582
|
+
},
|
|
15583
|
+
"ip": {
|
|
15584
|
+
"type": "string",
|
|
15585
|
+
"nullable": true
|
|
15586
|
+
},
|
|
15587
|
+
"asn": {
|
|
15588
|
+
"type": "integer",
|
|
15589
|
+
"nullable": true
|
|
15590
|
+
},
|
|
15591
|
+
"asn_org": {
|
|
15592
|
+
"type": "string",
|
|
15593
|
+
"nullable": true
|
|
15594
|
+
},
|
|
15595
|
+
"country_code": {
|
|
15596
|
+
"type": "string",
|
|
15597
|
+
"nullable": true
|
|
15598
|
+
},
|
|
15599
|
+
"region": {
|
|
15600
|
+
"type": "string",
|
|
15601
|
+
"nullable": true
|
|
15602
|
+
},
|
|
15603
|
+
"city": {
|
|
15604
|
+
"type": "string",
|
|
15605
|
+
"nullable": true
|
|
15606
|
+
},
|
|
15607
|
+
"latitude": {
|
|
15608
|
+
"type": "number",
|
|
15609
|
+
"nullable": true
|
|
15610
|
+
},
|
|
15611
|
+
"longitude": {
|
|
15612
|
+
"type": "number",
|
|
15613
|
+
"nullable": true
|
|
15614
|
+
},
|
|
15615
|
+
"user_agent": {
|
|
14070
15616
|
"type": "string",
|
|
14071
|
-
"format": "date-time",
|
|
14072
15617
|
"nullable": true
|
|
14073
15618
|
},
|
|
15619
|
+
"payload": {
|
|
15620
|
+
"type": "object",
|
|
15621
|
+
"additionalProperties": true
|
|
15622
|
+
},
|
|
14074
15623
|
"created_at": {
|
|
14075
15624
|
"type": "string",
|
|
14076
15625
|
"format": "date-time"
|
|
14077
15626
|
}
|
|
14078
15627
|
}
|
|
14079
15628
|
},
|
|
14080
|
-
"
|
|
15629
|
+
"RiskEventListResponse": {
|
|
14081
15630
|
"type": "object",
|
|
14082
15631
|
"required": [
|
|
14083
|
-
"
|
|
14084
|
-
"target_id"
|
|
15632
|
+
"events"
|
|
14085
15633
|
],
|
|
14086
15634
|
"properties": {
|
|
14087
|
-
"
|
|
14088
|
-
"type": "
|
|
14089
|
-
"
|
|
14090
|
-
|
|
14091
|
-
|
|
14092
|
-
"type": "string",
|
|
14093
|
-
"description": "ID of the resource the action targets"
|
|
15635
|
+
"events": {
|
|
15636
|
+
"type": "array",
|
|
15637
|
+
"items": {
|
|
15638
|
+
"$ref": "#/components/schemas/RiskEvent"
|
|
15639
|
+
}
|
|
14094
15640
|
}
|
|
14095
15641
|
}
|
|
14096
15642
|
},
|
|
14097
|
-
"
|
|
15643
|
+
"RiskVerdictReason": {
|
|
14098
15644
|
"type": "object",
|
|
14099
15645
|
"required": [
|
|
14100
|
-
"
|
|
14101
|
-
"
|
|
14102
|
-
"
|
|
15646
|
+
"detector",
|
|
15647
|
+
"severity",
|
|
15648
|
+
"description"
|
|
14103
15649
|
],
|
|
14104
15650
|
"properties": {
|
|
14105
|
-
"
|
|
15651
|
+
"detector": {
|
|
14106
15652
|
"type": "string"
|
|
14107
15653
|
},
|
|
14108
|
-
"
|
|
14109
|
-
"type": "string"
|
|
14110
|
-
"format": "date-time"
|
|
15654
|
+
"severity": {
|
|
15655
|
+
"type": "string"
|
|
14111
15656
|
},
|
|
14112
|
-
"
|
|
14113
|
-
"type": "string",
|
|
14114
|
-
"description": "SHA-256 binding the challenge to the requested action and target"
|
|
14115
|
-
}
|
|
14116
|
-
}
|
|
14117
|
-
},
|
|
14118
|
-
"AttestDeviceChallengeRequest": {
|
|
14119
|
-
"type": "object",
|
|
14120
|
-
"required": [
|
|
14121
|
-
"challenge_nonce",
|
|
14122
|
-
"signature"
|
|
14123
|
-
],
|
|
14124
|
-
"properties": {
|
|
14125
|
-
"challenge_nonce": {
|
|
15657
|
+
"description": {
|
|
14126
15658
|
"type": "string"
|
|
14127
15659
|
},
|
|
14128
|
-
"
|
|
14129
|
-
"type": "
|
|
14130
|
-
"
|
|
15660
|
+
"metadata": {
|
|
15661
|
+
"type": "object",
|
|
15662
|
+
"additionalProperties": true
|
|
14131
15663
|
}
|
|
14132
15664
|
}
|
|
14133
15665
|
},
|
|
14134
|
-
"
|
|
15666
|
+
"RiskVerdict": {
|
|
14135
15667
|
"type": "object",
|
|
14136
15668
|
"required": [
|
|
14137
|
-
"
|
|
15669
|
+
"principal_type",
|
|
15670
|
+
"principal_id",
|
|
15671
|
+
"org_id",
|
|
15672
|
+
"score",
|
|
15673
|
+
"severity",
|
|
15674
|
+
"reasons",
|
|
15675
|
+
"computed_at",
|
|
14138
15676
|
"expires_at"
|
|
14139
15677
|
],
|
|
14140
15678
|
"properties": {
|
|
14141
|
-
"
|
|
14142
|
-
"type": "string"
|
|
14143
|
-
"description": "Short-lived token authorizing the bound action"
|
|
15679
|
+
"principal_type": {
|
|
15680
|
+
"type": "string"
|
|
14144
15681
|
},
|
|
14145
|
-
"
|
|
15682
|
+
"principal_id": {
|
|
14146
15683
|
"type": "string",
|
|
14147
|
-
"format": "
|
|
14148
|
-
}
|
|
14149
|
-
|
|
14150
|
-
},
|
|
14151
|
-
"RegisterPushTokenRequest": {
|
|
14152
|
-
"type": "object",
|
|
14153
|
-
"required": [
|
|
14154
|
-
"token",
|
|
14155
|
-
"platform"
|
|
14156
|
-
],
|
|
14157
|
-
"properties": {
|
|
14158
|
-
"token": {
|
|
15684
|
+
"format": "uuid"
|
|
15685
|
+
},
|
|
15686
|
+
"org_id": {
|
|
14159
15687
|
"type": "string",
|
|
14160
|
-
"
|
|
15688
|
+
"format": "uuid"
|
|
14161
15689
|
},
|
|
14162
|
-
"
|
|
15690
|
+
"score": {
|
|
15691
|
+
"type": "number",
|
|
15692
|
+
"description": "Composite risk score (0.0 – 100.0)"
|
|
15693
|
+
},
|
|
15694
|
+
"severity": {
|
|
14163
15695
|
"type": "string",
|
|
14164
15696
|
"enum": [
|
|
14165
|
-
"
|
|
14166
|
-
"
|
|
15697
|
+
"low",
|
|
15698
|
+
"medium",
|
|
15699
|
+
"high",
|
|
15700
|
+
"critical"
|
|
14167
15701
|
]
|
|
15702
|
+
},
|
|
15703
|
+
"reasons": {
|
|
15704
|
+
"type": "array",
|
|
15705
|
+
"items": {
|
|
15706
|
+
"$ref": "#/components/schemas/RiskVerdictReason"
|
|
15707
|
+
}
|
|
15708
|
+
},
|
|
15709
|
+
"computed_at": {
|
|
15710
|
+
"type": "string",
|
|
15711
|
+
"format": "date-time"
|
|
15712
|
+
},
|
|
15713
|
+
"expires_at": {
|
|
15714
|
+
"type": "string",
|
|
15715
|
+
"format": "date-time"
|
|
14168
15716
|
}
|
|
14169
15717
|
}
|
|
14170
15718
|
},
|
|
14171
|
-
"
|
|
15719
|
+
"RiskVerdictListResponse": {
|
|
14172
15720
|
"type": "object",
|
|
14173
15721
|
"required": [
|
|
14174
|
-
"
|
|
15722
|
+
"verdicts"
|
|
14175
15723
|
],
|
|
14176
15724
|
"properties": {
|
|
14177
|
-
"
|
|
14178
|
-
"type": "
|
|
14179
|
-
"
|
|
14180
|
-
"
|
|
14181
|
-
|
|
14182
|
-
]
|
|
14183
|
-
},
|
|
14184
|
-
"reason": {
|
|
14185
|
-
"type": "string",
|
|
14186
|
-
"description": "Optional human-readable reason for the decision"
|
|
15725
|
+
"verdicts": {
|
|
15726
|
+
"type": "array",
|
|
15727
|
+
"items": {
|
|
15728
|
+
"$ref": "#/components/schemas/RiskVerdict"
|
|
15729
|
+
}
|
|
14187
15730
|
}
|
|
14188
15731
|
}
|
|
14189
15732
|
},
|
|
14190
|
-
"
|
|
15733
|
+
"Honeytoken": {
|
|
14191
15734
|
"type": "object",
|
|
14192
15735
|
"required": [
|
|
14193
15736
|
"id",
|
|
15737
|
+
"vault_id",
|
|
14194
15738
|
"org_id",
|
|
14195
|
-
"
|
|
14196
|
-
"
|
|
14197
|
-
"
|
|
14198
|
-
"
|
|
14199
|
-
"risk_tier",
|
|
14200
|
-
"status",
|
|
14201
|
-
"summary",
|
|
14202
|
-
"created_at"
|
|
15739
|
+
"secret_path",
|
|
15740
|
+
"created_by",
|
|
15741
|
+
"created_at",
|
|
15742
|
+
"triggered_count"
|
|
14203
15743
|
],
|
|
14204
15744
|
"properties": {
|
|
14205
15745
|
"id": {
|
|
14206
15746
|
"type": "string",
|
|
14207
15747
|
"format": "uuid"
|
|
14208
15748
|
},
|
|
14209
|
-
"
|
|
15749
|
+
"vault_id": {
|
|
14210
15750
|
"type": "string",
|
|
14211
15751
|
"format": "uuid"
|
|
14212
15752
|
},
|
|
14213
|
-
"
|
|
15753
|
+
"org_id": {
|
|
14214
15754
|
"type": "string",
|
|
14215
15755
|
"format": "uuid"
|
|
14216
15756
|
},
|
|
14217
|
-
"
|
|
14218
|
-
"type": "string",
|
|
14219
|
-
"format": "uuid",
|
|
14220
|
-
"nullable": true
|
|
14221
|
-
},
|
|
14222
|
-
"action": {
|
|
14223
|
-
"type": "string"
|
|
14224
|
-
},
|
|
14225
|
-
"target_type": {
|
|
14226
|
-
"type": "string"
|
|
14227
|
-
},
|
|
14228
|
-
"target_id": {
|
|
15757
|
+
"secret_path": {
|
|
14229
15758
|
"type": "string"
|
|
14230
15759
|
},
|
|
14231
|
-
"
|
|
14232
|
-
"type": "integer",
|
|
14233
|
-
"minimum": 1,
|
|
14234
|
-
"maximum": 3
|
|
14235
|
-
},
|
|
14236
|
-
"status": {
|
|
15760
|
+
"created_by": {
|
|
14237
15761
|
"type": "string",
|
|
14238
|
-
"
|
|
14239
|
-
"pending",
|
|
14240
|
-
"approved",
|
|
14241
|
-
"rejected",
|
|
14242
|
-
"expired"
|
|
14243
|
-
]
|
|
14244
|
-
},
|
|
14245
|
-
"summary": {
|
|
14246
|
-
"type": "object",
|
|
14247
|
-
"description": "Structured summary of the action requiring approval"
|
|
15762
|
+
"format": "uuid"
|
|
14248
15763
|
},
|
|
14249
|
-
"
|
|
15764
|
+
"created_at": {
|
|
14250
15765
|
"type": "string",
|
|
14251
|
-
"
|
|
15766
|
+
"format": "date-time"
|
|
14252
15767
|
},
|
|
14253
|
-
"
|
|
15768
|
+
"notes": {
|
|
14254
15769
|
"type": "string",
|
|
14255
15770
|
"nullable": true
|
|
14256
15771
|
},
|
|
14257
|
-
"
|
|
14258
|
-
"type": "
|
|
14259
|
-
"format": "uuid",
|
|
14260
|
-
"nullable": true
|
|
15772
|
+
"triggered_count": {
|
|
15773
|
+
"type": "integer"
|
|
14261
15774
|
},
|
|
14262
|
-
"
|
|
15775
|
+
"last_triggered_at": {
|
|
14263
15776
|
"type": "string",
|
|
14264
15777
|
"format": "date-time",
|
|
14265
15778
|
"nullable": true
|
|
15779
|
+
}
|
|
15780
|
+
}
|
|
15781
|
+
},
|
|
15782
|
+
"CreateHoneytokenRequest": {
|
|
15783
|
+
"type": "object",
|
|
15784
|
+
"required": [
|
|
15785
|
+
"vault_id",
|
|
15786
|
+
"secret_path"
|
|
15787
|
+
],
|
|
15788
|
+
"properties": {
|
|
15789
|
+
"vault_id": {
|
|
15790
|
+
"type": "string",
|
|
15791
|
+
"format": "uuid"
|
|
14266
15792
|
},
|
|
14267
|
-
"
|
|
15793
|
+
"secret_path": {
|
|
14268
15794
|
"type": "string",
|
|
14269
|
-
"
|
|
14270
|
-
"nullable": true
|
|
15795
|
+
"description": "Vault secret path to monitor as a canary"
|
|
14271
15796
|
},
|
|
14272
|
-
"
|
|
15797
|
+
"notes": {
|
|
14273
15798
|
"type": "string",
|
|
14274
|
-
"
|
|
15799
|
+
"description": "Optional human-readable notes about this honeytoken"
|
|
15800
|
+
}
|
|
15801
|
+
}
|
|
15802
|
+
},
|
|
15803
|
+
"HoneytokenListResponse": {
|
|
15804
|
+
"type": "object",
|
|
15805
|
+
"required": [
|
|
15806
|
+
"honeytokens"
|
|
15807
|
+
],
|
|
15808
|
+
"properties": {
|
|
15809
|
+
"honeytokens": {
|
|
15810
|
+
"type": "array",
|
|
15811
|
+
"items": {
|
|
15812
|
+
"$ref": "#/components/schemas/Honeytoken"
|
|
15813
|
+
}
|
|
14275
15814
|
}
|
|
14276
15815
|
}
|
|
14277
15816
|
}
|