curl --request POST \
--url https://api.enkryptai.com/guardrails/guardrail/scan-url \
--header 'Content-Type: application/json' \
--header 'X-Enkrypt-Guardrail: <x-enkrypt-guardrail>' \
--header 'X-Enkrypt-Mode: <x-enkrypt-mode>' \
--header 'apikey: <api-key>' \
--data '
{
"url": "<string>",
"user_metadata": {
"request_id": "abc-123",
"source": "mobile-app"
}
}
'import requests
url = "https://api.enkryptai.com/guardrails/guardrail/scan-url"
payload = {
"url": "<string>",
"user_metadata": {
"request_id": "abc-123",
"source": "mobile-app"
}
}
headers = {
"X-Enkrypt-Guardrail": "<x-enkrypt-guardrail>",
"X-Enkrypt-Mode": "<x-enkrypt-mode>",
"apikey": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'X-Enkrypt-Guardrail': '<x-enkrypt-guardrail>',
'X-Enkrypt-Mode': '<x-enkrypt-mode>',
apikey: '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({url: '<string>', user_metadata: {request_id: 'abc-123', source: 'mobile-app'}})
};
fetch('https://api.enkryptai.com/guardrails/guardrail/scan-url', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.enkryptai.com/guardrails/guardrail/scan-url",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'url' => '<string>',
'user_metadata' => [
'request_id' => 'abc-123',
'source' => 'mobile-app'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Enkrypt-Guardrail: <x-enkrypt-guardrail>",
"X-Enkrypt-Mode: <x-enkrypt-mode>",
"apikey: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.enkryptai.com/guardrails/guardrail/scan-url"
payload := strings.NewReader("{\n \"url\": \"<string>\",\n \"user_metadata\": {\n \"request_id\": \"abc-123\",\n \"source\": \"mobile-app\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Enkrypt-Guardrail", "<x-enkrypt-guardrail>")
req.Header.Add("X-Enkrypt-Mode", "<x-enkrypt-mode>")
req.Header.Add("apikey", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.enkryptai.com/guardrails/guardrail/scan-url")
.header("X-Enkrypt-Guardrail", "<x-enkrypt-guardrail>")
.header("X-Enkrypt-Mode", "<x-enkrypt-mode>")
.header("apikey", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"url\": \"<string>\",\n \"user_metadata\": {\n \"request_id\": \"abc-123\",\n \"source\": \"mobile-app\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.enkryptai.com/guardrails/guardrail/scan-url")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Enkrypt-Guardrail"] = '<x-enkrypt-guardrail>'
request["X-Enkrypt-Mode"] = '<x-enkrypt-mode>'
request["apikey"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"url\": \"<string>\",\n \"user_metadata\": {\n \"request_id\": \"abc-123\",\n \"source\": \"mobile-app\"\n }\n}"
response = http.request(request)
puts response.read_body{
"summary": {},
"details": {
"url": "<string>",
"metadata": {
"title": "<string>",
"description": "<string>",
"language": "<string>"
},
"total_fragments": 123,
"fragments_with_detections": 123,
"detections": [
{
"unsafe_content": "<string>",
"chunk_type": "<string>",
"triggered_detectors": [
"<string>"
],
"detector_details": {}
}
],
"combined_highlight_url": "<string>"
},
"user_metadata": {
"request_id": "abc-123",
"source": "mobile-app"
}
}Guardrail Scan URL
Scan a URL for security threats using a saved guardrail
curl --request POST \
--url https://api.enkryptai.com/guardrails/guardrail/scan-url \
--header 'Content-Type: application/json' \
--header 'X-Enkrypt-Guardrail: <x-enkrypt-guardrail>' \
--header 'X-Enkrypt-Mode: <x-enkrypt-mode>' \
--header 'apikey: <api-key>' \
--data '
{
"url": "<string>",
"user_metadata": {
"request_id": "abc-123",
"source": "mobile-app"
}
}
'import requests
url = "https://api.enkryptai.com/guardrails/guardrail/scan-url"
payload = {
"url": "<string>",
"user_metadata": {
"request_id": "abc-123",
"source": "mobile-app"
}
}
headers = {
"X-Enkrypt-Guardrail": "<x-enkrypt-guardrail>",
"X-Enkrypt-Mode": "<x-enkrypt-mode>",
"apikey": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'X-Enkrypt-Guardrail': '<x-enkrypt-guardrail>',
'X-Enkrypt-Mode': '<x-enkrypt-mode>',
apikey: '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({url: '<string>', user_metadata: {request_id: 'abc-123', source: 'mobile-app'}})
};
fetch('https://api.enkryptai.com/guardrails/guardrail/scan-url', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.enkryptai.com/guardrails/guardrail/scan-url",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'url' => '<string>',
'user_metadata' => [
'request_id' => 'abc-123',
'source' => 'mobile-app'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Enkrypt-Guardrail: <x-enkrypt-guardrail>",
"X-Enkrypt-Mode: <x-enkrypt-mode>",
"apikey: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.enkryptai.com/guardrails/guardrail/scan-url"
payload := strings.NewReader("{\n \"url\": \"<string>\",\n \"user_metadata\": {\n \"request_id\": \"abc-123\",\n \"source\": \"mobile-app\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Enkrypt-Guardrail", "<x-enkrypt-guardrail>")
req.Header.Add("X-Enkrypt-Mode", "<x-enkrypt-mode>")
req.Header.Add("apikey", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.enkryptai.com/guardrails/guardrail/scan-url")
.header("X-Enkrypt-Guardrail", "<x-enkrypt-guardrail>")
.header("X-Enkrypt-Mode", "<x-enkrypt-mode>")
.header("apikey", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"url\": \"<string>\",\n \"user_metadata\": {\n \"request_id\": \"abc-123\",\n \"source\": \"mobile-app\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.enkryptai.com/guardrails/guardrail/scan-url")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Enkrypt-Guardrail"] = '<x-enkrypt-guardrail>'
request["X-Enkrypt-Mode"] = '<x-enkrypt-mode>'
request["apikey"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"url\": \"<string>\",\n \"user_metadata\": {\n \"request_id\": \"abc-123\",\n \"source\": \"mobile-app\"\n }\n}"
response = http.request(request)
puts response.read_body{
"summary": {},
"details": {
"url": "<string>",
"metadata": {
"title": "<string>",
"description": "<string>",
"language": "<string>"
},
"total_fragments": 123,
"fragments_with_detections": 123,
"detections": [
{
"unsafe_content": "<string>",
"chunk_type": "<string>",
"triggered_detectors": [
"<string>"
],
"detector_details": {}
}
],
"combined_highlight_url": "<string>"
},
"user_metadata": {
"request_id": "abc-123",
"source": "mobile-app"
}
}Authorizations
Headers
The guardrail name
"My Guardrail"
Whether to apply input (prompt) or output (response) detectors
prompt, response "prompt"
Body
The URL to scan and analyze.
Optional arbitrary metadata object echoed back in the response. Limits: at most 16 top-level keys, key names up to 64 characters, nesting depth up to 3, total serialized size up to 4 KB. When provided and valid, this object is also echoed as a top-level user_metadata key on error responses (4xx/5xx) of endpoints that accept it; invalid or oversized metadata is never echoed, including on the 422 response it causes.
{
"request_id": "abc-123",
"source": "mobile-app"
}
Response
Scan results for the provided URL using the specified guardrail.
Summary counts of detections by detector type.
Show child attributes
Show child attributes
Detailed scan results including URL metadata and fragment-level information.
Show child attributes
Show child attributes
Optional arbitrary metadata object echoed back in the response. Limits: at most 16 top-level keys, key names up to 64 characters, nesting depth up to 3, total serialized size up to 4 KB. When provided and valid, this object is also echoed as a top-level user_metadata key on error responses (4xx/5xx) of endpoints that accept it; invalid or oversized metadata is never echoed, including on the 422 response it causes.
{
"request_id": "abc-123",
"source": "mobile-app"
}

