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
| Name | In | Type | Default | Description |
|---|---|---|---|---|
page | query | integer ≥ 1 | 1 | Page number. |
pageSize | query | integer ≥ 1 | 10 | Number of elements per page. |
Response 200 OK
{
"page": 1,
"pageSize": 50,
"total": 1234,
"howMany": 50,
"items": [
"did:isbe:uc:z12kVar5p6bD5WCjEJcQ18Zyt8XV",
"did:isbe:uc:z2ABCdef..."
]
}
| Field | Type | Description |
|---|---|---|
page | integer | Returned page. |
pageSize | integer | Requested page size. |
total | integer | Total DIDs in the registry. |
howMany | integer | Actual number of items returned in this page. |
items | array<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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
identifier | path | string | yes | Complete DID. URL-encode if it contains reserved characters. |
valid-at | query | number | no | Unix 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
| Code | Cause |
|---|---|
400 | Malformed identifier or non-numerical valid-at. |
404 | DID does not exist. |
406 | Accept 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.