Trust Registry Protocol

Conversion of OpenAPI Swagger Proposal into specification documentation.

TODO: Need to connect about direction on this. This is transport agnostic protocol about trust registries. Lots of overlap with DIF here IMO.

Trust Registry Queries

Metadata

The metadata interface provides a mechanism for external entities to request metadata about a Trust Registry.

Metadata Request

MetadataRequest messages are JSON objects that include Metadata properties and the following additional properties, which MUST be composed as follows:

  • The request MUST have the type field
  • The request MUST have a request field with the encoded MetadataRequest object.
{
    "type": "validateIssuer",
    "request": {
        "requester": did:example:12345,
        "credentialType": "mDL",
        "egfURI": www.example.com,
    }
}

Allows querying to determine the status of an Issuer, as identified by their Identifier (unique), credential type, and EGF that they are operating under.

Upon a request, the Trust Registry may return a Metadata Response object.

DIF spec returned? To look about how to combine with DIF.

{
    <DIF Spec>
}

Available Types:

The following available types SHOULD be implemented by a trust registry. If it is not implemented, the Trust Registry SHOULD return the following error code: 405 Method Not Allowed on query.

  • validateIssuer
  • queryTrustRegistry
  • queryVerifier

Objects

TR Metadata Response

A metadata response is a composite JSON object of the following fields:

  • The object MAY contain an governance field, with an governance object.
  • The object MAY contain an ecosystem field with an ecosystem object.

Governance Object

  • The object MAY have a field governingID which is a string referencing the id of the goverance authority. If specified, it MUST be of URIformat OR a did.
  • The object MAY have a field administrativeAuthorityId which is a string referencing the id of the administrative authority. If specified, it MUST be of URIformat OR a did.

Ecosystem Object

  • The object consists of the following:
    • It MAY have a property which is a list of tuples between id and roles which is a list of ids associated to different roles.
Role Object

A role object consists of the following:

  • The ID the

Metadata Request

  • The object MUST have a string id property, representing the did of the requester.
  • The object MUST have a credentialType property, of type string. This property represents the type of credential the metadata is requested of.
  • The object MUST have a egfURI property, of type string. The format of the object must be of URI type. The URI that points to the Ecosystem Governance Framework. Allows reserved characters per RFC3986. Do not escape the URI.
Select a repo