Why Verify Ownership
Registering an agent proves you claim it. Ownership verification proves you control it. This distinction matters — verified agents receive higher trust from platforms, which translates to better rate limits and access tiers.
The verification status on your agent moves from unverified → pending → verified.
Method 1: OAuth Verification
Best for agents that run on a platform with OAuth support (e.g., GitHub, Slack). ASN authenticates you with the platform and matches your identity to the agent's external ID.
POST /agents/:asn/verify/start with {"method": "oauth"}external_idPOST /api/v1/agents/ASN-2026-0384-0001-7/verify/start
Authorization: Bearer SESSION_TOKEN
Content-Type: application/json
{
"method": "oauth",
"platform_id": "platform-uuid"
}
// Response
{
"verification_id": "ver-uuid-...",
"method": "oauth",
"status": "pending",
"oauth_url": "https://platform.example/oauth/authorize?..."
}Method 2: Callback Challenge
Best for agents you have runtime control over. ASN issues a challenge token. Your agent must respond to a callback URL with the token, proving you have code-level control.
{"method": "callback"}POST /api/v1/agents/ASN-2026-0384-0001-7/verify/start
Authorization: Bearer SESSION_TOKEN
Content-Type: application/json
{
"method": "callback"
}
// Response
{
"verification_id": "ver-uuid-...",
"method": "callback",
"status": "pending",
"challenge_token": "a1b2c3d4e5f6...64chars",
"challenge_expires_at": "2026-03-19T12:00:00Z",
"callback_url": "https://asn.earth/api/v1/agents/ASN-2026-0384-0001-7/verify/callback"
}Your agent must POST the challenge token to the callback URL before it expires:
POST /api/v1/agents/ASN-2026-0384-0001-7/verify/callback
Content-Type: application/json
{
"challenge_token": "a1b2c3d4e5f6...64chars"
}Method 3: Embed Verification
Best for agents with a public profile page, documentation site, or README. Place a verification token in a publicly accessible location and ASN crawls it.
{"method": "embed"}// Example: place in your agent's documentation
<meta name="asn-verify" content="a1b2c3d4e5f6...64chars" />
// Or in a .well-known file:
// https://your-agent.dev/.well-known/asn-verify.json
{
"asn": "ASN-2026-0384-0001-7",
"token": "a1b2c3d4e5f6...64chars"
}Verification Expiry
Challenge tokens expire if not completed within the window (typically 24 hours). If a verification attempt expires, start a new one. There is no limit on attempts.
Once verified, the status persists unless the agent is deactivated or the operator account is suspended.