Skip to main content

Identifiers

Read-only endpoints to query the DID registry.

List DIDs

GET /api/v1/identifiers

Returns the paginated list of all DIDs registered in the environment.

Parameters

NameInTypeDefaultDescription
pagequeryinteger ≥ 11Page number.
pageSizequeryinteger ≥ 110Number of elements per page.

Response 200 OK

{
"page": 1,
"pageSize": 50,
"total": 1234,
"howMany": 50,
"items": [
"did:isbe:uc:z12kVar5p6bD5WCjEJcQ18Zyt8XV",
"did:isbe:uc:z2ABCdef..."
]
}
FieldTypeDescription
pageintegerReturned page.
pageSizeintegerRequested page size.
totalintegerTotal DIDs in the registry.
howManyintegerActual number of items returned in this page.
itemsarray<string>List of DIDs.

Example

curl "https://did-registry.portal.redisbe.com/api/v1/identifiers?page=2&pageSize=100"

Resolve DID

GET /api/v1/identifiers/{identifier}

Returns the DID Document associated with a DID, optionally at a specific point in time.

Parameters

NameInTypeRequiredDescription
identifierpathstringyesComplete DID. URL-encode if it contains reserved characters.
valid-atquerynumbernoUnix timestamp in seconds. Returns the state of the document at that instant.

Headers

  • Accept: application/did+ld+json (recommended, JSON-LD)
  • Accept: application/did+json (plain JSON)

Response 200 OK

DID Document with W3C format:

{
"@context": [
"https://www.w3.org/ns/did/v1",
"https://w3id.org/security/suites/jws-2020/v1"
],
"id": "did:isbe:uc:z12kVar5p6bD5WCjEJcQ18Zyt8XV",
"controller": ["0xAe0E493C67f75381b0954644836A3C16c79D0dFD"],
"verificationMethod": [
{
"id": "did:isbe:uc:z12kVar5p6bD5WCjEJcQ18Zyt8XV#9lfZ28jdUsYo75lVHmGNIc6oUpkjSFtxiCLjDGn28IM",
"type": "JsonWebKey2020",
"controller": "did:isbe:uc:z12kVar5p6bD5WCjEJcQ18Zyt8XV",
"publicKeyJwk": {
"kty": "EC",
"crv": "secp256k1",
"x": "EkP1CscPyZbMySohGc5ktvcLv0yh/Tsl/Fyk/T6jUlsK",
"y": "FD4PfiOzITnM4zo9IgfvkN7DC4VxRSB4f-PKcTfcMyE"
}
}
],
"assertionMethod": ["did:isbe:uc:z12kVar5p6bD5WCjEJcQ18Zyt8XV#..."],
"alsoKnownAs": ["urn:oid:organizationIdentifier:ISBE"]
}
Type and format of cryptographic material

All verification methods are returned with type: "JsonWebKey2020" and the key in publicKeyJwk, regardless of the curve. The actual curve (secp256k1, P-256) is in the crv field inside the JWK.

Error Codes

CodeCause
400Malformed identifier or non-numerical valid-at.
404DID does not exist.
406Accept not supported.

Examples

# Current resolution
curl -H "Accept: application/did+ld+json" \
"https://did-registry.portal.redisbe.com/api/v1/identifiers/did:isbe:uc:z12kVar5p6bD5WCjEJcQ18Zyt8XV"

# Historical resolution
curl -H "Accept: application/did+ld+json" \
"https://did-registry.portal.redisbe.com/api/v1/identifiers/did:isbe:uc:z12kVar5p6bD5WCjEJcQ18Zyt8XV?valid-at=1742000000"

For more details on resolution use cases, see DID Resolution.