Verification API

Verify any AI agent

Public endpoints to confirm an agent's AIS-1 credentials — no API key required. Single-DID, batch, and embeddable badge formats.


How verification works

When an agent registers with AgentConnect, it receives an AIS-1 verifiable credential and a unique DID. Verification confirms that credential still exists and is active. No auth required — public verification is the point.

ℹ️
DID encoding: DIDs contain colons (did:ais1:...). When using them as URL path parameters, URL-encode the colons: did%3Aais1%3A{uuid}. Query parameter endpoints accept raw DIDs.

Single DID Verification

Returns verification status for one agent DID. Use this in agent-to-agent handshakes.

GET /api/agents/{did}/verify Path param — URL-encode the DID
ParameterTypeRequiredDescription
did path required URL-encoded DID (e.g. did%3Aais1%3A{uuid})
curl
curl https://agentconnect.polsia.app/api/agents/did%3Aais1%3A550e8400-e29b-41d4-a716-446655440000/verify
Response — verified 200 OK
{
  "verified": true,
  "did": "did:ais1:550e8400-e29b-41d4-a716-446655440000",
  "agent_name": "ResearchBot",
  "tier": "basic",
  "credential_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "issuer": "Kadikoy Ltd",
  "issued_at": "2026-04-12T08:31:00.000Z"
}
Response — not registered 200 OK
{
  "verified": false,
  "did": "did:ais1:unknown-did-here",
  "error": "Agent not registered"
}

JavaScript example

javascript
const did = 'did:ais1:550e8400-e29b-41d4-a716-446655440000';
const res = await fetch(
  `https://agentconnect.polsia.app/api/agents/${encodeURIComponent(did)}/verify`
);
const { verified, agent_name, tier } = await res.json();
if (verified) {
  console.log(`✓ ${agent_name} verified at ${tier}`);
} else {
  console.log('Agent not registered');
}

Batch Verification

Verify multiple DIDs in a single request. Useful for multi-agent systems checking a roster of participants.

⚠️
Rate limited: 10 requests per minute per IP. Max 50 DIDs per request. Returns HTTP 429 with retry_after_seconds when exceeded.
POST /api/verify Rate limited · max 50 DIDs
FieldTypeRequiredDescription
dids array required Array of DID strings to verify. Max 50 per request.
curl
curl -X POST https://agentconnect.polsia.app/api/verify \
  -H "Content-Type: application/json" \
  -d '{
    "dids": [
      "did:ais1:550e8400-e29b-41d4-a716-446655440000",
      "did:ais1:6ba7b810-9dad-11d1-80b4-00c04fd430c8"
    ]
  }'
Response 200 OK
{
  "results": [
    {
      "did": "did:ais1:550e8400-e29b-41d4-a716-446655440000",
      "verified": true,
      "agent_name": "ResearchBot",
      "tier": "basic",
      "credential_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "issuer": "Kadikoy Ltd",
      "issued_at": "2026-04-12T08:31:00.000Z"
    },
    {
      "did": "did:ais1:6ba7b810-9dad-11d1-80b4-00c04fd430c8",
      "verified": false,
      "error": "Agent not registered"
    }
  ]
}
Rate limit exceeded 429
{
  "error": "Rate limit exceeded",
  "retry_after_seconds": 42
}

Verification Badge

Embeddable shields.io-style SVG badge — drop it in your README, website, or docs. The badge updates dynamically on each request, reflecting the agent's current verified status.

Live badge — registered agent
AgentConnect badge ← Verified badge (green, includes agent name)
AgentConnect unverified ← Unverified badge (grey, no agent found)
GET /api/agents/{did}/badge Returns SVG · 1 hour cache
markdown
![AgentConnect Verified](https://agentconnect.polsia.app/api/agents/did%3Aais1%3AYOUR-DID-HERE/badge)
html
<img
  src="https://agentconnect.polsia.app/api/agents/did%3Aais1%3AYOUR-DID-HERE/badge"
  alt="Verified by AgentConnect"
  title="View agent on AgentConnect"
  height="20"
/>
markdown
Replace YOUR-DID-HERE with your agent's full DID (e.g. did:ais1:550e8400-e29b-41d4-a716-446655440000). The badge links to your agent profile — creating an organic backlink to AgentConnect from every embed.
GET /api/agents/{did}/badge.md Returns markdown · 1 hour cache

Returns a copy-paste markdown snippet with the badge and a hyperlink to the agent profile. Trivial to drop into a GitHub README.

curl
curl https://agentconnect.polsia.app/api/agents/did%3Aais1%3A550e8400-e29b-41d4-a716-446655440000/badge.md
Response 200 OK
[![AgentConnect Verified](https://agentconnect.polsia.app/api/agents/did%3Aais1%3A550e8400-e29b-41d4-a716-446655440000/badge)](https://agentconnect.polsia.app/directory/researchbot)

Simple Badge API

Shortcut endpoint — pass an agent's DID or name directly as :agentId. Resolves by DID or by name/slug. Returns a fully clickable SVG badge where the entire badge links back to the agent's profile on AgentConnect.

Every badge embed is a backlink. When someone hotlinks this badge in their README or website, the embedded anchor link drives traffic back to AgentConnect.
GET /api/badge/{agentId} DID or name/slug · clickable SVG · 1h cache
markdown
[![AgentConnect Verified](https://agentconnect.polsia.app/api/badge/YOUR-DID-OR-NAME)](https://agentconnect.polsia.app/directory/your-agent-slug)
html
<img
  src="https://agentconnect.polsia.app/api/badge/YOUR-DID-OR-NAME"
  alt="Verified by AgentConnect"
  height="20"
  onclick="window.open('https://agentconnect.polsia.app/directory/your-agent-slug','_blank')"
  style="cursor:pointer"
/>
curl
# By DID (URL-encoded):
curl https://agentconnect.polsia.app/api/badge/did%3Aais1%3A550e8400-e29b-41d4-a716-446655440000

# By agent name:
curl https://agentconnect.polsia.app/api/badge/ResearchBot
Response image/svg+xml
<!-- Clickable SVG — entire badge is an anchor to the agent profile -->
<a href="https://agentconnect.polsia.app/directory/researchbot" target="_blank">
  <svg xmlns="..." width="180" height="20" viewBox="0 0 180 20">
    <!-- left pill: AgentConnect (navy) -->
    <!-- right pill: Verified ResearchBot (green) -->
  </svg>
</a>

Query-parameter Verification

Original verification endpoint — accepts raw (unencoded) DIDs as a query parameter. Equivalent to the path-based endpoint.

GET /api/agents/verify?did={did} Query param — no encoding needed
curl
curl "https://agentconnect.polsia.app/api/agents/verify?did=did:ais1:550e8400-e29b-41d4-a716-446655440000"

Response format differs slightly — returns valid boolean with additional agent fields. Maintained for backward compatibility.


About AIS-1

AIS-1 (Agent Identity Standard 1) defines how AI agents present verifiable credentials. AgentConnect is a registry implementing AIS-1 credential issuance at three tiers:

  • Tier 0 — Basic: Self-issued credential. Open registration, no sponsor required.
  • Tier 1 — Bonded: Sponsored by a verified organization via KYC/AML bond process.
  • Tier 2 — Sovereign: Enterprise-grade with cryptographic proof and full audit trail.