Get Import Details
curl --request GET \
--url https://api.example.com/api/policies/import/{import_id}import requests
url = "https://api.example.com/api/policies/import/{import_id}"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.example.com/api/policies/import/{import_id}', 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.example.com/api/policies/import/{import_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/api/policies/import/{import_id}"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.example.com/api/policies/import/{import_id}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/policies/import/{import_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"import_id": "550e8400-e29b-41d4-a716-446655440000",
"status": "pending_review",
"rule_count": 3,
"created_at": "2026-01-15T10:30:00Z",
"rules": [
{
"id": "no_misleading_claims",
"type": "AI_SIGNAL",
"name": "No Misleading Claims",
"action": "flag",
"severity": "high",
"confidence": 0.95
},
{
"id": "benchmark_comparison_required",
"type": "AI_SIGNAL",
"name": "Benchmark Comparison Required",
"action": "fix",
"severity": "medium",
"confidence": 0.88,
"suggested_text": "Performance results should be compared to an appropriate benchmark index."
},
{
"id": "risk_disclosure_present",
"type": "REQUIRE_NEAR",
"name": "Risk Disclosure Near Performance Data",
"action": "flag",
"severity": "high",
"confidence": 0.92
}
]
}
{
"error": "Import not found"
}
Custom Policies
Get Import Details
Retrieve details and extracted rules for a specific policy import
GET
/
api
/
policies
/
import
/
{import_id}
Get Import Details
curl --request GET \
--url https://api.example.com/api/policies/import/{import_id}import requests
url = "https://api.example.com/api/policies/import/{import_id}"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.example.com/api/policies/import/{import_id}', 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.example.com/api/policies/import/{import_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/api/policies/import/{import_id}"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.example.com/api/policies/import/{import_id}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/policies/import/{import_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"import_id": "550e8400-e29b-41d4-a716-446655440000",
"status": "pending_review",
"rule_count": 3,
"created_at": "2026-01-15T10:30:00Z",
"rules": [
{
"id": "no_misleading_claims",
"type": "AI_SIGNAL",
"name": "No Misleading Claims",
"action": "flag",
"severity": "high",
"confidence": 0.95
},
{
"id": "benchmark_comparison_required",
"type": "AI_SIGNAL",
"name": "Benchmark Comparison Required",
"action": "fix",
"severity": "medium",
"confidence": 0.88,
"suggested_text": "Performance results should be compared to an appropriate benchmark index."
},
{
"id": "risk_disclosure_present",
"type": "REQUIRE_NEAR",
"name": "Risk Disclosure Near Performance Data",
"action": "flag",
"severity": "high",
"confidence": 0.92
}
]
}
{
"error": "Import not found"
}
Retrieve the full details of a policy import, including all extracted rules and their properties. Use this endpoint to poll for results after submitting an import, and to review rules before activation.
Extraction runs in the background. Small documents are usually
pending_review within seconds;
large documents (hundreds of pages) are extracted in chunks and can stay in processing for
several minutes. Poll until the status is no longer processing.Path Parameters
The import ID returned from the import endpoint
Response
Unique import identifier
Import status:
processing, pending_review, no_rules_found, failed, activated, or partially_activatedNumber of extracted rules (present once extraction completes)
Error details when status is
failedISO 8601 timestamp of the import
Full list of extracted rules with details
Show rule properties
Show rule properties
Rule identifier
Rule type:
AI_SIGNAL, REGEX, or REQUIRE_NEARHuman-readable rule name
Suggested action:
flag (warn only) or fix (suggest replacement text)Rule severity:
low, medium, or highAI confidence score (0-1)
Suggested replacement or guidance text (if applicable)
{
"import_id": "550e8400-e29b-41d4-a716-446655440000",
"status": "pending_review",
"rule_count": 3,
"created_at": "2026-01-15T10:30:00Z",
"rules": [
{
"id": "no_misleading_claims",
"type": "AI_SIGNAL",
"name": "No Misleading Claims",
"action": "flag",
"severity": "high",
"confidence": 0.95
},
{
"id": "benchmark_comparison_required",
"type": "AI_SIGNAL",
"name": "Benchmark Comparison Required",
"action": "fix",
"severity": "medium",
"confidence": 0.88,
"suggested_text": "Performance results should be compared to an appropriate benchmark index."
},
{
"id": "risk_disclosure_present",
"type": "REQUIRE_NEAR",
"name": "Risk Disclosure Near Performance Data",
"action": "flag",
"severity": "high",
"confidence": 0.92
}
]
}
{
"error": "Import not found"
}
Example
curl -X GET "https://{api-url}/api/policies/import/550e8400-e29b-41d4-a716-446655440000" \
-H "x-api-key: YOUR_API_KEY"
import requests
API_KEY = "YOUR_API_KEY"
API_BASE = "https://{api-url}"
IMPORT_ID = "550e8400-e29b-41d4-a716-446655440000"
response = requests.get(
f"{API_BASE}/api/policies/import/{IMPORT_ID}",
headers={"x-api-key": API_KEY}
)
details = response.json()
print(f"Status: {details['status']}")
for rule in details["rules"]:
print(f" [{rule['severity']}] {rule['name']} ({rule['type']}) — {rule['action']}")
const axios = require('axios');
const API_KEY = 'YOUR_API_KEY';
const API_BASE = 'https://{api-url}';
const IMPORT_ID = '550e8400-e29b-41d4-a716-446655440000';
const response = await axios.get(
`${API_BASE}/api/policies/import/${IMPORT_ID}`,
{
headers: { 'x-api-key': API_KEY }
}
);
console.log(`Status: ${response.data.status}`);
response.data.rules.forEach(rule => {
console.log(` [${rule.severity}] ${rule.name} (${rule.type}) — ${rule.action}`);
});
⌘I

