REST API
Validate a DID or a posted DID document; every path is described in Swagger.
curl https://didlint.ownyourdata.eu/api/validate/did:oyd:zQmZZbVygmbsxWXhP2BH5nW2RMNXSQA3eRqnzfkFXzH3fg1
DID Linter resolves a decentralized identifier, or takes a DID document, and checks it against Decentralized Identifiers (DIDs) v1.0.
@context is checked against the
verification method types the structure lists, with the contexts the
DID Specification Registries name for them.verificationMethod. Notes that do not change the result, such as a suggestion to add a
JSON-LD context, are shown separately.Results come from automated checks only. They are not a certification, and the structure does not yet cover every requirement of DID Core.
Every day DID Linter checks example DIDs of the methods that the Decentralized Identity Foundation
recommends,
and of did:oyd.
did:cid:bagaaieraxdxq4fm2kjh6yqjxjor3t2idczkmxd4v7in4u353fa6m6sms2pnq
@context: add 'https://w3id.org/security/suites/jws-2020/v1' (+1 more)
did:cid:bagaaierajzwcicueqdkbgk75lgekdmvtbo5zv3spq2p4f7d7ow42urlwi32a
@context: add 'https://w3id.org/security/suites/secp256k1-2019'
The Universal Resolver has no driver for did:webplus yet (universal-resolver pull request 534).
did:webvh:Qmd1FCL9Vj2vJ433UDfC9MBstK6W6QWSQvYyeNn8va2fai:identity.foundation:didwebvh-implementations:implementations:affinidi-didwebvh-rs
@context: add 'https://w3id.org/security/multikey/v1'
Last checked 29 October 2026, 09:28 UTC with DID Linter 1.2.0. A result describes the example DIDs listed in status/methods.json, not every DID of a method.
Validate a DID or a posted DID document; every path is described in Swagger.
curl https://didlint.ownyourdata.eu/api/validate/did:oyd:zQmZZbVygmbsxWXhP2BH5nW2RMNXSQA3eRqnzfkFXzH3fg1
The same checks with soya-cli and two scripts from the repository.
cat did.json | script/prep.sh | soya validate z2roahKVXPptAyHneXnyLHFUztYojEK3gLMnj3sTvsZcW
cat did.json | script/verify_context.rb
Run the Docker image yourself, online or fully offline with a local copy of the structure.
Semantic Overlay Architecture: data models in YAML with overlays for validation and
transformation. The rules of DID Linter are a SOyA structure, published from
soya/Did.yml.
The did:oyd method of OwnYourData: identifiers derived from the hash of the DID
document, with a hash-linked log of all changes.