Live API · v0.4.1

Verify your first AI agent
in 60 seconds

Free API key. No credit card. Works with Python, JavaScript, or plain curl. Your agent gets a cryptographic passport that any system can verify.

⏱ Average time to first verification: 47 seconds
0
10s
Before You Start

Get your free API key

Use the sandbox key below to follow along right now. For production, sign up to get your own key with full quota.

Sandbox Key
verisigil-secret-2026
API Base URL
https://verisigil-api-production.up.railway.app
ℹ️ The sandbox key is rate-limited to 100 requests/day. Join the waitlist to get an unrestricted key.
1
15s
Step 1 of 3

Issue an AI agent passport

Register your AI agent. This creates a cryptographic identity with a trust score and unique Sigil ID that persists across sessions.

Python
import requests

# Your agent details
agent = {
    "agent_name":   "my-first-agent",      # internal ID
    "display_name": "MyFirstAgent",       # what the world sees ← NEW
    "issuer_org":   "YourCompany",         # who built it ← NEW
    "agent_type":   "customer-support",
    "framework":    "openai",
    "version":     "1.0.0",
    "owner":       "raheem@yourcompany.com",
}

# Issue passport
r = requests.post(
    "https://verisigil-api-production.up.railway.app/v1/passport/issue",
    json=agent,
    headers={"x-api-key": "verisigil-secret-2026"}
)

passport = r.json()
print(f"✅ Passport issued!")
print(f"   Sigil ID:    {passport['agent_id']}")
print(f"   Trust Score: {passport['trust_score']}")
print(f"   Status:      {passport['status']}")
JavaScript
const agent = {
  agent_name:   "my-first-agent",
  display_name: "MyFirstAgent",    // what the world sees ← NEW
  issuer_org:   "YourCompany",      // who built it ← NEW
  agent_type:   "customer-support",
  framework:    "openai",
  version:      "1.0.0",
  owner:        "raheem@yourcompany.com",
};

const r = await fetch(
  "https://verisigil-api-production.up.railway.app/v1/passport/issue",
  {
    method:  "POST",
    headers: {
      "Content-Type": "application/json",
      "x-api-key":     "verisigil-secret-2026",
    },
    body: JSON.stringify(agent),
  }
);

const passport = await r.json();
console.log("✅ Passport issued!", passport.agent_id);
curl
curl -X POST \
  https://verisigil-api-production.up.railway.app/v1/passport/issue \
  -H "Content-Type: application/json" \
  -H "x-api-key: verisigil-secret-2026" \
  -d '{
    "agent_name":   "my-first-agent",
    "display_name": "MyFirstAgent",
    "issuer_org":   "YourCompany",
    "agent_type":   "customer-support",
    "framework":    "openai",
    "version":      "1.0.0",
    "owner":        "raheem@yourcompany.com"
  }'
Response — 200 OK
{
  "agent_id":          "vsa_8f3a2c1d9e5b",
  "agent_name":        "my-first-agent",
  "display_name":      "MyFirstAgent",
  "issuer_org":        "YourCompany",
  "verification_tier": 0,
  "tier_label":        "Self-Declared",
  "trust_score":       0.97,
  "status":            "ACTIVE",
  "eu_risk_class":     "limited",
  "created_at":        "2026-05-05T10:23:41Z"
}
Save your agent_id. You'll use it to verify and look up your agent in step 2 and 3.
About the Agent Name Layer
display_name is what the public sees on Trust Cards and the Trust Network graph — e.g. "FinanceGuard-7". issuer_org is who built the agent. Both are optional but strongly recommended.

Protected names (ChatGPT, Grok, Claude, Gemini, Copilot) cannot be self-declared. Contact verify@verisigilai.com for org-verified registration.
2
15s
Step 2 of 3

Verify the agent

Verification checks the passport, runs Shadow Detection™ to look for impersonation, and returns a signed trust attestation. Any system can call this before allowing an agent to act.

Python
# Use the agent_id from Step 1
agent_id = "vsa_8f3a2c1d9e5b"  # replace with yours

r = requests.post(
    f"https://verisigil-api-production.up.railway.app/v1/verify/{agent_id}",
    headers={"x-api-key": "verisigil-secret-2026"}
)

result = r.json()
print(f"Trust Score:    {result['trust_score']}")
print(f"Shadow Clone:   {result['shadow_detected']}")
print(f"EU AI Act:      {result['eu_risk_class']}")
print(f"Verified:       {result['verified']}")

if result["verified"]:
    print("✅ Agent is trusted — allow it to act")
else:
    print("🚫 Agent blocked — do not allow")
JavaScript
const agentId = "vsa_8f3a2c1d9e5b"; // replace with yours

const r = await fetch(
  `https://verisigil-api-production.up.railway.app/v1/verify/${agentId}`,
  {
    method: "POST",
    headers: { "x-api-key": "verisigil-secret-2026" },
  }
);

const result = await r.json();
if (result.verified) {
  console.log("✅ Trusted — allow agent to act");
} else {
  console.log("🚫 Blocked", result.reason);
}
curl
curl -X POST \
  https://verisigil-api-production.up.railway.app/v1/verify/vsa_8f3a2c1d9e5b \
  -H "x-api-key: verisigil-secret-2026"
Response — 200 OK
{
  "agent_id":        "vsa_8f3a2c1d9e5b",
  "verified":        true,
  "trust_score":     0.97,
  "shadow_detected": false,
  "eu_risk_class":   "limited",
  "verifier_id":     "ver_verisigil_admin",
  "timestamp":       "2026-05-05T10:23:55Z"
}
3
Live
Step 3 of 3

Try it live — right now

Paste any agent ID below (or use the sandbox ID) and hit Verify. This calls the real live API.

⚡ Live API Tester

No setup needed. Runs against the production API.

💡 You can also view this agent in Sigil Studio → to see its full trust history and EU AI Act compliance status.

You're in. What's next?

You've verified your first agent. Here's where to go from here.

What every verified agent gets