dev.keytrace.reverseLookup
{
"$type": "com.atproto.lexicon.schema",
"defs": {
"main": {
"description": "Find the ATProto DIDs (and the at-uris of their keytrace claim records) that have verifiably claimed a given external identity, keyed by claim type and subject. Matching is exact (case-sensitive) on the subject. Only non-retracted claims whose attestation signatures validate against a known keytrace server key are returned.",
"errors": [
{
"description": "The requested claim type is not supported by this server.",
"name": "UnknownType"
}
],
"output": {
"encoding": "application/json",
"schema": {
"properties": {
"matches": {
"items": {
"ref": "#match",
"type": "ref"
},
"type": "array"
},
"total": {
"description": "Total number of matching claims.",
"minimum": 0,
"type": "integer"
}
},
"required": [
"total",
"matches"
],
"type": "object"
}
},
"parameters": {
"properties": {
"subject": {
"description": "The subject identifier being looked up. Matched exactly (case-sensitive). For types whose subject is a shared namespace rather than a personal account (e.g. 'npmorg', where the subject is the scope 'babel'), a single subject may legitimately match several DIDs — one per person who proved publish access.",
"type": "string"
},
"type": {
"description": "The claim type (e.g. 'github', 'dns', 'npm'). Mirrors dev.keytrace.claim#type; keep in sync when adding a new provider.",
"knownValues": [
"github",
"dns",
"activitypub",
"bsky",
"npm",
"npmorg",
"tangled",
"pgp",
"twitter",
"linkedin",
"instagram",
"reddit",
"hackernews",
"orcid",
"itchio",
"discord",
"steam"
],
"type": "string"
}
},
"required": [
"type",
"subject"
],
"type": "params"
},
"type": "query"
},
"match": {
"properties": {
"claim": {
"description": "The at-uri of the dev.keytrace.claim record backing this match.",
"format": "at-uri",
"type": "string"
},
"did": {
"description": "The DID of the ATProto account that made the claim.",
"format": "did",
"type": "string"
},
"recheckSuggested": {
"description": "Present (and true) only when the most recent re-verification attempt hit a transient failure (e.g. key-fetch network error). The match is still based on a prior successful verification, but callers who need strong freshness guarantees may wish to re-verify the claim themselves. Absent when the most recent check succeeded.",
"type": "boolean"
},
"verifiedAt": {
"description": "Timestamp the claim was most recently verified (lastVerifiedAt if present, otherwise createdAt).",
"format": "datetime",
"type": "string"
}
},
"required": [
"did",
"claim",
"verifiedAt"
],
"type": "object"
}
},
"id": "dev.keytrace.reverseLookup",
"lexicon": 1
}
Metadata
- DID
-
did:plc:hcwfdlmprcc335oixyfsw7u3 - CID
-
bafyreievt7jyh27dyysonja3v5olrhe5lazrlr6ccbqugyshprm6ywi3gm - Indexed At
- 2026-07-30 19:57 UTC
- AT-URI
-
at://did:plc:hcwfdlmprcc335oixyfsw7u3/com.atproto.lexicon.schema/dev.keytrace.reverseLookup
Similar Lexicons
Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.
-
dev.keytrace.claim record
An identity claim linking this DID to an external account