Metadata (DCP)

Specifications and best practice implementations for Verifiable Credentials are currently being developed. This page is expected to be updated, closely following these developments.

The GET request to the /metadata endpoint requests an overview of supported credential types by the issuer. The credential types that are defined by the iSHARE Framework are defined on the iSHARE Schemas Site. An iSHARE Participant Registry must, at a minimum, issue a Participant Credential. An iSHARE Authorisation Registry must, at a minimum, issue a Data Rights Credential.

The GET request to the /metadata is an OPTIONAL endpoint and is part of the iSHARE Framework's Verifiable Credentials support in line with the Decentralised Claims Protocol (DCP).

Gets credential types supported by the issuer

get

Retrieves a list of supported credential types that the issuer can provide. More information in the DCP specification. The credential types that are defined by the iSHARE Framework are defined on the iSHARE Schemas Site. An iSHARE Participant Registry must at minimum issue a Participant Credential. An iSHARE Authorization Registry must at minimum issue a Data Rights Credential.

Authorizations
AuthorizationstringRequired

iSHARE JWT Bearer token authentication

Responses
200

Metadata retrieved successfully

application/json
Responseall ofExample: { "@context": [ "https://w3id.org/dspace-dcp/v1.0/dcp.jsonld" ], "type": "IssuerMetadata", "issuer": "did:web:issuer-url", "credentialsSupported": [ { "id": "https://schemas.ishare.eu/v3/party/schema.json", "type": "CredentialObject", "credentialType": "PartyCredential", "credentialSchema": "https://schemas.ishare.eu/v3/party/schema.json", "bindingMethods": [ "did:ishare", "did:web" ], "profile": "vc20-bssl/jwt" } ] }
get
/metadata
GET /metadata HTTP/1.1
Host: 
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{ "@context": [ "https://w3id.org/dspace-dcp/v1.0/dcp.jsonld" ], "type": "IssuerMetadata", "issuer": "did:web:issuer-url", "credentialsSupported": [ { "id": "https://schemas.ishare.eu/v3/party/schema.json", "type": "CredentialObject", "credentialType": "PartyCredential", "credentialSchema": "https://schemas.ishare.eu/v3/party/schema.json", "bindingMethods": [ "did:ishare", "did:web" ], "profile": "vc20-bssl/jwt" } ] }

Request model

There are no request parameters defined.

Example request

GET /metadata
Authorization: Bearer YOUR_SECRET_TOKEN

Response model

The model for the IssuerMetadata is defined in: https://eclipse-dataspace-dcp.github.io/decentralized-claims-protocol/v1.0/resources/issuance/issuer-metadata-schema.json.

  • @context Array of Strings. Root level. (Required) Specifies a valid Json-Ld context. Must contain "https://w3id.org/dspace-dcp/v1.0/dcp.jsonld"

  • type String. Root level. (Required) A string specifying the CredentialStatus type. Must contain "IssuerMetadata"

  • issuer

    String. Root level. (Required) The credential issuer DID.

  • credentialsSupported Array of Objects. Root level. An array of credential objects that the issuer supports.

    • id String. Contained in credential object. (Required) A string defining a unique, stable identifier for this CredentialObject.

    • type String. Contained in credential object. (Required) A string specifying the object type. Must contain CredentialObject.

    • credentialType String. Contained in credential object. A single string specifying type of credential being offered.

    • credentialSchema String. Contained in credential object. A URL pointing to the credential schema of the object in a VC's credentialSubject property.

    • bindingMethods Array of strings. Contained in credential object. An array of strings defining the key material that an issued credential is bound to.

    • profile String. Contained in credential object. Contains the alias of the profiles, e.g. "vc20-bssl/jwt".

    • issuancePolicy Object. Contained in credential object. A presentation definition signifying the required Verifiable Presentation for issuance. Further details are omitted from this specifications, refer to https://identity.foundation/presentation-exchange/spec/v2.1.1/#presentation-definition for more information.

Example response

{
  "@context": [
    "https://w3id.org/dspace-dcp/v1.0/dcp.jsonld"
  ],
  "type": "IssuerMetadata",
  "issuer": "did:ishare:EU.NL.NTRLNL-10000000",
  "credentialsSupported": [
    {
      "id": "d5c77b0e-7f4e-4fd5-8c5f-28b5fc3f96d1",
      "type": "CredentialObject",
      "credentialType": "FrameworkRole",
      "credentialSchema": "https://schemas.ishare.eu/v3/party/claims/framework-role/schema.json",
      "bindingMethods": [
        "did:web"
      ],
      "profile": "vc10-sl2021/jwt",
      "issuancePolicy": {
        "id": "a468fc48-5c1a-43c7-903e-ab1851882afb",
        "input_descriptors": [
          {
            "id": "framework-compliance",
            "name": "Requires proof of compliance to framework",
            "purpose" :: 
            "constraints": {
              "fields": [
                {
                  "path": [
                    "$.vc.type"
                  ],
                  "filter": {
                    "type": "string",
                    "pattern": "^FrameworkCompliance$"
                  }
                }
              ]
            }
          }
        ]
      }
    }
  ]
}

Last updated