curl --request POST \
--url https://api.blindsight.example.com/api/runtime-security/scan/tool-call \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"tool_name": "http_get",
"arguments": {
"url": "http://169.254.169.254/latest/meta-data/iam"
}
}
'{
"uuid": "<string>",
"verdict": "allow",
"reasons": [
{
"code": "tool.missing_name",
"severity": "block",
"detail": "<string>"
}
],
"redacted_arguments": "<unknown>",
"pii": {
"count": 123,
"categories": [
"<string>"
],
"findings": [
{
"type": "<string>",
"subtype": "<string>",
"score": 0.5,
"snippet": "<string>",
"start": 1,
"end": 1,
"extra": {}
}
]
},
"arg_bytes": 123,
"latency_ms": 123,
"blocked_reason": "<string>"
}{
"detail": {
"code": "QUOTA_EXCEEDED",
"message": "<string>",
"usage": {
"used": 123,
"limit": 123,
"period_end": "2023-11-07T05:31:56Z"
},
"upgrade_url": "<string>"
}
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Scan an agent tool invocation before executing it
Regex-only, sub-millisecond. Detects: shell injection
(shell.dangerous), destructive SQL (sql.dangerous), SSRF to
cloud metadata (ssrf.imds) or private networks
(ssrf.private_network), disallowed schemes (ssrf.scheme),
path traversal (path.traversal), sensitive paths
(path.sensitive), denylist hits (tool.denied), oversized
arguments (tool.args_too_large), plus PII in argument strings.
curl --request POST \
--url https://api.blindsight.example.com/api/runtime-security/scan/tool-call \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"tool_name": "http_get",
"arguments": {
"url": "http://169.254.169.254/latest/meta-data/iam"
}
}
'{
"uuid": "<string>",
"verdict": "allow",
"reasons": [
{
"code": "tool.missing_name",
"severity": "block",
"detail": "<string>"
}
],
"redacted_arguments": "<unknown>",
"pii": {
"count": 123,
"categories": [
"<string>"
],
"findings": [
{
"type": "<string>",
"subtype": "<string>",
"score": 0.5,
"snippet": "<string>",
"start": 1,
"end": 1,
"extra": {}
}
]
},
"arg_bytes": 123,
"latency_ms": 123,
"blocked_reason": "<string>"
}{
"detail": {
"code": "QUOTA_EXCEEDED",
"message": "<string>",
"usage": {
"used": 123,
"limit": 123,
"period_end": "2023-11-07T05:31:56Z"
},
"upgrade_url": "<string>"
}
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Authorizations
Blindsight workspace API key (ak_live_…). Use this header for the
scan API and the OpenAI proxy routes. The required permission
scope is runtime_security.scan for scan endpoints,
runtime_security.view for read-only analytics, and
runtime_security.manage for configuration changes.
Body
Response
Verdict + reasons
allow, flag, redact, block Show child attributes
Show child attributes
Original arguments with PII string leaves masked.
Show child attributes
Show child attributes
JSON-serialised size of the arguments.

