SsiAPI
TopDeleteDID()
Delete a DID document or all DID documents originating from a given Volt.
Requires `volt:delete-did` API privilege.
GetDIDRegistryUpdates()
Get all updates to the DID registry since the specified timestamp.
Internal use only.
ImportCredential()
Import a verifiable credential.
ParseCredential()
Parse a verifiable credential from a URL or a verifiable presentation.
ResolveDID()
Resolve a DID to a DID document.
RegisterDIDDocument()
Register a DID document.
This is intended for use by the DID registry when synchronising with other registries.
To register a new DID document, it is recommended to use the VoltAPI Authenticate method.
SaveCredential()
Save a verifiable credential.
SearchDIDRegistry()
Search the DID registry.
DeleteDIDRequest
Field | Type | Description |
did | string | The id of the identity to delete. |
origin_volt | string | Force delete of all DIDs owned by the specified Volt. |
key_passphrase | string | Optional passphrase of the DID controller key. Required if the key is encrypted. |
DeleteDIDResponse
Field | Type | Description |
status | Status | Details of any error that occurred on the call. |
GetDIDRegistryUpdatesRequest
Field | Type | Description |
since_id | uint64 | The id of the last update received. All updates since this id will be returned, limited to the maximum number of updates specified in the request. To fully synchronise, clients should continue calling this method until the response contains no updates. If this is the first call, then this should be set to 0. |
max_updates | uint32 | The maximum number of updates to return, defaults to 1000. |
origin_volt | string | Filter by origin volt. |
GetDIDRegistryUpdatesResponse
Field | Type | Description |
status | Status | Details of any error that occurred on the call. |
update | DIDRegistryUpdate repeated | The updates. |
ImportCredentialRequest
Field | Type | Description |
id | string | Optional id of existing credential to import into. If not specified, a new credential will be created. |
json | string | The JSON representation of the credential. |
create_in_parent_id | string | Optional id of the folder resource to save the credential in. This is ignored if the id field is specified. |
description | string | Optional description of the credential. |
ImportCredentialResponse
Field | Type | Description |
status | Status | Details of any error that occurred on the call. |
id | string | The id assigned to the credential. |
ParseCredentialRequest
Field | Type | Description |
verifiable_presentation | VerifiablePresentation | A presentation of the verifiable credential. The presentation doesn't need to be signed, but if it is, the signature will be verified using the public key provided in the request. |
url | string | A URL to a verifiable credential. Not yet implemented. |
presentation_public_key | string | Optional public key to use to verify the presentation signature. |
ParseCredentialResponse
Field | Type | Description |
status | Status | Details of any error that occurred on the call. |
verifiable_credential | VerifiableCredential | The parsed credential details. |
RegisterDIDDocumentRequest
Field | Type | Description |
create | bool | |
did_update | DIDRegistryUpdate | The DID document to save. |
update_signature | string | When updating an existing DID document, it is necessary to include a signature of the document JSON, signed by the DID document's current owner. |
RegisterDIDDocumentResponse
Field | Type | Description |
status | Status | Details of any error that occurred on the call. |
did_document | DIDRegistryUpdate |
ResolveDIDRequest
Field | Type | Description |
did | string | The DID to resolve. |
include_registries | bool | Set to search all known registries rather than just the local registry. |
ResolveDIDResponse
Field | Type | Description |
status | Status | Details of any error that occurred on the call. |
did_document | string | The JSON representation of the DID document. |
update_signature | string | The signature used to save this version of the DID document. |
origin_volt | string | The DID of the Volt that saved this version of the DID document. |
description | string | Optional description associated with the DID document. |
SaveCredentialRequest
Field | Type | Description |
description | string | A human-readable description of the credential. |
verifiable_credential | VerifiableCredential | Details of the credential to save. |
create_in_parent_id | string | Optional id of the folder resource to save the credential in. |
SaveCredentialResponse
Field | Type | Description |
status | Status | Details of any error that occurred on the call. |
id | string | The id assigned to the credential. |
json | string | The JSON representation of the credential. |
SearchDIDRegistryRequest
Field | Type | Description |
did_filter | string | Filter by DID itself. This is a prefix match, so searching for 'did:volt:123' will match 'did:volt:1234'. You can also exclude the 'did:volt:' prefix. |
description_filter | string | Filter by the (optional) description attached to the DID document. This will match any DID document whose description contains the specified string, for example 'John' will match 'John Smith', 'Elton John' and 'Jasper Johns-Frederick'. |
origin_filter | string | Filter by the origin Volt. This will match any DID document whose origin Volt matches exactly the given DID. |
page_number | uint32 | The page number to retrieve, defaults to 1. |
page_size | uint32 | The number of results per page, defaults to 100. |
SearchDIDRegistryResponse
Field | Type | Description |
status | Status | Details of any error that occurred on the call. |
did_document | DIDRegistryUpdate repeated | The DID documents that matched the search criteria. |
DIDRegistryUpdate
Field | Type | Description |
id | uint64 | The id of the update. Reserved for internal use. |
did | string | The id of the identity. |
operation | string | The type of update, either "add", "update" or "delete". |
document | string | The DID document contained in the update. |
hash | string | The hash of DID document. This is for internal use in comparisons. |
update_signature | string | The signature of the update. |
timestamp | uint64 | The timestamp of this update. |
vector_clock | DIDRegistryUpdate.VectorClockEntry repeated | The vector clocks for this DID. The vector clocks are a map of the peer ID to the id of the last update received for this DID. |
origin_volt | string | The id of the Volt that first created this DID. |
description | string | Optional description of this document, this is not part of the DID document or signature. |
DIDRegistryUpdate.VectorClockEntry
Field | Type | Description |
key | string | |
value | uint64 |
VerifiableCredential
Field | Type | Description |
id | string | The credential id. Leave empty when creating a new credential. |
status | string | The credential status, either "pending", "verified", or "revoked". |
type | string repeated | The credential types. |
issuer_id | string | The DID of the issuer. |
subject_json | string | The JSON of the credential subject. |
json | string | The full JSON of the credential. |
VerifiablePresentation
Field | Type | Description |
credential_json | string | The credential JSON. |
signature | string | A signature of the credential JSON. The signature should usually be that of the credential subject. |
Status
Field | Type | Description |
code | int32 | A simple error code that can be easily handled by the client. Mirrors the grpc StatusCode enum, 0 => OK |
message | string | A developer-facing human-readable error message in English. It should both explain the error and offer an actionable resolution to it. |
description | string | Long form error description. |
Scalar Value Types
.proto Type | Notes | C++ | Java | Python | Go | C# | PHP | Ruby |
double | double | double | float | float64 | double | float | Float | |
float | float | float | float | float32 | float | float | Float | |
int32 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) |
int64 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. | int64 | long | int/long | int64 | long | integer/string | Bignum |
uint32 | Uses variable-length encoding. | uint32 | int | int/long | uint32 | uint | integer | Bignum or Fixnum (as required) |
uint64 | Uses variable-length encoding. | uint64 | long | int/long | uint64 | ulong | integer/string | Bignum or Fixnum (as required) |
sint32 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) |
sint64 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. | int64 | long | int/long | int64 | long | integer/string | Bignum |
fixed32 | Always four bytes. More efficient than uint32 if values are often greater than 2^28. | uint32 | int | int | uint32 | uint | integer | Bignum or Fixnum (as required) |
fixed64 | Always eight bytes. More efficient than uint64 if values are often greater than 2^56. | uint64 | long | int/long | uint64 | ulong | integer/string | Bignum |
sfixed32 | Always four bytes. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) |
sfixed64 | Always eight bytes. | int64 | long | int/long | int64 | long | integer/string | Bignum |
bool | bool | boolean | boolean | bool | bool | boolean | TrueClass/FalseClass | |
string | A string must always contain UTF-8 encoded or 7-bit ASCII text. | string | String | str/unicode | string | string | string | String (UTF-8) |
bytes | May contain any arbitrary sequence of bytes. | string | ByteString | str | []byte | ByteString | string | String (ASCII-8BIT) |