Decentralised-Identifiers The following DID management functions are available:
List DIDs
The /v1/did
endpoint lists the available DIDs.
curl
Copy curl -X 'GET' \
'https://core.ssikit.walt.id/v1/did' \
-H 'accept: application/json'
E.g. List the available DIDs.
curl
Copy curl -X 'GET' \
'https://core.ssikit.walt.id/v1/did' \
-H 'accept: application/json'
Response body
Copy [
"did:ebsi:zwdPobJGue3w86Gpqhq5Cni",
"did:key:z6Mkm8NbvDnnxJ2t5zLGSkYGCWZiqq11Axr58xQ3ZG1Jss3z",
"did:key:z6MkkLmAVeM3P6B2LJ2xGrK1wVojCoephK4G9VrCcct42ADX",
"did:web:my.domain",
"did:web:walt.id",
"did:ebsi:zYubw2L8tCZSKKpAcMmCY2Q"
]
Load DID
The /v1/did/{id}
endpoint loads a DID specified by:
id - path parameter (required) - the DID url string
curl
Copy curl -X 'GET' \
'https://core.ssikit.walt.id/v1/did/{id}' \
-H 'accept: application/json'
E.g. Load the DID = did:key:z6Mkm8NbvDnnxJ2t5zLGSkYGCWZiqq11Axr58xQ3ZG1Jss3z
.
curl
Copy curl -X 'GET' \
'https://core.ssikit.walt.id/v1/did/did%3Akey%3Az6Mkm8NbvDnnxJ2t5zLGSkYGCWZiqq11Axr58xQ3ZG1Jss3z' \
-H 'accept: application/json'
Response body
Copy {
"assertionMethod":
[
"did:key:z6Mkm8NbvDnnxJ2t5zLGSkYGCWZiqq11Axr58xQ3ZG1Jss3z#z6Mkm8NbvDnnxJ2t5zLGSkYGCWZiqq11Axr58xQ3ZG1Jss3z"
],
"authentication":
[
"did:key:z6Mkm8NbvDnnxJ2t5zLGSkYGCWZiqq11Axr58xQ3ZG1Jss3z#z6Mkm8NbvDnnxJ2t5zLGSkYGCWZiqq11Axr58xQ3ZG1Jss3z"
],
"capabilityDelegation":
[
"did:key:z6Mkm8NbvDnnxJ2t5zLGSkYGCWZiqq11Axr58xQ3ZG1Jss3z#z6Mkm8NbvDnnxJ2t5zLGSkYGCWZiqq11Axr58xQ3ZG1Jss3z"
],
"capabilityInvocation":
[
"did:key:z6Mkm8NbvDnnxJ2t5zLGSkYGCWZiqq11Axr58xQ3ZG1Jss3z#z6Mkm8NbvDnnxJ2t5zLGSkYGCWZiqq11Axr58xQ3ZG1Jss3z"
],
"@context":
[
"https://www.w3.org/ns/did/v1"
],
"id": "did:key:z6Mkm8NbvDnnxJ2t5zLGSkYGCWZiqq11Axr58xQ3ZG1Jss3z",
"keyAgreement":
[
"did:key:z6Mkm8NbvDnnxJ2t5zLGSkYGCWZiqq11Axr58xQ3ZG1Jss3z#z6LSrs5FudTTsAUhHUoS1kzkhskwAWaYjyU13CVgZT7fwDWk"
],
"verificationMethod":
[
{
"controller": "did:key:z6Mkm8NbvDnnxJ2t5zLGSkYGCWZiqq11Axr58xQ3ZG1Jss3z",
"id": "did:key:z6Mkm8NbvDnnxJ2t5zLGSkYGCWZiqq11Axr58xQ3ZG1Jss3z#z6Mkm8NbvDnnxJ2t5zLGSkYGCWZiqq11Axr58xQ3ZG1Jss3z",
"publicKeyBase58": "7g7ZKyYMckYQyVVZmBaRMR1j2Fj9m5biSwV7iz3HxeGc",
"type": "Ed25519VerificationKey2019"
},
{
"controller": "did:key:z6Mkm8NbvDnnxJ2t5zLGSkYGCWZiqq11Axr58xQ3ZG1Jss3z",
"id": "did:key:z6Mkm8NbvDnnxJ2t5zLGSkYGCWZiqq11Axr58xQ3ZG1Jss3z#z6LSrs5FudTTsAUhHUoS1kzkhskwAWaYjyU13CVgZT7fwDWk",
"publicKeyBase58": "GBu6PKebmhkxC6RfV7UoPHYTKN3S3NHrADn14zU9Dqjz",
"type": "X25519KeyAgreementKey2019"
}
]
}
Delete DID
The /v1/did/{id}
endpoint deletes the DID by:
id - path parameter (required) - the DID url string
curl
Copy curl -X 'DELETE' \
'https://core.ssikit.walt.id/v1/did/{id}' \
-H 'accept: application/json'
E.g. Delete the DID = did:key:z6Mkm8NbvDnnxJ2t5zLGSkYGCWZiqq11Axr58xQ3ZG1Jss3z
.
curl
Copy curl -X 'DELETE' \
'https://core.ssikit.walt.id/v1/did/did%3Akey%3Az6Mkm8NbvDnnxJ2t5zLGSkYGCWZiqq11Axr58xQ3ZG1Jss3z' \
-H 'accept: application/json'
Create DID
The /v1/did/create
creates a DID.
curl
Copy curl -X 'POST' \
'https://core.ssikit.walt.id/v1/did/create' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '<request-body>'
Request body schema
Copy {
"method": "string",
"keyAlias": "string",
"method-dependent-options": "..."
}
The method
and keyAlias
properties are common for all did-method requests, method
being required, while keyAlias
- optional (if not specified, a new key will be automatically created using the default algorithm according to the did-method ). The method-dependent options have default values, if not specified otherwise. Below are the available properties by did-method .
key
Copy {
"method" : "key" ,
"keyAlias" : "string" ,
"useJwkJcsPub" : "boolean"
}
useJwkJcsPub
(default) - false - specifies whether to create a did:key using the jwk_jcs-pub multicodec (code: 0xeb51 )
web
Copy {
"method" : "web" ,
"keyAlias" : "string" ,
"didWebDomain" : "string" ,
"didWebPath" : "string"
}
didWebDomain
(default) - "walt.id"
didWebPath
(default) - empty-string
ebsi
Copy {
"method" : "ebsi" ,
"keyAlias" : "string" ,
"version" : "int"
}
cheqd
Copy {
"method" : "cheqd" ,
"keyAlias" : "string" ,
"network" : "string"
}
network
(default) - "testnet"
iota
Copy {
"method" : "iota" ,
"keyAlias" : "string"
}
jwk
Copy {
"method" : "jwk" ,
"keyAlias" : "string"
}
E.g. Create a DID using the key method and automatically generate a new key.
curl
Copy curl -X 'POST' \
'https://core.ssikit.walt.id/v1/did/create' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"method": "key"
}'
Response body
Copy did:key:z6MkqJfAPYYDiDeNERPMufpS1gxgzqiG5fvQnqbYTwY5xJDE
Resolve DID
The /v1/did/resolve
resolves a DID url string to a DID document.
curl
Copy curl -X 'POST' \
'https://core.ssikit.walt.id/v1/did/resolve' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '<request-body>'
E.g. Resolve the DID = did:key:z6MkqmaCT2JqdUtLeKah7tEVfNXtDXtQyj4yxEgV11Y5CqUa
.
curl
Copy curl -X 'POST' \
'https://core.ssikit.walt.id/v1/did/resolve' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"did": "did:key:z6MkqmaCT2JqdUtLeKah7tEVfNXtDXtQyj4yxEgV11Y5CqUa"
}'
Request body
Copy {
"did": "did:key:z6MkqmaCT2JqdUtLeKah7tEVfNXtDXtQyj4yxEgV11Y5CqUa"
}
Response body
Copy {
"assertionMethod":
[
"did:key:z6MkqmaCT2JqdUtLeKah7tEVfNXtDXtQyj4yxEgV11Y5CqUa#z6MkqmaCT2JqdUtLeKah7tEVfNXtDXtQyj4yxEgV11Y5CqUa"
],
"authentication":
[
"did:key:z6MkqmaCT2JqdUtLeKah7tEVfNXtDXtQyj4yxEgV11Y5CqUa#z6MkqmaCT2JqdUtLeKah7tEVfNXtDXtQyj4yxEgV11Y5CqUa"
],
"capabilityDelegation":
[
"did:key:z6MkqmaCT2JqdUtLeKah7tEVfNXtDXtQyj4yxEgV11Y5CqUa#z6MkqmaCT2JqdUtLeKah7tEVfNXtDXtQyj4yxEgV11Y5CqUa"
],
"capabilityInvocation":
[
"did:key:z6MkqmaCT2JqdUtLeKah7tEVfNXtDXtQyj4yxEgV11Y5CqUa#z6MkqmaCT2JqdUtLeKah7tEVfNXtDXtQyj4yxEgV11Y5CqUa"
],
"@context":
[
"https://www.w3.org/ns/did/v1"
],
"id": "did:key:z6MkqmaCT2JqdUtLeKah7tEVfNXtDXtQyj4yxEgV11Y5CqUa",
"keyAgreement":
[
"did:key:z6MkqmaCT2JqdUtLeKah7tEVfNXtDXtQyj4yxEgV11Y5CqUa#z6LSkSwxKk6TFYcqcRHv7ALR87CTFK6bSkQsxwqczx1YgYik"
],
"verificationMethod":
[
{
"controller": "did:key:z6MkqmaCT2JqdUtLeKah7tEVfNXtDXtQyj4yxEgV11Y5CqUa",
"id": "did:key:z6MkqmaCT2JqdUtLeKah7tEVfNXtDXtQyj4yxEgV11Y5CqUa#z6MkqmaCT2JqdUtLeKah7tEVfNXtDXtQyj4yxEgV11Y5CqUa",
"publicKeyBase58": "CKK9rn4QHwPsXpjzSKGepGytPxcZZqpdGDmZAja4HchC",
"type": "Ed25519VerificationKey2019"
},
{
"controller": "did:key:z6MkqmaCT2JqdUtLeKah7tEVfNXtDXtQyj4yxEgV11Y5CqUa",
"id": "did:key:z6MkqmaCT2JqdUtLeKah7tEVfNXtDXtQyj4yxEgV11Y5CqUa#z6LSkSwxKk6TFYcqcRHv7ALR87CTFK6bSkQsxwqczx1YgYik",
"publicKeyBase58": "9mmnoSHbA5u6X2v9aWpToWyyQAZUk9Ej5y7wWVN1yAwz",
"type": "X25519KeyAgreementKey2019"
}
]
}
Import DID
The /v1/did/import
endpoint resolves and imports the specified DID url to the underlying data store.
curl
Copy curl -X 'POST' \
'https://core.ssikit.walt.id/v1/did/import' \
-H 'accept: application/json' \
-H 'Content-Type: text/plain' \
-d '<request-body>'
E.g. Import the DID = did:key:z6MkqmaCT2JqdUtLeKah7tEVfNXtDXtQyj4yxEgV11Y5CqUa
.
curl
Copy curl -X 'POST' \
'https://core.ssikit.walt.id/v1/did/import' \
-H 'accept: application/json' \
-H 'Content-Type: text/plain' \
-d 'did:key:z6MkqmaCT2JqdUtLeKah7tEVfNXtDXtQyj4yxEgV11Y5CqUa'
Request body
Copy did:key:z6MkqmaCT2JqdUtLeKah7tEVfNXtDXtQyj4yxEgV11Y5CqUa