@1claw/openapi-spec 0.16.3 → 0.18.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 +3 -3
- package/openapi.json +757 -26
- package/openapi.yaml +498 -2
- package/package.json +1 -1
package/openapi.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"openapi": "3.1.0",
|
|
3
3
|
"info": {
|
|
4
4
|
"title": "1Claw API",
|
|
5
|
-
"version": "2.
|
|
5
|
+
"version": "2.8.0",
|
|
6
6
|
"description": "Secure secret management for AI agents. Provides vaults, secrets,\npolicy-based access control, agent identity, Intents API,\nsharing, billing, and audit logging.\n\nAll endpoints require JWT Bearer authentication unless marked with\n`security: []`.\n",
|
|
7
7
|
"contact": {
|
|
8
8
|
"email": "ops@1claw.xyz"
|
|
@@ -1221,6 +1221,52 @@
|
|
|
1221
1221
|
}
|
|
1222
1222
|
}
|
|
1223
1223
|
},
|
|
1224
|
+
"/v1/vaults/{vault_id}/mpc": {
|
|
1225
|
+
"post": {
|
|
1226
|
+
"tags": [
|
|
1227
|
+
"Vaults"
|
|
1228
|
+
],
|
|
1229
|
+
"summary": "Enable MPC custody on a vault",
|
|
1230
|
+
"operationId": "enableMpc",
|
|
1231
|
+
"description": "Enable MPC custody on an existing vault. Requires Business or Enterprise plan.\nSplits secret encryption keys across multiple providers using the specified\ncustody mode (e.g. 2-of-2, 2-of-3).\n",
|
|
1232
|
+
"parameters": [
|
|
1233
|
+
{
|
|
1234
|
+
"$ref": "#/components/parameters/VaultId"
|
|
1235
|
+
}
|
|
1236
|
+
],
|
|
1237
|
+
"requestBody": {
|
|
1238
|
+
"required": true,
|
|
1239
|
+
"content": {
|
|
1240
|
+
"application/json": {
|
|
1241
|
+
"schema": {
|
|
1242
|
+
"$ref": "#/components/schemas/EnableMpcRequest"
|
|
1243
|
+
}
|
|
1244
|
+
}
|
|
1245
|
+
}
|
|
1246
|
+
},
|
|
1247
|
+
"responses": {
|
|
1248
|
+
"200": {
|
|
1249
|
+
"description": "MPC custody enabled",
|
|
1250
|
+
"content": {
|
|
1251
|
+
"application/json": {
|
|
1252
|
+
"schema": {
|
|
1253
|
+
"$ref": "#/components/schemas/VaultResponse"
|
|
1254
|
+
}
|
|
1255
|
+
}
|
|
1256
|
+
}
|
|
1257
|
+
},
|
|
1258
|
+
"400": {
|
|
1259
|
+
"$ref": "#/components/responses/BadRequest"
|
|
1260
|
+
},
|
|
1261
|
+
"403": {
|
|
1262
|
+
"$ref": "#/components/responses/Forbidden"
|
|
1263
|
+
},
|
|
1264
|
+
"404": {
|
|
1265
|
+
"$ref": "#/components/responses/NotFound"
|
|
1266
|
+
}
|
|
1267
|
+
}
|
|
1268
|
+
}
|
|
1269
|
+
},
|
|
1224
1270
|
"/v1/vaults/{vault_id}/secrets": {
|
|
1225
1271
|
"get": {
|
|
1226
1272
|
"tags": [
|
|
@@ -1299,7 +1345,7 @@
|
|
|
1299
1345
|
"content": {
|
|
1300
1346
|
"application/json": {
|
|
1301
1347
|
"schema": {
|
|
1302
|
-
"$ref": "#/components/schemas/
|
|
1348
|
+
"$ref": "#/components/schemas/SecretCreatedResponse"
|
|
1303
1349
|
}
|
|
1304
1350
|
}
|
|
1305
1351
|
}
|
|
@@ -1334,6 +1380,15 @@
|
|
|
1334
1380
|
},
|
|
1335
1381
|
{
|
|
1336
1382
|
"$ref": "#/components/parameters/SecretPath"
|
|
1383
|
+
},
|
|
1384
|
+
{
|
|
1385
|
+
"name": "x-client-share",
|
|
1386
|
+
"in": "header",
|
|
1387
|
+
"required": false,
|
|
1388
|
+
"schema": {
|
|
1389
|
+
"type": "string"
|
|
1390
|
+
},
|
|
1391
|
+
"description": "Base64-encoded client key share for MPC 2-of-2 vaults. Required when the vault uses 2-of-2 MPC custody."
|
|
1337
1392
|
}
|
|
1338
1393
|
],
|
|
1339
1394
|
"responses": {
|
|
@@ -4027,6 +4082,161 @@
|
|
|
4027
4082
|
}
|
|
4028
4083
|
}
|
|
4029
4084
|
}
|
|
4085
|
+
},
|
|
4086
|
+
"/v1/shroud/activity": {
|
|
4087
|
+
"get": {
|
|
4088
|
+
"tags": [
|
|
4089
|
+
"Shroud"
|
|
4090
|
+
],
|
|
4091
|
+
"summary": "List Shroud activity events",
|
|
4092
|
+
"description": "Returns recent Shroud proxy activity for the organization (LLM requests, inspections, policy actions).",
|
|
4093
|
+
"security": [
|
|
4094
|
+
{
|
|
4095
|
+
"BearerAuth": []
|
|
4096
|
+
}
|
|
4097
|
+
],
|
|
4098
|
+
"parameters": [
|
|
4099
|
+
{
|
|
4100
|
+
"in": "query",
|
|
4101
|
+
"name": "agent_id",
|
|
4102
|
+
"schema": {
|
|
4103
|
+
"type": "string"
|
|
4104
|
+
},
|
|
4105
|
+
"description": "Filter by agent ID"
|
|
4106
|
+
},
|
|
4107
|
+
{
|
|
4108
|
+
"in": "query",
|
|
4109
|
+
"name": "action",
|
|
4110
|
+
"schema": {
|
|
4111
|
+
"type": "string"
|
|
4112
|
+
},
|
|
4113
|
+
"description": "Filter by action (allowed, blocked, warned)"
|
|
4114
|
+
},
|
|
4115
|
+
{
|
|
4116
|
+
"in": "query",
|
|
4117
|
+
"name": "limit",
|
|
4118
|
+
"schema": {
|
|
4119
|
+
"type": "integer",
|
|
4120
|
+
"default": 50
|
|
4121
|
+
},
|
|
4122
|
+
"description": "Maximum events to return"
|
|
4123
|
+
},
|
|
4124
|
+
{
|
|
4125
|
+
"in": "query",
|
|
4126
|
+
"name": "offset",
|
|
4127
|
+
"schema": {
|
|
4128
|
+
"type": "integer",
|
|
4129
|
+
"default": 0
|
|
4130
|
+
},
|
|
4131
|
+
"description": "Pagination offset"
|
|
4132
|
+
}
|
|
4133
|
+
],
|
|
4134
|
+
"responses": {
|
|
4135
|
+
"200": {
|
|
4136
|
+
"description": "Activity events",
|
|
4137
|
+
"content": {
|
|
4138
|
+
"application/json": {
|
|
4139
|
+
"schema": {
|
|
4140
|
+
"type": "object",
|
|
4141
|
+
"properties": {
|
|
4142
|
+
"events": {
|
|
4143
|
+
"type": "array",
|
|
4144
|
+
"items": {
|
|
4145
|
+
"$ref": "#/components/schemas/ShroudActivityEvent"
|
|
4146
|
+
}
|
|
4147
|
+
},
|
|
4148
|
+
"total": {
|
|
4149
|
+
"type": "integer"
|
|
4150
|
+
}
|
|
4151
|
+
}
|
|
4152
|
+
}
|
|
4153
|
+
}
|
|
4154
|
+
}
|
|
4155
|
+
},
|
|
4156
|
+
"401": {
|
|
4157
|
+
"description": "Unauthorized"
|
|
4158
|
+
}
|
|
4159
|
+
}
|
|
4160
|
+
},
|
|
4161
|
+
"post": {
|
|
4162
|
+
"tags": [
|
|
4163
|
+
"Shroud"
|
|
4164
|
+
],
|
|
4165
|
+
"summary": "Ingest Shroud activity event (internal)",
|
|
4166
|
+
"description": "Called by the Shroud proxy to record activity events. Not intended for external use.",
|
|
4167
|
+
"security": [
|
|
4168
|
+
{
|
|
4169
|
+
"BearerAuth": []
|
|
4170
|
+
}
|
|
4171
|
+
],
|
|
4172
|
+
"requestBody": {
|
|
4173
|
+
"required": true,
|
|
4174
|
+
"content": {
|
|
4175
|
+
"application/json": {
|
|
4176
|
+
"schema": {
|
|
4177
|
+
"$ref": "#/components/schemas/IngestShroudActivityRequest"
|
|
4178
|
+
}
|
|
4179
|
+
}
|
|
4180
|
+
}
|
|
4181
|
+
},
|
|
4182
|
+
"responses": {
|
|
4183
|
+
"201": {
|
|
4184
|
+
"description": "Event recorded"
|
|
4185
|
+
},
|
|
4186
|
+
"401": {
|
|
4187
|
+
"description": "Unauthorized"
|
|
4188
|
+
}
|
|
4189
|
+
}
|
|
4190
|
+
}
|
|
4191
|
+
},
|
|
4192
|
+
"/v1/shroud/threat-summary": {
|
|
4193
|
+
"get": {
|
|
4194
|
+
"tags": [
|
|
4195
|
+
"Shroud"
|
|
4196
|
+
],
|
|
4197
|
+
"summary": "Shroud threat analytics summary",
|
|
4198
|
+
"description": "Aggregated threat metrics for the organization from `shroud_activity` (detectors, blocked counts, recent flagged requests). Query `period` selects the window; the previous window of equal length is used for request volume trend.\n",
|
|
4199
|
+
"security": [
|
|
4200
|
+
{
|
|
4201
|
+
"BearerAuth": []
|
|
4202
|
+
}
|
|
4203
|
+
],
|
|
4204
|
+
"parameters": [
|
|
4205
|
+
{
|
|
4206
|
+
"in": "query",
|
|
4207
|
+
"name": "period",
|
|
4208
|
+
"schema": {
|
|
4209
|
+
"type": "string",
|
|
4210
|
+
"enum": [
|
|
4211
|
+
"1h",
|
|
4212
|
+
"24h",
|
|
4213
|
+
"7d",
|
|
4214
|
+
"30d"
|
|
4215
|
+
],
|
|
4216
|
+
"default": "24h"
|
|
4217
|
+
},
|
|
4218
|
+
"description": "Rolling window ending now"
|
|
4219
|
+
}
|
|
4220
|
+
],
|
|
4221
|
+
"responses": {
|
|
4222
|
+
"200": {
|
|
4223
|
+
"description": "Threat summary",
|
|
4224
|
+
"content": {
|
|
4225
|
+
"application/json": {
|
|
4226
|
+
"schema": {
|
|
4227
|
+
"$ref": "#/components/schemas/ShroudThreatSummary"
|
|
4228
|
+
}
|
|
4229
|
+
}
|
|
4230
|
+
}
|
|
4231
|
+
},
|
|
4232
|
+
"400": {
|
|
4233
|
+
"description": "Invalid period"
|
|
4234
|
+
},
|
|
4235
|
+
"401": {
|
|
4236
|
+
"description": "Unauthorized"
|
|
4237
|
+
}
|
|
4238
|
+
}
|
|
4239
|
+
}
|
|
4030
4240
|
}
|
|
4031
4241
|
},
|
|
4032
4242
|
"components": {
|
|
@@ -4704,6 +4914,10 @@
|
|
|
4704
4914
|
},
|
|
4705
4915
|
"description": {
|
|
4706
4916
|
"type": "string"
|
|
4917
|
+
},
|
|
4918
|
+
"mpc_custody": {
|
|
4919
|
+
"type": "string",
|
|
4920
|
+
"description": "MPC custody mode to enable at creation (e.g. \"2-of-2\", \"2-of-3\")"
|
|
4707
4921
|
}
|
|
4708
4922
|
}
|
|
4709
4923
|
},
|
|
@@ -4742,6 +4956,21 @@
|
|
|
4742
4956
|
"cmek_fingerprint": {
|
|
4743
4957
|
"type": "string",
|
|
4744
4958
|
"description": "SHA-256 fingerprint of the CMEK key (64 hex chars)"
|
|
4959
|
+
},
|
|
4960
|
+
"mpc_custody": {
|
|
4961
|
+
"type": "string",
|
|
4962
|
+
"description": "MPC custody mode (e.g. \"2-of-2\", \"2-of-3\"), absent when MPC is not enabled"
|
|
4963
|
+
},
|
|
4964
|
+
"mpc_threshold": {
|
|
4965
|
+
"type": "integer",
|
|
4966
|
+
"description": "Number of shares required to reconstruct the key"
|
|
4967
|
+
},
|
|
4968
|
+
"mpc_providers": {
|
|
4969
|
+
"type": "array",
|
|
4970
|
+
"items": {
|
|
4971
|
+
"type": "string"
|
|
4972
|
+
},
|
|
4973
|
+
"description": "List of MPC share providers (e.g. [\"server\", \"client\"])"
|
|
4745
4974
|
}
|
|
4746
4975
|
}
|
|
4747
4976
|
},
|
|
@@ -4837,6 +5066,18 @@
|
|
|
4837
5066
|
}
|
|
4838
5067
|
}
|
|
4839
5068
|
},
|
|
5069
|
+
"EnableMpcRequest": {
|
|
5070
|
+
"type": "object",
|
|
5071
|
+
"required": [
|
|
5072
|
+
"mpc_custody"
|
|
5073
|
+
],
|
|
5074
|
+
"properties": {
|
|
5075
|
+
"mpc_custody": {
|
|
5076
|
+
"type": "string",
|
|
5077
|
+
"description": "MPC custody mode (e.g. \"2-of-2\", \"2-of-3\")"
|
|
5078
|
+
}
|
|
5079
|
+
}
|
|
5080
|
+
},
|
|
4840
5081
|
"PutSecretRequest": {
|
|
4841
5082
|
"type": "object",
|
|
4842
5083
|
"required": [
|
|
@@ -4905,6 +5146,48 @@
|
|
|
4905
5146
|
}
|
|
4906
5147
|
}
|
|
4907
5148
|
},
|
|
5149
|
+
"SecretCreatedResponse": {
|
|
5150
|
+
"description": "Returned when a secret is created or updated. Extends SecretMetadataResponse with an optional client_share for MPC vaults.",
|
|
5151
|
+
"type": "object",
|
|
5152
|
+
"required": [
|
|
5153
|
+
"id",
|
|
5154
|
+
"path",
|
|
5155
|
+
"type",
|
|
5156
|
+
"version",
|
|
5157
|
+
"created_at"
|
|
5158
|
+
],
|
|
5159
|
+
"properties": {
|
|
5160
|
+
"id": {
|
|
5161
|
+
"type": "string",
|
|
5162
|
+
"format": "uuid"
|
|
5163
|
+
},
|
|
5164
|
+
"path": {
|
|
5165
|
+
"type": "string"
|
|
5166
|
+
},
|
|
5167
|
+
"type": {
|
|
5168
|
+
"type": "string"
|
|
5169
|
+
},
|
|
5170
|
+
"version": {
|
|
5171
|
+
"type": "integer"
|
|
5172
|
+
},
|
|
5173
|
+
"metadata": {
|
|
5174
|
+
"type": "object",
|
|
5175
|
+
"additionalProperties": true
|
|
5176
|
+
},
|
|
5177
|
+
"created_at": {
|
|
5178
|
+
"type": "string",
|
|
5179
|
+
"format": "date-time"
|
|
5180
|
+
},
|
|
5181
|
+
"expires_at": {
|
|
5182
|
+
"type": "string",
|
|
5183
|
+
"format": "date-time"
|
|
5184
|
+
},
|
|
5185
|
+
"client_share": {
|
|
5186
|
+
"type": "string",
|
|
5187
|
+
"description": "Base64-encoded client key share. Returned only for MPC 2-of-2 vaults. The client must store this share securely — it is not persisted server-side."
|
|
5188
|
+
}
|
|
5189
|
+
}
|
|
5190
|
+
},
|
|
4908
5191
|
"SecretResponse": {
|
|
4909
5192
|
"type": "object",
|
|
4910
5193
|
"required": [
|
|
@@ -5615,6 +5898,27 @@
|
|
|
5615
5898
|
"type": "boolean",
|
|
5616
5899
|
"default": true,
|
|
5617
5900
|
"description": "Whether to log all detected threats to audit (even when action is allow/warn)"
|
|
5901
|
+
},
|
|
5902
|
+
"tool_call_inspection": {
|
|
5903
|
+
"$ref": "#/components/schemas/ToolCallPolicy"
|
|
5904
|
+
},
|
|
5905
|
+
"output_policy": {
|
|
5906
|
+
"$ref": "#/components/schemas/OutputPolicy"
|
|
5907
|
+
},
|
|
5908
|
+
"secret_injection_detection": {
|
|
5909
|
+
"$ref": "#/components/schemas/SecretInjectionConfig"
|
|
5910
|
+
},
|
|
5911
|
+
"advanced_redaction": {
|
|
5912
|
+
"$ref": "#/components/schemas/AdvancedRedactionConfig"
|
|
5913
|
+
},
|
|
5914
|
+
"semantic_policy": {
|
|
5915
|
+
"$ref": "#/components/schemas/SemanticPolicy"
|
|
5916
|
+
},
|
|
5917
|
+
"flagged_request_retention_days": {
|
|
5918
|
+
"type": "integer",
|
|
5919
|
+
"minimum": 0,
|
|
5920
|
+
"maximum": 365,
|
|
5921
|
+
"description": "Number of days to retain flagged request bodies for replay/investigation"
|
|
5618
5922
|
}
|
|
5619
5923
|
}
|
|
5620
5924
|
},
|
|
@@ -5821,35 +6125,250 @@
|
|
|
5821
6125
|
}
|
|
5822
6126
|
}
|
|
5823
6127
|
},
|
|
5824
|
-
"
|
|
6128
|
+
"ToolCallPolicy": {
|
|
5825
6129
|
"type": "object",
|
|
5826
|
-
"
|
|
5827
|
-
"agent"
|
|
5828
|
-
],
|
|
6130
|
+
"description": "Tool/function call inspection settings",
|
|
5829
6131
|
"properties": {
|
|
5830
|
-
"
|
|
5831
|
-
"
|
|
6132
|
+
"enabled": {
|
|
6133
|
+
"type": "boolean",
|
|
6134
|
+
"default": false,
|
|
6135
|
+
"description": "Enable tool call inspection"
|
|
5832
6136
|
},
|
|
5833
|
-
"
|
|
5834
|
-
"type": "string",
|
|
5835
|
-
"description": "One-time API key (only present for api_key auth method)"
|
|
5836
|
-
}
|
|
5837
|
-
}
|
|
5838
|
-
},
|
|
5839
|
-
"AgentListResponse": {
|
|
5840
|
-
"type": "object",
|
|
5841
|
-
"properties": {
|
|
5842
|
-
"agents": {
|
|
6137
|
+
"allowed_tool_names": {
|
|
5843
6138
|
"type": "array",
|
|
5844
6139
|
"items": {
|
|
5845
|
-
"
|
|
5846
|
-
}
|
|
5847
|
-
|
|
5848
|
-
|
|
5849
|
-
|
|
5850
|
-
|
|
5851
|
-
|
|
5852
|
-
|
|
6140
|
+
"type": "string"
|
|
6141
|
+
},
|
|
6142
|
+
"description": "Allowed tool/function names (empty = all allowed)"
|
|
6143
|
+
},
|
|
6144
|
+
"denied_tool_names": {
|
|
6145
|
+
"type": "array",
|
|
6146
|
+
"items": {
|
|
6147
|
+
"type": "string"
|
|
6148
|
+
},
|
|
6149
|
+
"description": "Denied tool/function names"
|
|
6150
|
+
},
|
|
6151
|
+
"scan_arguments": {
|
|
6152
|
+
"type": "boolean",
|
|
6153
|
+
"default": true,
|
|
6154
|
+
"description": "Scan tool call arguments for credential exfiltration"
|
|
6155
|
+
},
|
|
6156
|
+
"block_credential_exfil": {
|
|
6157
|
+
"type": "boolean",
|
|
6158
|
+
"default": true,
|
|
6159
|
+
"description": "Block tool calls that appear to exfiltrate credentials"
|
|
6160
|
+
},
|
|
6161
|
+
"action": {
|
|
6162
|
+
"type": "string",
|
|
6163
|
+
"enum": [
|
|
6164
|
+
"block",
|
|
6165
|
+
"sanitize",
|
|
6166
|
+
"warn",
|
|
6167
|
+
"log"
|
|
6168
|
+
],
|
|
6169
|
+
"default": "block",
|
|
6170
|
+
"description": "Action when a tool call violation is detected"
|
|
6171
|
+
}
|
|
6172
|
+
}
|
|
6173
|
+
},
|
|
6174
|
+
"OutputPolicy": {
|
|
6175
|
+
"type": "object",
|
|
6176
|
+
"description": "Output content policy settings for LLM responses",
|
|
6177
|
+
"properties": {
|
|
6178
|
+
"enabled": {
|
|
6179
|
+
"type": "boolean",
|
|
6180
|
+
"default": false,
|
|
6181
|
+
"description": "Enable output content policies"
|
|
6182
|
+
},
|
|
6183
|
+
"blocked_patterns": {
|
|
6184
|
+
"type": "array",
|
|
6185
|
+
"items": {
|
|
6186
|
+
"type": "string"
|
|
6187
|
+
},
|
|
6188
|
+
"description": "Custom regex patterns to block in responses"
|
|
6189
|
+
},
|
|
6190
|
+
"blocked_entities": {
|
|
6191
|
+
"type": "array",
|
|
6192
|
+
"items": {
|
|
6193
|
+
"type": "string"
|
|
6194
|
+
},
|
|
6195
|
+
"description": "Named entities to block (e.g., competitor names)"
|
|
6196
|
+
},
|
|
6197
|
+
"block_harmful_content": {
|
|
6198
|
+
"type": "boolean",
|
|
6199
|
+
"default": false,
|
|
6200
|
+
"description": "Block responses containing harmful content categories"
|
|
6201
|
+
},
|
|
6202
|
+
"harmful_categories": {
|
|
6203
|
+
"type": "array",
|
|
6204
|
+
"items": {
|
|
6205
|
+
"type": "string",
|
|
6206
|
+
"enum": [
|
|
6207
|
+
"violence",
|
|
6208
|
+
"self_harm",
|
|
6209
|
+
"illegal",
|
|
6210
|
+
"hate",
|
|
6211
|
+
"sexual",
|
|
6212
|
+
"malware"
|
|
6213
|
+
]
|
|
6214
|
+
},
|
|
6215
|
+
"description": "Harm categories to block"
|
|
6216
|
+
},
|
|
6217
|
+
"action": {
|
|
6218
|
+
"type": "string",
|
|
6219
|
+
"enum": [
|
|
6220
|
+
"block",
|
|
6221
|
+
"sanitize",
|
|
6222
|
+
"warn",
|
|
6223
|
+
"log"
|
|
6224
|
+
],
|
|
6225
|
+
"default": "warn",
|
|
6226
|
+
"description": "Action when output policy is violated"
|
|
6227
|
+
}
|
|
6228
|
+
}
|
|
6229
|
+
},
|
|
6230
|
+
"SecretInjectionConfig": {
|
|
6231
|
+
"type": "object",
|
|
6232
|
+
"description": "Detects credentials injected into prompts that are not from the vault",
|
|
6233
|
+
"properties": {
|
|
6234
|
+
"enabled": {
|
|
6235
|
+
"type": "boolean",
|
|
6236
|
+
"default": false,
|
|
6237
|
+
"description": "Enable secret injection detection"
|
|
6238
|
+
},
|
|
6239
|
+
"action": {
|
|
6240
|
+
"type": "string",
|
|
6241
|
+
"enum": [
|
|
6242
|
+
"block",
|
|
6243
|
+
"sanitize",
|
|
6244
|
+
"warn",
|
|
6245
|
+
"log"
|
|
6246
|
+
],
|
|
6247
|
+
"default": "block",
|
|
6248
|
+
"description": "Action when injected credentials are detected"
|
|
6249
|
+
},
|
|
6250
|
+
"sensitivity": {
|
|
6251
|
+
"type": "string",
|
|
6252
|
+
"enum": [
|
|
6253
|
+
"low",
|
|
6254
|
+
"medium",
|
|
6255
|
+
"high"
|
|
6256
|
+
],
|
|
6257
|
+
"default": "medium",
|
|
6258
|
+
"description": "Detection sensitivity level"
|
|
6259
|
+
}
|
|
6260
|
+
}
|
|
6261
|
+
},
|
|
6262
|
+
"AdvancedRedactionConfig": {
|
|
6263
|
+
"type": "object",
|
|
6264
|
+
"description": "Advanced secret redaction settings (base64-encoded, split, prefix leaks)",
|
|
6265
|
+
"properties": {
|
|
6266
|
+
"enabled": {
|
|
6267
|
+
"type": "boolean",
|
|
6268
|
+
"default": false,
|
|
6269
|
+
"description": "Enable advanced redaction checks"
|
|
6270
|
+
},
|
|
6271
|
+
"detect_base64_encoded": {
|
|
6272
|
+
"type": "boolean",
|
|
6273
|
+
"default": false,
|
|
6274
|
+
"description": "Detect base64-encoded vault secrets"
|
|
6275
|
+
},
|
|
6276
|
+
"detect_split_secrets": {
|
|
6277
|
+
"type": "boolean",
|
|
6278
|
+
"default": false,
|
|
6279
|
+
"description": "Detect secrets split across tokens or messages"
|
|
6280
|
+
},
|
|
6281
|
+
"detect_prefix_leak": {
|
|
6282
|
+
"type": "boolean",
|
|
6283
|
+
"default": false,
|
|
6284
|
+
"description": "Detect partial/prefix leaks of vault secrets"
|
|
6285
|
+
},
|
|
6286
|
+
"min_secret_length": {
|
|
6287
|
+
"type": "integer",
|
|
6288
|
+
"default": 16,
|
|
6289
|
+
"description": "Minimum secret length to consider for advanced matching"
|
|
6290
|
+
}
|
|
6291
|
+
}
|
|
6292
|
+
},
|
|
6293
|
+
"SemanticPolicy": {
|
|
6294
|
+
"type": "object",
|
|
6295
|
+
"description": "Semantic/intent-level policy enforcement",
|
|
6296
|
+
"properties": {
|
|
6297
|
+
"enabled": {
|
|
6298
|
+
"type": "boolean",
|
|
6299
|
+
"default": false,
|
|
6300
|
+
"description": "Enable semantic policy enforcement"
|
|
6301
|
+
},
|
|
6302
|
+
"allowed_topics": {
|
|
6303
|
+
"type": "array",
|
|
6304
|
+
"items": {
|
|
6305
|
+
"type": "string"
|
|
6306
|
+
},
|
|
6307
|
+
"description": "Topics the agent is allowed to discuss (empty = all)"
|
|
6308
|
+
},
|
|
6309
|
+
"denied_topics": {
|
|
6310
|
+
"type": "array",
|
|
6311
|
+
"items": {
|
|
6312
|
+
"type": "string"
|
|
6313
|
+
},
|
|
6314
|
+
"description": "Topics to block"
|
|
6315
|
+
},
|
|
6316
|
+
"allowed_tasks": {
|
|
6317
|
+
"type": "array",
|
|
6318
|
+
"items": {
|
|
6319
|
+
"type": "string"
|
|
6320
|
+
},
|
|
6321
|
+
"description": "Tasks the agent is allowed to perform (empty = all)"
|
|
6322
|
+
},
|
|
6323
|
+
"denied_tasks": {
|
|
6324
|
+
"type": "array",
|
|
6325
|
+
"items": {
|
|
6326
|
+
"type": "string"
|
|
6327
|
+
},
|
|
6328
|
+
"description": "Tasks to block (e.g., code_generation, data_export)"
|
|
6329
|
+
},
|
|
6330
|
+
"action": {
|
|
6331
|
+
"type": "string",
|
|
6332
|
+
"enum": [
|
|
6333
|
+
"block",
|
|
6334
|
+
"sanitize",
|
|
6335
|
+
"warn",
|
|
6336
|
+
"log"
|
|
6337
|
+
],
|
|
6338
|
+
"default": "warn",
|
|
6339
|
+
"description": "Action when semantic policy is violated"
|
|
6340
|
+
}
|
|
6341
|
+
}
|
|
6342
|
+
},
|
|
6343
|
+
"AgentCreatedResponse": {
|
|
6344
|
+
"type": "object",
|
|
6345
|
+
"required": [
|
|
6346
|
+
"agent"
|
|
6347
|
+
],
|
|
6348
|
+
"properties": {
|
|
6349
|
+
"agent": {
|
|
6350
|
+
"$ref": "#/components/schemas/AgentResponse"
|
|
6351
|
+
},
|
|
6352
|
+
"api_key": {
|
|
6353
|
+
"type": "string",
|
|
6354
|
+
"description": "One-time API key (only present for api_key auth method)"
|
|
6355
|
+
}
|
|
6356
|
+
}
|
|
6357
|
+
},
|
|
6358
|
+
"AgentListResponse": {
|
|
6359
|
+
"type": "object",
|
|
6360
|
+
"properties": {
|
|
6361
|
+
"agents": {
|
|
6362
|
+
"type": "array",
|
|
6363
|
+
"items": {
|
|
6364
|
+
"$ref": "#/components/schemas/AgentResponse"
|
|
6365
|
+
}
|
|
6366
|
+
}
|
|
6367
|
+
}
|
|
6368
|
+
},
|
|
6369
|
+
"AgentKeyRotatedResponse": {
|
|
6370
|
+
"type": "object",
|
|
6371
|
+
"properties": {
|
|
5853
6372
|
"api_key": {
|
|
5854
6373
|
"type": "string"
|
|
5855
6374
|
}
|
|
@@ -7482,6 +8001,218 @@
|
|
|
7482
8001
|
}
|
|
7483
8002
|
}
|
|
7484
8003
|
},
|
|
8004
|
+
"ShroudActivityEvent": {
|
|
8005
|
+
"type": "object",
|
|
8006
|
+
"properties": {
|
|
8007
|
+
"id": {
|
|
8008
|
+
"type": "string",
|
|
8009
|
+
"format": "uuid"
|
|
8010
|
+
},
|
|
8011
|
+
"org_id": {
|
|
8012
|
+
"type": "string",
|
|
8013
|
+
"format": "uuid"
|
|
8014
|
+
},
|
|
8015
|
+
"agent_id": {
|
|
8016
|
+
"type": "string"
|
|
8017
|
+
},
|
|
8018
|
+
"provider": {
|
|
8019
|
+
"type": "string"
|
|
8020
|
+
},
|
|
8021
|
+
"model": {
|
|
8022
|
+
"type": "string"
|
|
8023
|
+
},
|
|
8024
|
+
"action": {
|
|
8025
|
+
"type": "string",
|
|
8026
|
+
"description": "Action taken (allowed, blocked, warned)"
|
|
8027
|
+
},
|
|
8028
|
+
"request_tokens": {
|
|
8029
|
+
"type": "integer"
|
|
8030
|
+
},
|
|
8031
|
+
"response_tokens": {
|
|
8032
|
+
"type": "integer"
|
|
8033
|
+
},
|
|
8034
|
+
"latency_ms": {
|
|
8035
|
+
"type": "integer"
|
|
8036
|
+
},
|
|
8037
|
+
"had_secrets_redacted": {
|
|
8038
|
+
"type": "boolean"
|
|
8039
|
+
},
|
|
8040
|
+
"had_pii_detected": {
|
|
8041
|
+
"type": "boolean"
|
|
8042
|
+
},
|
|
8043
|
+
"injection_score": {
|
|
8044
|
+
"type": "number"
|
|
8045
|
+
},
|
|
8046
|
+
"policy_violations": {
|
|
8047
|
+
"type": "array",
|
|
8048
|
+
"items": {
|
|
8049
|
+
"type": "string"
|
|
8050
|
+
}
|
|
8051
|
+
},
|
|
8052
|
+
"metadata": {
|
|
8053
|
+
"type": "object"
|
|
8054
|
+
},
|
|
8055
|
+
"timestamp": {
|
|
8056
|
+
"type": "string",
|
|
8057
|
+
"format": "date-time"
|
|
8058
|
+
}
|
|
8059
|
+
}
|
|
8060
|
+
},
|
|
8061
|
+
"IngestShroudActivityRequest": {
|
|
8062
|
+
"type": "object",
|
|
8063
|
+
"required": [
|
|
8064
|
+
"agent_id",
|
|
8065
|
+
"action"
|
|
8066
|
+
],
|
|
8067
|
+
"properties": {
|
|
8068
|
+
"agent_id": {
|
|
8069
|
+
"type": "string"
|
|
8070
|
+
},
|
|
8071
|
+
"provider": {
|
|
8072
|
+
"type": "string"
|
|
8073
|
+
},
|
|
8074
|
+
"model": {
|
|
8075
|
+
"type": "string"
|
|
8076
|
+
},
|
|
8077
|
+
"action": {
|
|
8078
|
+
"type": "string"
|
|
8079
|
+
},
|
|
8080
|
+
"request_tokens": {
|
|
8081
|
+
"type": "integer",
|
|
8082
|
+
"default": 0
|
|
8083
|
+
},
|
|
8084
|
+
"response_tokens": {
|
|
8085
|
+
"type": "integer",
|
|
8086
|
+
"default": 0
|
|
8087
|
+
},
|
|
8088
|
+
"latency_ms": {
|
|
8089
|
+
"type": "integer"
|
|
8090
|
+
},
|
|
8091
|
+
"had_secrets_redacted": {
|
|
8092
|
+
"type": "boolean",
|
|
8093
|
+
"default": false
|
|
8094
|
+
},
|
|
8095
|
+
"had_pii_detected": {
|
|
8096
|
+
"type": "boolean",
|
|
8097
|
+
"default": false
|
|
8098
|
+
},
|
|
8099
|
+
"injection_score": {
|
|
8100
|
+
"type": "number",
|
|
8101
|
+
"default": 0
|
|
8102
|
+
},
|
|
8103
|
+
"policy_violations": {
|
|
8104
|
+
"type": "array",
|
|
8105
|
+
"items": {
|
|
8106
|
+
"type": "string"
|
|
8107
|
+
}
|
|
8108
|
+
},
|
|
8109
|
+
"metadata": {
|
|
8110
|
+
"type": "object"
|
|
8111
|
+
}
|
|
8112
|
+
}
|
|
8113
|
+
},
|
|
8114
|
+
"ShroudThreatSummary": {
|
|
8115
|
+
"type": "object",
|
|
8116
|
+
"properties": {
|
|
8117
|
+
"total_requests": {
|
|
8118
|
+
"type": "integer",
|
|
8119
|
+
"format": "int64"
|
|
8120
|
+
},
|
|
8121
|
+
"total_requests_prev": {
|
|
8122
|
+
"type": "integer",
|
|
8123
|
+
"format": "int64"
|
|
8124
|
+
},
|
|
8125
|
+
"blocked_requests": {
|
|
8126
|
+
"type": "integer",
|
|
8127
|
+
"format": "int64"
|
|
8128
|
+
},
|
|
8129
|
+
"detectors_triggered": {
|
|
8130
|
+
"type": "integer",
|
|
8131
|
+
"format": "int64"
|
|
8132
|
+
},
|
|
8133
|
+
"active_agents": {
|
|
8134
|
+
"type": "integer",
|
|
8135
|
+
"format": "int64"
|
|
8136
|
+
},
|
|
8137
|
+
"detectors": {
|
|
8138
|
+
"type": "array",
|
|
8139
|
+
"items": {
|
|
8140
|
+
"$ref": "#/components/schemas/ShroudDetectorStats"
|
|
8141
|
+
}
|
|
8142
|
+
},
|
|
8143
|
+
"flagged_requests": {
|
|
8144
|
+
"type": "array",
|
|
8145
|
+
"items": {
|
|
8146
|
+
"$ref": "#/components/schemas/ShroudFlaggedRequest"
|
|
8147
|
+
}
|
|
8148
|
+
}
|
|
8149
|
+
}
|
|
8150
|
+
},
|
|
8151
|
+
"ShroudDetectorStats": {
|
|
8152
|
+
"type": "object",
|
|
8153
|
+
"properties": {
|
|
8154
|
+
"detector": {
|
|
8155
|
+
"type": "string"
|
|
8156
|
+
},
|
|
8157
|
+
"detections": {
|
|
8158
|
+
"type": "integer",
|
|
8159
|
+
"format": "int64"
|
|
8160
|
+
},
|
|
8161
|
+
"blocks": {
|
|
8162
|
+
"type": "integer",
|
|
8163
|
+
"format": "int64"
|
|
8164
|
+
},
|
|
8165
|
+
"actions": {
|
|
8166
|
+
"type": "object",
|
|
8167
|
+
"properties": {
|
|
8168
|
+
"blocked": {
|
|
8169
|
+
"type": "integer",
|
|
8170
|
+
"format": "int64"
|
|
8171
|
+
},
|
|
8172
|
+
"warned": {
|
|
8173
|
+
"type": "integer",
|
|
8174
|
+
"format": "int64"
|
|
8175
|
+
},
|
|
8176
|
+
"logged": {
|
|
8177
|
+
"type": "integer",
|
|
8178
|
+
"format": "int64"
|
|
8179
|
+
}
|
|
8180
|
+
}
|
|
8181
|
+
}
|
|
8182
|
+
}
|
|
8183
|
+
},
|
|
8184
|
+
"ShroudFlaggedRequest": {
|
|
8185
|
+
"type": "object",
|
|
8186
|
+
"properties": {
|
|
8187
|
+
"id": {
|
|
8188
|
+
"type": "string"
|
|
8189
|
+
},
|
|
8190
|
+
"timestamp": {
|
|
8191
|
+
"type": "string",
|
|
8192
|
+
"format": "date-time"
|
|
8193
|
+
},
|
|
8194
|
+
"agent_id": {
|
|
8195
|
+
"type": "string"
|
|
8196
|
+
},
|
|
8197
|
+
"agent_name": {
|
|
8198
|
+
"type": "string"
|
|
8199
|
+
},
|
|
8200
|
+
"score": {
|
|
8201
|
+
"type": "number"
|
|
8202
|
+
},
|
|
8203
|
+
"reason": {
|
|
8204
|
+
"type": "string"
|
|
8205
|
+
},
|
|
8206
|
+
"action": {
|
|
8207
|
+
"type": "string",
|
|
8208
|
+
"enum": [
|
|
8209
|
+
"blocked",
|
|
8210
|
+
"warned",
|
|
8211
|
+
"logged"
|
|
8212
|
+
]
|
|
8213
|
+
}
|
|
8214
|
+
}
|
|
8215
|
+
},
|
|
7485
8216
|
"HealthResponse": {
|
|
7486
8217
|
"type": "object",
|
|
7487
8218
|
"properties": {
|