Core REST API functions.
The Core API exposes wallet core functionality in the scope of storing and managing:
The Core API exposes most of the functionalities provided by the SSI Kit, however newer features will only be released in the other API endpoints. Therefore, it is recommended to use the Signatory API, Custodian API and Auditor API for most use cases.
The following DID management functions are available:
list - list DIDs
load - load DID
delete by url - delete by DID url
create - create DID
resolve - resolve DID
import - import DID
The /v1/did
endpoint lists the available DIDs.
E.g. List the available DIDs.
The /v1/did/{id}
endpoint loads a DID specified by:
id - path parameter (required) - the DID url string
E.g. Load the DID = did:key:z6Mkm8NbvDnnxJ2t5zLGSkYGCWZiqq11Axr58xQ3ZG1Jss3z
.
The /v1/did/{id}
endpoint deletes the DID by:
id - path parameter (required) - the DID url string
E.g. Delete the DID = did:key:z6Mkm8NbvDnnxJ2t5zLGSkYGCWZiqq11Axr58xQ3ZG1Jss3z
.
The /v1/did/create
creates a DID.
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.
E.g. Create a DID using the key method and automatically generate a new key.
The /v1/did/resolve
resolves a DID url string to a DID document.
E.g. Resolve the DID = did:key:z6MkqmaCT2JqdUtLeKah7tEVfNXtDXtQyj4yxEgV11Y5CqUa
.
The /v1/did/import
endpoint resolves and imports the specified DID url to the underlying data store.
E.g. Import the DID = did:key:z6MkqmaCT2JqdUtLeKah7tEVfNXtDXtQyj4yxEgV11Y5CqUa
.
The following credentials management functions are available:
The /v1/vc
endpoint lists the available credentials.
E.g. List the available credentials.
The /v1/vc/{id}
endpoint loads a credential specified by:
id - path parameter (required) - the credential id
E.g. Load the credential having id = urn:uuid:d36986f1-3cc0-4156-b5a4-6d3deab84270.
The /v1/vc/{id}
deletes a credential by:
id - path parameter (required) - the credential's id
E.g. Delete the credential with id = urn:uuid:d36986f1-3cc0-4156-b5a4-6d3deab84270
.
The /v1/vc/create
endpoint creates a credential.
E.g. Create a credential from the UniveristyDegree template, having issuer = did:key:z6MkqmaCT2JqdUtLeKah7tEVfNXtDXtQyj4yxEgV11Y5CqUa
and holder = did:key:z6MkkLmAVeM3P6B2LJ2xGrK1wVojCoephK4G9VrCcct42ADX
.
The /v1/vc/present
endpoint creates a verifiable presentation from the supplied credential. Only JSON-LD format is supported.
E.g. Create a verifiable presentation from the provided VeriafiableID credential for a holder with did = did:web:my.domain
.
The /v1/vc/verify
endpoint verifies the supplied credential or presentation against the signature policy.
E.g. Verify a presentation.
The /v1/vc/import
endpoint imports a verifiable credential.
E.g. Import the UniversityDegree credential.
- list verifiable credentials
- load the verifiable credential
- delete the verifiable credential
- create a verifiable credential
- create a verifiable presentation from the supplied credentials
- verify credential / presentation
- import the verifiable credential
The following key management functions are available:
list - list of key ids
load - load the public key in JWK format
delete - delete key
generate - generate key
import - import key
export - export key
The /v1/key
endpoint lists the available key ids.
E.g. List the available key ids.
The /v1/key/{id}
endpoint loads the public component of the provided key id in JWK format:
id - path parameter (required) - the key id
E.g. Load the key having id = e548f032cadf4145ab6886a57c2e87e6.
The /v1/key/{id}
endpoint deletes the specified key.
E.g. Delete the key having id = e548f032cadf4145ab6886a57c2e87e6.
The /v1/key/gen
generates a new key using the specified algorithm.
E.g. Generate a new key using the EdDSA_Ed25519 algorithm.
The /v1/key/import
endpoint imports a key (JWK or PEM format) to the underlying keystore.
E.g. Import a public key specified in JWK format.
The /v1/key/export
endpoint exports public and private key part (if supported by underlying keystore).
E.g. Export the public key with id = bc6fa6b0593648238c4616800bed7746 as JWK.