Interface DidDocumentMetadata

Represents metadata about the DID document resulting from a DID resolution operation.

This metadata typically does not change between invocations of the resolve and resolveRepresentation functions unless the DID document changes, as it represents metadata about the DID document.

interface DidDocumentMetadata {
    canonicalId?: string;
    created?: string;
    deactivated?: boolean;
    equivalentId?: string[];
    nextUpdate?: string;
    nextVersionId?: string;
    updated?: string;
    versionId?: string;
    [key: string]: any;
}

Hierarchy (view full)

Indexable

[key: string]: any

Properties

canonicalId?: string

The canonicalId property is identical to the equivalentId property except:

  • it is associated with a single value rather than a set
  • the DID is defined to be the canonical ID for the DID subject within the scope of the containing DID document.

A requesting party is expected to use the canonicalId value as its primary ID value for the DID subject and treat all other equivalent values as secondary aliases (e.g., update corresponding primary references in their systems to reflect the new canonical ID directive).

created?: string

Timestamp of the Create operation.

The value of the property MUST be a string formatted as an XML Datetime normalized to UTC 00:00:00 and without sub-second decimal precision. For example: 2020-12-20T19:17:47Z.

deactivated?: boolean

Whether the DID has been deactivated.

If a DID has been deactivated, DID document metadata MUST include this property with the boolean value true. If a DID has not been deactivated, this properrty is OPTIONAL, but if present, MUST have the boolean value false.

equivalentId?: string[]

A DID method can define different forms of a DID that are logically equivalent. An example is when a DID takes one form prior to registration in a verifiable data registry and another form after such registration. In this case, the DID method specification might need to express one or more DIDs that are logically equivalent to the resolved DID as a property of the DID document. This is the purpose of the equivalentId property.

A requesting party is expected to retain the values from the id and equivalentId properties to ensure any subsequent interactions with any of the values they contain are correctly handled as logically equivalent (e.g., retain all variants in a database so an interaction with any one maps to the same underlying account).

nextUpdate?: string

Timestamp of the next Update operation if the resolved document version is not the latest version of the document.

The value of the property MUST follow the same formatting rules as the created property.

nextVersionId?: string

Version ID of the next Update operation if the resolved document version is not the latest version of the document.

updated?: string

Timestamp of the last Update operation for the document version which was resolved.

The value of the property MUST follow the same formatting rules as the created property. The updated property is omitted if an Update operation has never been performed on the DID document. If an updated property exists, it can be the same value as the created property when the difference between the two timestamps is less than one second.

versionId?: string

Version ID of the last Update operation for the document version which was resolved.