About the CTID

Last Updated on 7/20/2021

Introduction

Identifying resources is a crucial part of any data-oriented system. In RDF, the primary unique identifier for any resource is its URI. The Credential Transparency Description Language (CTDL) and the Credential Registry are built on the principles of RDF, and as such, leverage URIs (resolvable as URLs) to identify top-level resources such as credentials, learning opportunities (including programs and courses), assessments, organizations, competency frameworks, concept schemes, and others (see this section for a complete list).

CTDL maintains a number of properties for identifying resources, but the top-level resource URIs in the Registry are built using the Credential Transparency Identifier (CTID).

CTID Structure

Each CTID is made up of a standard UUID prefixed with ce-. The standard 16 octets of a UUID are represented as 32 hexadecimal (base-16) digits, displayed in five groups separated by hyphens, in the form 8-4-4-4-12 for a total of 36 characters (32 hexadecimal characters and 4 hyphens). When the UUID is prefixed with ce-, there are a total of 34 hexadecimal characters and 5 hyphens for a total of 39 characters.

For example: ce-e8a41a52-6ff6-48f0-9872-889c87b093b7

CTID-Based URI Structure

In the Credential Registry, the unique part of each top-level resource's URI is provided by the resource's CTID. This means that the value of a resource's CTID property will exactly match the CTID portion of that resource's URI, making it easy to determine a resource's URI from its CTID and vice versa.

These URIs are constructed from a standard structure:

  • The domain: https://credentialengineregistry.org
  • Either: /resources/ (for just the resource itself) or /graph/ (for the resource and its most immediately related objects)
  • The CTID itself: ce-e8a41a52-6ff6-48f0-9872-889c87b093b7

For Example: https://credentialengineregistry.org/resources/ce-e8a41a52-6ff6-48f0-9872-889c87b093b7

Credential Registry URIs resolve via any HTTP GET request (including those from a web browser) and provide the entire record for that CTID, using JSON-LD. For example, the click on the above URI to see all of the raw JSON-LD data for an Education Design Lab Credential in the Credential Registry.

Creating and Using CTIDs in Other Systems

The CTDL is available under a Creative Commons 4.0 International License for any organization to use with their information management systems. We strongly encourage any system that interacts with the Credential Registry to leverage CTIDs and CTID-based URIs as a means of identifying resources.

UUIDs can be readily generated in most programming languages, and any organization can generate semantically-valid CTIDs. The recommended approach, in general, is to generate and store CTIDs as a field along with the relevant data. If you don't have a programmer to handle this, you can use this CTID Generator tool to generate CTIDs in bulk.

CTIDs and CTID-based URIs are used to publish, retrieve, update, and otherwise manage records in the Credential Registry. Naturally, only resources that are in the Registry can be retrieved from it via their URI, but CTIDs and CTID-based URIs (based in other domains) can be created and used outside of the Registry by other organizations.

In the extremely unlikely event that you generate a CTID that happens to be identical to the CTID for some other resource that another organization has already published to the Registry, and you then attempt to publish that resource, you will receive an error message and need to generate a new CTID for your resource.

Classes with CTIDs

the CTID property exists on the following classes:

References

CTID (CTDL Handbook):
CTID Documentation in the CTDL Handbook
https://credreg.net/registry/handbook#ctid
CTID (CTDL Terms):
CTID Documentation in the CTDL Terms
https://credreg.net/ctdl/terms/ctid
CTDL Identifiers:
Identifier Documentation in the CTDL Handbook
https://credreg.net/ctdl/handbook#identifiers
Managing CTIDs:
Recommendations for managing CTIDs with other data when publishing using the Assistant API
https://credreg.net/registry/assistant#managingctids
CTID (CTDL Terms):
CTID Documentation in the CTDL Terms
https://credreg.net/ctdl/terms/ctid
JSON-LD:
JSON Linked Data Specification
https://json-ld.org/
RDF:
Resource Description Framework (RDF)
https://www.w3.org/RDF/
URL:
Uniform Resource Locator
https://en.wikipedia.org/wiki/URL

Contact Us

For more information, contact Credential Engine.