Credential Schemas
Credential schemas are used to define the structure for the claims of a verifiable credential. It uses the Data Schema property of a credential. Schemas use the Verifiable Credentials JSON Schema 2022 specification, published by the W3C Credentials WG.
Using schemas allows tenants, organisations and users to
Agree on the structure of data and facilitate data exchange
Extract information from the schema
It is possible to create a credential without specifying a schema via the API, but the Enterprise Portal makes this step mandatory. In the portal, the schema is used to render an input form when creating a credential via the UI.
A credential schema, once published, is versioned and made available via a public URL. This allows anyone to validate it at any point in time.
Prerequisites
Verifiable Credential JSON Schema
Verifiable Credential JSON Schema
Each JSON Schema consists of the following mandatory attributes:
type (e.g. JsonSchemaValidator2018). The specific type definition determines the content of each data schema.
id (a URI that identifies the schema file) Credential schema upload is available to Tenant Administrators and must comply with the following rules:
A plain JSON object.
The structure is later checked based on the specification: JSON Schema
All the attributes in the example are required, but values could be different, e.g. URL address of Schema, name, description etc.
Below is an example JSON schema.
Who can use this?
Credential schemas are managed by a tenant administrator. They assign it to an organisation.
An organisation can list the credential schemas that are assigned to them.
Anyone can read the JSON schema (via a separate endpoint) that is part of the credential schema object.
Create Credential Schema
Creation of a credential schema.
Endpoint
Request
Name – name of the credential schema
JSON Schema - JSON schema file
List of organisations - organisations where this credential schema can be used (optional)
Responses
The credential schema object that is created. Upon creation, version 1.0
is assigned.
Read Credential Schemas
Retrieve a list of credential schemas.
Request
Request
Organisation (header)
Responses
List of credential schema objects available to the user.
In the context of an organisation, the organization_ids
attribute contains only one item - caller organisation ID.
Update Credential Schema
Update an existing credential schema by ID.
Note that in this version, the schema cannot be updated.
Endpoint:
Request
ID of Credential Schema
Name – name of the credential schema
List of organisations - organisations where this credential schema can be used (optional)
Responses
The updated credential schema object.
Read Verifiable Credential JSON Schema
Public endpoint that returns the JSON schema file. No authentication necessary.
Endpoint
Request
Id – ID of the Credential Schema
Version – Version of the Credential Schema
Responses
Returns JSON schema for a credential schema
Last updated