Public Draft

Open Badges 3.0 TrustEd Credential Profile

IPR and Distribution Notices

Recipients of this document are requested to submit, with their comments, notification of any relevant patent claims or other intellectual property rights of which they may be aware that might be infringed by any implementation of the specification set forth in this document, and to provide supporting documentation.

1EdTech takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on 1EdTech's procedures with respect to rights in 1EdTech specifications can be found at the 1EdTech Intellectual Property Rights web page: https://www.1edtech.org/ip.

Copyright © 1EdTech Consortium, Inc. All Rights Reserved.

Use of this specification to develop products or services is governed by the license with 1EdTech found on the 1EdTech website: https://www.1edtech.org/standards/specification-license.

Permission is granted to all parties to use excerpts from this document as needed in producing requests for proposals.

The limited permissions granted above are perpetual and will not be revoked by 1EdTech or its successors or assigns.

THIS SPECIFICATION IS BEING OFFERED WITHOUT ANY WARRANTY WHATSOEVER, AND IN PARTICULAR, ANY WARRANTY OF NONINFRINGEMENT IS EXPRESSLY DISCLAIMED. ANY USE OF THIS SPECIFICATION SHALL BE MADE ENTIRELY AT THE IMPLEMENTER'S OWN RISK, AND NEITHER THE CONSORTIUM, NOR ANY OF ITS MEMBERS OR SUBMITTERS, SHALL HAVE ANY LIABILITY WHATSOEVER TO ANY IMPLEMENTER OR THIRD PARTY FOR ANY DAMAGES OF ANY NATURE WHATSOEVER, DIRECTLY OR INDIRECTLY, ARISING FROM THE USE OF THIS SPECIFICATION.

Trademark information: https://www.1edtech.org/about/legal/trademarks

Abstract

This is the TrustEd Credentials profile of the1EdTech Open Badges Specification that aligns with Open Badges 3.0, the TrustEd Credentials Framework, and the conventions of the Verifiable Credentials Data Model v2.0. In the TrustEd Credentials Open Badges 3.0 Profile, some metadata fields that are optional in Open Badges 3.0 are required, such as Skills and Criteria, as are some Open Badges 3.0 extensions such as Assessments.

Like Open Badges 3.0,the credentials that are produced that adhere to the TrustEd Credentials Framework are easily be bundled into [=Comprehensive Learner Records=] and [=Verifiable Presentations=].

Introduction

Audiences

The target readers for this document are:

  • Business Leaders - the people who are responsible for identifying the business case for using verifiable digital credentials and badges
  • Solution Architects - the people who are responsible for the definition and design of systems, applications, and tools that are to be used to issue, exchange, and verify digital credentials and badges
  • Product Developers - the people who are adding functionality to issue, exchange, and verify digital credentials

Document Set

The Open Badges Specification has several related documents and artifacts shown below. Together they make up the specification.

JSON-LD Context File

When two people communicate with one another, the conversation takes place in a shared environment, typically called "the context of the conversation". This shared context allows the individuals to use shortcut terms, like the first name of a mutual friend, to communicate more quickly but without losing accuracy. A context in JSON-LD works in the same way. It allows two applications to use shortcut terms to communicate with one another more efficiently, but without losing accuracy.

Simply speaking, a context is used to map terms to IRIs. Terms are case sensitive and any valid string that is not a reserved JSON-LD keyword can be used as a term.

-- JSON-LD 1.1

JSON Schema

All JSON Schema can be found in JSON Schema. JSON Schema files for credential and API schema verification are available online:

Terminology

  • Authorization Server: This is a [=server=] that implements the OAuth 2.0 endpoints on behalf of the [=resource server=]. In many systems, the [=authorization server=] and the [=resource server=] are combined.
  • Badge: A single assertion of an achievement that is packaged as a verifiable credential.
  • Comprehensive Learner Record (CLR): Set of assertions that can be packaged as a verifiable credential.
  • Resource Server: This is the [=server=] that has the protected resources ([=badges=]). Also called Provider in the IMS Global Security Framework v1.1.
  • REST API: A style of web API (Application Programming Interface) loosely based on HTTP methods (DELETE, GET, POST, and PUT) to access resources (e.g. CLRs) via a URL.
  • server: In a [=REST API=], the server is the actor that responds to a DELETE, GET, or POST request. Also called a Platform in the IMS Global Security Framework v1.1.

Conformance Statements

As well as sections marked as non-normative, all authoring guidelines, diagrams, examples, and notes in this specification are non-normative. Everything else in this specification is normative.

The key words MAY, MUST, MUST NOT, OPTIONAL, RECOMMENDED, REQUIRED, SHALL, SHALL NOT, SHOULD, and SHOULD NOT in this document are to be interpreted as described in [RFC2119].

An implementation of this specification that fails to implement a MUST/REQUIRED/SHALL requirement or fails to abide by a MUST NOT/SHALL NOT prohibition is considered nonconformant. SHOULD/SHOULD NOT/RECOMMENDED statements constitute a best practice. Ignoring a best practice does not violate conformance but a decision to disregard such guidance should be carefully considered. MAY/OPTIONAL statements indicate that implementers are entirely free to choose whether or not to implement the option.

The Conformance and Certification Guide for this specification may introduce greater normative constraints than those defined here for specific service or implementation categories.

Overview

The TrustEd Credential Profile for Open Badges 3.0 defines a structured and interoperable approach for representing high-quality digital credentials. The profile establishes additional requirements and guidance for the use of existing OB3 properties, including achievementType, criteria, alignment, result, and evidence, to improve consistency, transparency, and interpretability.

The profile introduces conventions for representing credential meaning and achievement using existing Open Badges 3.0 properties, including achievementType, assessment, skills alignment, evidence, criteria, and outcomes. These conventions enable conformant systems to consistently interpret credential meaning and level of achievement without reliance on issuer-specific context.

What is the problem this solves for?

The proliferation of digital credentials has resulted in significant variability in how achievements are described and communicated. While OB3 provides a flexible data model, inconsistent use of properties such as criteria, alignment, result, and evidence limits the ability of receiving systems to reliably interpret credential meaning.

Key challenges include: • Lack of consistent use of achievementType, resulting in ambiguity between participation, knowledge acquisition, and applied competency. • Incomplete or inconsistent representation of alignment to skills or frameworks, reducing comparability across credentials. • Limited or non-standard use of evidence and result, making it difficult to assess rigor or level of achievement. • Absence of structured expectations for representing assessment methods, such as rubrics or validated assessments.

The TrustEd Credential Profile addresses these challenges by defining required and recommended usage patterns for Open Bages 3.0 properties, enabling consistent, machine-readable representation of credential quality, assessment, and outcomes.

Benefits and Opportunities

The TrustEd Credential Profile enables improved interoperability and interpretability of digital credentials across issuing and receiving systems.

For learners: • Credentials include structured use of alignment, result, and evidence, enabling clearer communication of demonstrated knowledge and skills. • Credentials can be transferred across systems while preserving meaning and required metadata.

For issuers: • Provides implementation guidance for consistent use of Open Badges 3.0 properties such as criteria, alignment, result, and evidence. • Enables explicit representation of achievement type through controlled use of achievementType. • Supports alignment to external frameworks through standardized use of alignment.

For receiving systems: • Enables reliable parsing and interpretation of credentials based on consistent metadata patterns. • Supports automated or semi-automated evaluation of credentials using result, evidence, and alignment. • Reduces reliance on issuer-specific interpretation or external validation.

For the ecosystem: • Establishes a common profile for representing high-quality credentials within OB3. • Improves interoperability by defining consistent usage of existing properties rather than introducing incompatible extensions. • Strengthens trust in digital credentials as verifiable and comparable representations of learning and achievement.

Use Cases

The use cases below drive the design of Open Badges 3.0 TrustEd Credential Profile specification.

Use Case 1: Issuing a TrustEd Knowledge Credential

An issuing organization awards a TrustEd Credential to a learner upon successful completion of an assessment that validates foundational knowledge.

The issuing system creates an Open Badges 3.0 credential conforming to the TrustEd Profile, including required metadata such as criteria, result, evidence, and alignment to skills or frameworks. Assessment details may also be included to clarify how the learner’s knowledge was evaluated. The credential is delivered to the learner and can be stored in a wallet or profile system. Any conformant receiving system can interpret the credential, understand the level of achievement, and verify its validity.

Use Case 2: Issuing a TrustEd Application Credential

An issuing organization awards a TrustEd Credential to a learner who demonstrates the ability to apply knowledge through a project, lab, or performance-based assessment.

The issuing system generates a credential that includes the required metadata for the TrustEd Profile, such as criteria, result, evidence, and alignment to skills or frameworks. Assessment details, such as rubric-based or performance-based evaluation information, may also be included to clarify how the learner demonstrated applied competence.

A receiving system, such as an employer platform, consumes the credential and can evaluate both the outcome and supporting evidence, enabling more informed decision-making.

Use Case 3: Verifying and Interpreting a TrustEd Credential

A receiving organization, such as an employer or another institution, receives a TrustEd Credential issued under the OB3 profile.

The receiving system validates the credential using OB3 verification mechanisms and interprets the TrustEd metadata fields. It evaluates the included achievementType, criteria, evidence, results, endorsements, and any available assessment details to understand the nature and rigor of the credential.

The organization uses this information to assess the learner’s level of competency without needing additional clarification from the issuer.

Use Case 4: Cross-Platform Credential Portability

A learner earns a TrustEd Credential from one platform and shares it with another platform or system.

The credential, structured according to the OB3 TrustEd Profile, is transferred without loss of meaning or required metadata. The receiving platform correctly parses and displays key fields such as skills, criteria, evidence, and results.

This enables seamless portability and supports learner mobility across systems, institutions, and employment contexts.

Changes to Open Badges 3.0 Specification

Summary of Changes

The TrustEd Credential Profile defines additional requirements and guidance for the use of existing Open Badges 3.0 properties to support consistent representation of credential quality and achievement. This includes structured use of `achievementType` to describe the nature of the achievement, and strengthened expectations for properties such as criteria, alignment, result, and evidence.

The profile also introduces guidance for representing assessment information, including use of rubrics, validated assessments, and outcome data, as well as expectations for accreditation and endorsement metadata. These changes enhance clarity, comparability, and interoperability while remaining fully compatible with the core OB3 specification.

Changes to the Data Model

This profile specializes the Open Badges 3.0 Data model by defining a set of changes, mainly modifying the cardinality of some properties to make them required.

Changes to Achievement

The existing following optional properties in Achievement are MANDATORY:

  • `achievementType`
  • `alignment`
  • `resultDescription`

The value of `achievementType` MUST identify the nature of the achievement using the Open Badges 3.0 `achievementType`vocabulary or another conformant term from an allowed extensible vocabulary.

Changes to AchievementCredential

The existing following optional properties in AchievementCredential are MANDATORY:

  • `awardedDate`
  • `evidence`

Changes to AchievementSubject

The existing following optional properties in AchievementSubject are MANDATORY:

  • `result`

Changes to Result

The existing following optional properties in Result are MANDATORY: A new property in Result 'resultDate' is MANDATORY

  • `resultDescription`

TrustEd Credential Profile Requirements

Achievement Type

  • A TrustEd Credential MUST include `achievementType`.
  • The value MUST identify the nature of the achievement using the Open Badges 3.0 achievementType vocabulary or another conformant term from an allowed extensible vocabulary.

Skills and Framework Alignment

  • A TrustEd Credential MUST include at least one `alignment`.
  • Each alignment MUST reference an external skills framework via URI.

Evidence

  • A TrustEd Credential MUST include at least one `evidence` object.

Result

  • A TrustEd Credential MUST include a `result`.
  • A TrustEd Credential MUST include `result.resultDate`.
  • If `resultDescription.rubricCriterionLevel` is present, `result.achievedLevel` MUST be included.

Criteria

  • A TrustEd Credential MUST include `criteria` as either a URI or narrative.

Assessment

  • Assessment information SHOULD be provided.
  • When present, it SHOULD follow OBEE assessment structures.

Duration

  • Duration information SHOULD be included using `creditsAvailable` and/or `creditsEarned`.

Endorsement

  • Endorsements SHOULD be included where applicable.

Accreditor

  • Accreditor information MUST be included using the applicable Open Badges Issuer Accreditation Extension version 2.0 for accreditor information.
  • The accreditor property MUST support multiple accreditor organizations.
  • Organizations that are not accredited MAY include an empty list of accreditors.

Data Models

Credential Data Models

Achievement

A collection of information about the accomplishment recognized by the Assertion. Many assertions may be created corresponding to one Achievement.

Property Type Description Multiplicity Privacy
id URI Unique URI for the Achievement. [1] N/A
type IRI The type MUST include the IRI 'Achievement'. [1..*] N/A
alignment Alignment An object describing which objectives or educational standards this achievement aligns to, if any. [0..*] N/A
achievementType AchievementType The type of achievement. This is an extensible vocabulary. [0..1] N/A
creator Profile The person or organization that created the achievement definition. [0..1] N/A
creditsAvailable Float Credit hours associated with this entity, or credit hours possible. For example 3.0. [0..1] N/A
criteria Criteria Criteria describing how to earn the achievement. [1] N/A
description String A short description of the achievement. [1] N/A
endorsement EndorsementCredential Allows endorsers to make specific claims about the Achievement. These endorsements are signed with a Data Integrity proof format. [0..*] N/A
endorsementJwt CompactJws Allows endorsers to make specific claims about the Achievement. These endorsements are signed with the VC-JWT proof format. [0..*] N/A
fieldOfStudy String Category, subject, area of study, discipline, or general branch of knowledge. Examples include Business, Education, Psychology, and Technology. [0..1] N/A
humanCode String The code, generally human readable, associated with an achievement. [0..1] N/A
image Image An image representing the achievement. [0..1] N/A
inLanguage LanguageCode The language of the achievement. [0..1] N/A
name String The name of the achievement. [1] N/A
otherIdentifier IdentifierEntry A list of identifiers for the described entity. [0..*] N/A
related Related The related property identifies another Achievement that should be considered the same for most purposes. It is primarily intended to identify alternate language editions or previous versions of Achievements. [0..*] N/A
resultDescription ResultDescription The set of result descriptions that may be asserted as results with this achievement. [0..*] N/A
specialization String Name given to the focus, concentration, or specific area of study defined in the achievement. Examples include 'Entrepreneurship', 'Technical Communication', and 'Finance'. [0..1] N/A
tag String One or more short, human-friendly, searchable, keywords that describe the type of achievement. [0..*] N/A
version String The version property allows issuers to set a version string for an Achievement. This is particularly useful when replacing a previous version with an update. [0..1] N/A

This class can be extended with additional properties.

AchievementCredential

AchievementCredentials are representations of an awarded achievement, used to share information about a achievement belonging to one earner. Maps to a Verifiable Credential as defined in the Verifiable Credentials Data Model v2.0. As described in data-integrity, at least one proof mechanism, and the details necessary to evaluate that proof, MUST be expressed for a credential to be a verifiable credential. In the case of an embedded proof, the credential MUST append the proof in the proof property.

Property Type Description Multiplicity Privacy
@context Context The value of the @context property MUST be an ordered set where the first item is a URI with the value 'https://www.w3.org/ns/credentials/v2', and the second item is a URI with the value 'https://purl.imsglobal.org/spec/ob/v3p0/context-3.0.3.json'. [2..*] N/A
id URI Unambiguous reference to the credential. [1] N/A
type IRI The value of the type property MUST be an unordered set. One of the items MUST be the URI 'VerifiableCredential', and one of the items MUST be the URI 'AchievementCredential' or the URI 'OpenBadgeCredential'. [1..*] N/A
name String The name of the credential for display purposes in wallets. For example, in a list of credentials and in detail views. [0..1] N/A
description String The short description of the credential for display purposes in wallets. [0..1] N/A
image Image The image representing the credential for display purposes in wallets. [0..1] N/A
awardedDate DateTimeZ Timestamp of when the credential was awarded. validFrom is used to determine the most recent version of a Credential in conjunction with issuer and id. Consequently, the only way to update a Credental is to update the validFrom, losing the date when the Credential was originally awarded. awardedDate is meant to keep this original date. [0..1] N/A
credentialSubject AchievementSubject The recipient of the achievement. [1] N/A
endorsement EndorsementCredential Allows endorsers to make specific claims about the credential, and the achievement and profiles in the credential. These endorsements are signed with a Data Integrity proof format. [0..*] N/A
endorsementJwt CompactJws Allows endorsers to make specific claims about the credential, and the achievement and profiles in the credential. These endorsements are signed with the VC-JWT proof format. [0..*] N/A
issuer ProfileRef A description of the individual, entity, or organization that issued the credential. [1] N/A
validFrom DateTimeZ Timestamp of when the credential becomes valid. [1] N/A
validUntil DateTimeZ If the credential has some notion of validity period, this indicates a timestamp when a credential should no longer be considered valid. After this time, the credential should be considered invalid. [0..1] N/A
proof Proof If present, one or more embedded cryptographic proofs that can be used to detect tampering and verify the authorship of the credential. [0..*] N/A
credentialSchema CredentialSchema The value of the credentialSchema property MUST be one or more data schemas that provide verifiers with enough information to determine if the provided data conforms to the provided schema. [0..*] N/A
credentialStatus CredentialStatus The information in CredentialStatus is used to discover information about the current status of a verifiable credential, such as whether it is suspended or revoked. [0..1] N/A
refreshService RefreshService The information in RefreshService is used to refresh the verifiable credential. [0..1] N/A
termsOfUse TermsOfUse The value of the termsOfUse property tells the verifier what actions it is required to perform (an obligation), not allowed to perform (a prohibition), or allowed to perform (a permission) if it is to accept the verifiable credential. [0..*] N/A
evidence Evidence A description of the work that the recipient did to earn the credential. This can be a page that links out to other pages if linking directly to the work is infeasible. [0..*] N/A

This class can be extended with additional properties.

AchievementSubject

A collection of information about the recipient of an achievement. Maps to Credential Subject in Verifiable Credentials Data Model v2.0.

Property Type Description Multiplicity Privacy
id URI An identifier for the Credential Subject. Either id or at least one identifier MUST be supplied. [0..1] N/A
type IRI The value of the type property MUST be an unordered set. One of the items MUST be the IRI 'AchievementSubject'. [1..*] N/A
activityEndDate DateTime The datetime the activity ended. [0..1] N/A
activityStartDate DateTime The datetime the activity started. [0..1] N/A
creditsEarned Float The number of credits earned, generally in semester or quarter credit hours. This field correlates with the Achievement creditsAvailable field. [0..1] N/A
achievement Achievement The achievement being awarded. [1] N/A
identifier IdentityObject Other identifiers for the recipient of the achievement. Either id or at least one identifier MUST be supplied. [0..*] N/A
image Image An image representing this user's achievement. If present, this must be a PNG or SVG image, and should be prepared via the 'baking' instructions. An 'unbaked' image for the achievement is defined in the Achievement class and should not be duplicated here. [0..1] N/A
licenseNumber String The license number that was issued with this credential. [0..1] N/A
narrative Markdown A narrative that connects multiple pieces of evidence. Likely only present at this location if evidence is a multi-value array. [0..1] N/A
result Result The set of results being asserted. [0..*] N/A
role String Role, position, or title of the learner when demonstrating or performing the achievement or evidence of learning being asserted. Examples include 'Student President', 'Intern', 'Captain', etc. [0..1] N/A
source Profile The person, organization, or system that assessed the achievement on behalf of the issuer. For example, a school may assess the achievement, while the school district issues the credential. [0..1] N/A
term String The academic term in which this assertion was achieved. [0..1] N/A

This class can be extended with additional properties.

Address

An address for the described entity.

Property Type Description Multiplicity Privacy
type IRI The value of the type property MUST be an unordered set. One of the items MUST be the IRI 'Address'. [1..*] N/A
addressCountry String A country. [0..1] N/A
addressCountryCode CountryCode A country code. The value must be a ISO 3166-1 alpha-2 country code Codes for the representation of names of countries and their subdivisions — Part 1: Country code. [0..1] N/A
addressRegion String A region within the country. [0..1] N/A
addressLocality String A locality within the region. [0..1] N/A
streetAddress String A street address within the locality. [0..1] N/A
postOfficeBoxNumber String A post office box number for PO box addresses. [0..1] N/A
postalCode String A postal code. [0..1] N/A
geo GeoCoordinates The geographic coordinates of the location. [0..1] N/A

This class can be extended with additional properties.

Alignment

Describes an alignment between an achievement and a node in an educational framework.

Property Type Description Multiplicity Privacy
type IRI The value of the type property MUST be an unordered set. One of the items MUST be the IRI 'Alignment'. [1..*] N/A
targetCode String If applicable, a locally unique string identifier that identifies the alignment target within its framework and/or targetUrl. [0..1] N/A
targetDescription String Short description of the alignment target. [0..1] N/A
targetName String Name of the alignment. [1] N/A
targetFramework String Name of the framework the alignment target. [0..1] N/A
targetType AlignmentTargetType The type of the alignment target node. [0..1] N/A
targetUrl URL URL linking to the official description of the alignment target, for example an individual standard within an educational framework. [1] N/A

This class can be extended with additional properties.

Criteria

Descriptive metadata about the achievements necessary to be recognized with an assertion of a particular achievement. This data is added to the Achievement class so that it may be rendered when the achievement assertion is displayed, instead of simply a link to human-readable criteria external to the achievement. Embedding criteria allows either enhancement of an external criteria page or increased portability and ease of use by allowing issuers to skip hosting the formerly-required external criteria page altogether. Criteria is used to allow would-be recipients to learn what is required of them to be recognized with an assertion of a particular achievement. It is also used after the assertion is awarded to a recipient to let those inspecting earned achievements know the general requirements that the recipients met in order to earn it.

Property Type Description Multiplicity Privacy
id URI The URI of a webpage that describes in a human-readable format the criteria for the achievement. [0..1] N/A
narrative Markdown A narrative of what is needed to earn the achievement. Markdown is allowed. [0..1] N/A

This class can be extended with additional properties.

EndorsementCredential

A verifiable credential that asserts a claim about an entity. As described in data-integrity, at least one proof mechanism, and the details necessary to evaluate that proof, MUST be expressed for a credential to be a verifiable credential. In the case of an embedded proof, the credential MUST append the proof in the proof property.

Property Type Description Multiplicity Privacy
@context Context The value of the @context property MUST be an ordered set where the first item is a URI with the value 'https://www.w3.org/ns/credentials/v2', and the second item is a URI with the value 'https://purl.imsglobal.org/spec/ob/v3p0/context-3.0.3.json'. [2..*] N/A
type IRI The value of the type property MUST be an unordered set. One of the items MUST be the URI 'VerifiableCredential', and one of the items MUST be the URI 'EndorsementCredential'. [1..*] N/A
id URI Unambiguous reference to the credential. [1] N/A
name String The name of the credential for display purposes in wallets. For example, in a list of credentials and in detail views. [1] N/A
description String The short description of the credential for display purposes in wallets. [0..1] N/A
credentialSubject EndorsementSubject The individual, entity, organization, assertion, or achievement that is endorsed and the endorsement comment. [1] N/A
awardedDate DateTimeZ Timestamp of when the credential was awarded. validFrom is used to determine the most recent version of a Credential in conjunction with issuer and id. Consequently, the only way to update a Credental is to update the validFrom, losing the date when the Credential was originally awarded. awardedDate is meant to keep this original date. [0..1] N/A
issuer ProfileRef A description of the individual, entity, or organization that issued the credential. [1] N/A
validFrom DateTimeZ Timestamp of when the credential becomes valid. [1] N/A
validUntil DateTimeZ If the credential has some notion of validity period, this indicates a timestamp when a credential should no longer be considered valid. After this time, the credential should be considered invalid. [0..1] N/A
proof Proof If present, one or more embedded cryptographic proofs that can be used to detect tampering and verify the authorship of the credential. [0..*] N/A
credentialSchema CredentialSchema The value of the credentialSchema property MUST be one or more data schemas that provide verifiers with enough information to determine if the provided data conforms to the provided schema. [0..*] N/A
credentialStatus CredentialStatus The information in CredentialStatus is used to discover information about the current status of a verifiable credential, such as whether it is suspended or revoked. [0..1] N/A
refreshService RefreshService The information in RefreshService is used to refresh the verifiable credential. [0..1] N/A
termsOfUse TermsOfUse The value of the termsOfUse property tells the verifier what actions it is required to perform (an obligation), not allowed to perform (a prohibition), or allowed to perform (a permission) if it is to accept the verifiable credential. [0..*] N/A
evidence Evidence A description of the work that the recipient did to earn the credential. This can be a page that links out to other pages if linking directly to the work is infeasible. [0..*] N/A

This class can be extended with additional properties.

EndorsementSubject

A collection of information about the subject of the endorsement.

Property Type Description Multiplicity Privacy
id URI The identifier of the individual, entity, organization, assertion, or achievement that is endorsed. [1] N/A
type IRI The value of the type property MUST be an unordered set. One of the items MUST be the URI 'EndorsementSubject'. [1..*] N/A
endorsementComment Markdown Allows endorsers to make a simple claim in writing about the entity. [0..1] N/A

This class can be extended with additional properties.

Evidence

Descriptive metadata about evidence related to the achievement assertion. Each instance of the evidence class present in an assertion corresponds to one entity, though a single entry can describe a set of items collectively. There may be multiple evidence entries referenced from an assertion. The narrative property is also in scope of the assertion class to provide an overall description of the achievement related to the assertion in rich text. It is used here to provide a narrative of achievement of the specific entity described. If both the description and narrative properties are present, displayers can assume the narrative value goes into more detail and is not simply a recapitulation of description.

Property Type Description Multiplicity Privacy
id URI The URL of a webpage presenting evidence of achievement or the evidence encoded as a Data URI. The schema of the webpage is undefined. [0..1] N/A
type IRI The value of the type property MUST be an unordered set. One of the items MUST be the IRI 'Evidence'. [1..*] N/A
narrative Markdown A narrative that describes the evidence and process of achievement that led to an assertion. [0..1] N/A
name String A descriptive title of the evidence. [0..1] N/A
description String A longer description of the evidence. [0..1] N/A
genre String A string that describes the type of evidence. For example, Poetry, Prose, Film. [0..1] N/A
audience String A description of the intended audience for a piece of evidence. [0..1] N/A

This class can be extended with additional properties.

GeoCoordinates

The geographic coordinates of a location.

Property Type Description Multiplicity Privacy
type IRI MUST be the IRI 'GeoCoordinates'. [1] N/A
latitude Float The latitude of the location World Geodetic System 1984 (WGS 84). [1] N/A
longitude Float The longitude of the location World Geodetic System 1984 (WGS 84). [1] N/A

This class can be extended with additional properties.

IdentifierEntry

Property Type Description Multiplicity Privacy
type IRI MUST be the IRI 'IdentifierEntry'. [1] N/A
identifier Identifier An identifier. [1] N/A
identifierType IdentifierTypeEnum The identifier type. [1] N/A

IdentityObject

A collection of information about the recipient of an achievement.

Property Type Description Multiplicity Privacy
type IRI MUST be the IRI 'IdentityObject'. [1] N/A
hashed Boolean Whether or not the identityHash value is hashed. [1] N/A
identityHash IdentityHash Either the IdentityHash of the identity or the plaintext value. If it's possible that the plaintext transmission and storage of the identity value would leak personally identifiable information where there is an expectation of privacy, it is strongly recommended that an IdentityHash be used. [1] N/A
identityType IdentifierTypeEnum The identity type. [1] N/A
salt String If the identityHash is hashed, this should contain the string used to salt the hash. If this value is not provided, it should be assumed that the hash was not salted. [0..1] N/A

Image

Metadata about images that represent assertions, achieve or profiles. These properties can typically be represented as just the id string of the image, but using a fleshed-out document allows for including captions and other applicable metadata.

Property Type Description Multiplicity Privacy
id URI The URI or Data URI of the image. [1] N/A
type IRI MUST be the IRI 'Image'. [1] N/A
caption String The caption for the image. [0..1] N/A

Profile

A Profile is a collection of information that describes the entity or organization using Open Badges. Issuers must be represented as Profiles, and endorsers, or other entities may also be represented using this vocabulary. Each Profile that represents an Issuer may be referenced in many BadgeClasses that it has defined. Anyone can create and host an Issuer file to start issuing Open Badges. Issuers may also serve as recipients of Open Badges, often identified within an Assertion by specific properties, like their url or contact email address.

Property Type Description Multiplicity Privacy
id URI Unique URI for the Issuer/Profile file. [1] N/A
type IRI The value of the type property MUST be an unordered set. One of the items MUST be the IRI 'Profile'. [1..*] N/A
name String The name of the entity or organization. [0..1] N/A
url URI The homepage or social media profile of the entity, whether individual or institutional. Should be a URL/URI Accessible via HTTP. [0..1] N/A
phone PhoneNumber [0..1] N/A
description String A short description of the issuer entity or organization. [0..1] N/A
endorsement EndorsementCredential Allows endorsers to make specific claims about the individual or organization represented by this profile. These endorsements are signed with a Data Integrity proof format. [0..*] N/A
endorsementJwt CompactJws Allows endorsers to make specific claims about the individual or organization represented by this profile. These endorsements are signed with the VC-JWT proof format. [0..*] N/A
image Image An image representing the issuer. This must be a PNG or SVG image. [0..1] N/A
email EmailAddress An email address. [0..1] N/A
address Address An address for the individual or organization. [0..1] N/A
otherIdentifier IdentifierEntry A list of identifiers for the described entity. [0..*] N/A
official String If the entity is an organization, official is the name of an authorized official of the organization. [0..1] N/A
parentOrg Profile The parent organization of the entity. [0..1] N/A
familyName String Family name. In the western world, often referred to as the 'last name' of a person. [0..1] N/A
givenName String Given name. In the western world, often referred to as the 'first name' of a person. [0..1] N/A
additionalName String Additional name. Includes what is often referred to as 'middle name' in the western world. [0..1] N/A
patronymicName String Patronymic name. [0..1] N/A
honorificPrefix String Honorific prefix(es) preceding a person's name (e.g. 'Dr', 'Mrs' or 'Mr'). [0..1] N/A
honorificSuffix String Honorific suffix(es) following a person's name (e.g. 'M.D, PhD'). [0..1] N/A
familyNamePrefix String Family name prefix. As used in some locales, this is the leading part of a family name (e.g. 'de' in the name 'de Boer'). [0..1] N/A
dateOfBirth Date Birthdate of the person. [0..1] N/A

This class can be extended with additional properties.

Related

Identifies a related achievement.

Property Type Description Multiplicity Privacy
id URI The related achievement. [1] N/A
type IRI The value of the type property MUST be an unordered set. One of the items MUST be the IRI 'Related'. [1..*] N/A
inLanguage LanguageCode The language of the related achievement. [0..1] N/A
version String The version of the related achievement. [0..1] N/A

This class can be extended with additional properties.

Result

Describes a result that was achieved.

Property Type Description Multiplicity Privacy
type IRI The value of the type property MUST be an unordered set. One of the items MUST be the IRI 'Result'. [1..*] N/A
achievedLevel URI If the result represents an achieved rubric criterion level (e.g. Mastered), the value is the id of the RubricCriterionLevel in linked ResultDescription. [0..1] N/A
alignment Alignment The alignments between this result and nodes in external frameworks. This set of alignments are in addition to the set of alignments defined in the corresponding ResultDescription object. [0..*] N/A
resultDescription URI An achievement can have many result descriptions describing possible results. The value of resultDescription is the id of the result description linked to this result. The linked result description must be in the achievement that is being asserted. [0..1] N/A
status ResultStatusType The status of the achievement. Required if resultType of the linked ResultDescription is Status. [0..1] N/A
value String A string representing the result of the performance, or demonstration, of the achievement. For example, 'A' if the recipient received an A grade in class. [0..1] N/A

This class can be extended with additional properties.

ResultDescription

Describes a possible achievement result.

Property Type Description Multiplicity Privacy
id URI The unique URI for this result description. Required so a result can link to this result description. [1] N/A
type IRI The value of the type property MUST be an unordered set. One of the items MUST be the IRI 'ResultDescription'. [1..*] N/A
alignment Alignment Alignments between this result description and nodes in external frameworks. [0..*] N/A
allowedValue String An ordered list of allowed values. The values should be ordered from low to high as determined by the achievement creator. [0..*] N/A
name String The name of the result. [1] N/A
requiredLevel URI The id of the rubric criterion level required to pass as determined by the achievement creator. [0..1] N/A
requiredValue String A value from allowedValue or within the range of valueMin to valueMax required to pass as determined by the achievement creator. [0..1] N/A
resultType ResultType The type of result this description represents. This is an extensible enumerated vocabulary. [1] N/A
rubricCriterionLevel RubricCriterionLevel An ordered array of rubric criterion levels that may be asserted in the linked result. The levels should be ordered from low to high as determined by the achievement creator. [0..*] N/A
valueMax String The maximum possible value that may be asserted in a linked result. [0..1] N/A
valueMin String The minimum possible value that may be asserted in a linked result. [0..1] N/A

This class can be extended with additional properties.

RubricCriterionLevel

Describes a rubric criterion level.

Property Type Description Multiplicity Privacy
id URI The unique URI for this rubric criterion level. Required so a result can link to this rubric criterion level. [1] N/A
type IRI The value of the type property MUST be an unordered set. One of the items MUST be the IRI 'RubricCriterionLevel'. [1..*] N/A
alignment Alignment Alignments between this rubric criterion level and a rubric criterion levels defined in external frameworks. [0..*] N/A
description String Description of the rubric criterion level. [0..1] N/A
level String The rubric performance level in terms of success. [0..1] N/A
name String The name of the rubric criterion level. [1] N/A
points String The points associated with this rubric criterion level. [0..1] N/A

This class can be extended with additional properties.

VerifiableCredential

A Verifiable Credential as defined in the Verifiable Credentials Data Model v2.0. As described in data-integrity, at least one proof mechanism, and the details necessary to evaluate that proof, MUST be expressed for a credential to be a verifiable credential. In the case of an embedded proof, the credential MUST append the proof in the proof property.

Property Type Description Multiplicity Privacy
@context Context The value of the @context property MUST be an ordered set where the first item is a URI with the value 'https://www.w3.org/ns/credentials/v2'. [1..*] N/A
id URI Unambiguous reference to the credential. [0..1] N/A
type IRI The value of the type property MUST be an unordered set. One of the items MUST be the URI 'VerifiableCredential'. [1..*] N/A
issuer ProfileRef A description of the individual, entity, or organization that issued the credential. [1] N/A
validFrom DateTimeZ Timestamp of when the credential becomes valid. [1] N/A
validUntil DateTimeZ If the credential has some notion of validity period, this indicates a timestamp when a credential should no longer be considered valid. After this time, the credential should be considered invalid. [0..1] N/A
credentialSubject CredentialSubject The subject of the credential. [1] N/A
proof Proof If present, one or more embedded cryptographic proofs that can be used to detect tampering and verify the authorship of the credential. [0..*] N/A
credentialSchema CredentialSchema The value of the credentialSchema property MUST be one or more data schemas that provide verifiers with enough information to determine if the provided data conforms to the provided schema. [0..*] N/A
credentialStatus CredentialStatus The information in CredentialStatus is used to discover information about the current status of a verifiable credential, such as whether it is suspended or revoked. [0..1] N/A
refreshService RefreshService The information in RefreshService is used to refresh the verifiable credential. [0..1] N/A
termsOfUse TermsOfUse The value of the termsOfUse property tells the verifier what actions it is required to perform (an obligation), not allowed to perform (a prohibition), or allowed to perform (a permission) if it is to accept the verifiable credential. [0..*] N/A
evidence Evidence A description of the work that the recipient did to earn the credential. This can be a page that links out to other pages if linking directly to the work is infeasible. [0..*] N/A

This class can be extended with additional properties.

ProfileRef

A description of the individual, entity, or organization that issued the credential. Either a URI with the Unique URI for the Issuer/Profile file, or a Profile object MUST be supplied. The ultimate representation of this class is a choice of exactly one of the classes in the following set:

Type Description
URI A NormalizedString that respresents a Uniform Resource Identifier (URI).
Profile A Profile is a collection of information that describes the entity or organization using Open Badges. Issuers must be represented as Profiles, and endorsers, or other entities may also be represented using this vocabulary. Each Profile that represents an Issuer may be referenced in many BadgeClasses that it has defined. Anyone can create and host an Issuer file to start issuing Open Badges. Issuers may also serve as recipients of Open Badges, often identified within an Assertion by specific properties, like their url or contact email address.

CredentialSchema

Identify the type and location of a data schema.

Property Type Description Multiplicity Privacy
id URI The value MUST be a URI identifying the schema file. One instance of CredentialSchema MUST have an id that is the URL of the JSON Schema for this credential defined by this specification. [1] N/A
type IRI The value MUST identify the type of data schema validation. One instance of CredentialSchema MUST have a type of '1EdTechJsonSchemaValidator2019'. [1] N/A

This class can be extended with additional properties.

CredentialStatus

The information in CredentialStatus is used to discover information about the current status of a verifiable credential, such as whether it is suspended or revoked.

Property Type Description Multiplicity Privacy
id URI The value MUST be the URL of the issuer's credential status method. [0..1] N/A
type IRI The name of the credential status method. [1] N/A

This class can be extended with additional properties.

CredentialSubject

Claims about the credential subject. Maps to Credential Subject as defined in the Verifiable Credentials Data Model v2.0.

Property Type Description Multiplicity Privacy
id URI The identity of the credential subject. [0..1] N/A

This class can be extended with additional properties.

Proof

A JSON-LD Linked Data proof.

Property Type Description Multiplicity Privacy
type IRI Signature suite used to produce proof. [1] N/A
created DateTime Date the proof was created. [0..1] N/A
cryptosuite String The suite used to create the proof. [0..1] N/A
challenge String A value chosen by the verifier to mitigate authentication proof replay attacks. [0..1] N/A
domain String The domain of the proof to restrict its use to a particular target. [0..1] N/A
nonce String A value chosen by the creator of proof to randomize proof values for privacy purposes. [0..1] N/A
proofPurpose String The purpose of the proof to be used with verificationMethod. MUST be 'assertionMethod'. [0..1] N/A
proofValue String Value of the proof. [0..1] N/A
verificationMethod URI The URL of the public key that can verify the signature. [0..1] N/A

This class can be extended with additional properties.

RefreshService

The information in RefreshService is used to refresh the verifiable credential.

Property Type Description Multiplicity Privacy
id URI The value MUST be the URL of the issuer's refresh service. [1] N/A
type IRI The name of the refresh service method. [1] N/A

This class can be extended with additional properties.

TermsOfUse

Terms of use can be utilized by an issuer or a holder to communicate the terms under which a verifiable credential or verifiable presentation was issued

Property Type Description Multiplicity Privacy
id URI The value MUST be a URI identifying the term of use. [0..1] N/A
type IRI The value MUST identify the type of the terms of use. [1] N/A

This class can be extended with additional properties.

Context

JSON-LD Context. Either a URI with the context definition or a Map with a local context definition MUST be supplied. The ultimate representation of this class is a choice of exactly one of the classes in the following set:

Type Description
URI A NormalizedString that respresents a Uniform Resource Identifier (URI).
Map A map representing an object with unknown, arbitrary properties

AchievementType Enumeration

The type of achievement, for example 'Award' or 'Certification'. This is an extensible enumerated vocabulary. Extending the vocabulary makes use of a naming convention.

Term Description
Achievement Represents a generic achievement.
ApprenticeshipCertificate Credential earned through work-based learning and earn-and-learn models that meet standards and are applicable to industry trades and professions. This is an exact match of ApprenticeshipCertificate in Credential Transparency Description Language Terms.
Assessment Direct, indirect, formative, and summative evaluation or estimation of the nature, ability, or quality of an entity, performance, or outcome of an action. This is an exact match of Assessment in Credential Transparency Description Language Terms.
Assignment Represents the result of a curricular, or co-curricular assignment or exam.
AssociateDegree College/university award for students typically completing the first one to two years of post secondary school education. Equivalent to an award at UNESCO ISCED 2011, Level 5. This is an exact match of AssociateDegree in Credential Transparency Description Language Terms.
Award Represents an award.
Badge Visual symbol containing verifiable claims in accordance with the Open Badges specification and delivered digitally. This is an exact match of Badge in Credential Transparency Description Language Terms.
BachelorDegree College/university award for students typically completing three to five years of education where course work and activities advance skills beyond those of the first one to two years of college/university study. Equivalent to an award at UNESCO ISCED 2011, Level 6. Use for 5-year cooperative (work-study) programs. A cooperative plan provides for alternate class attendance and employment in business, industry, or government; thus, it allows students to combine actual work experience with their college studies. Also includes bachelor's degrees in which the normal 4 years of work are completed in 3 years. This is an exact match of BachelorDegree in Credential Transparency Description Language Terms.
Certificate Credential that designates requisite knowledge and skills of an occupation, profession, or academic program. This is an exact match of Certificate in Credential Transparency Description Language Terms.
CertificateOfCompletion Credential that acknowledges completion of an assignment, training or other activity. A record of the activity may or may not exist, and the credential may or may not be designed as preparation for another resource such as a credential, assessment, or learning opportunity. This is an exact match of CertificateOfCompletion in Credential Transparency Description Language Terms.
Certification Time-limited, revocable, renewable credential awarded by an authoritative body for demonstrating the knowledge, skills, and abilities to perform specific tasks or an occupation. Certifications can typically be revoked if not renewed, for a violation of a code of ethics (if applicable) or proven incompetence after due process. Description of revocation criteria for a specific Certification should be defined using Revocation Profile. This is an exact match of Certification in Credential Transparency Description Language Terms.
CommunityService Represents community service.
Competency Measurable or observable knowledge, skill, or ability necessary to successful performance of a person. This is an exact match of Competency in Credential Transparency Description Language ASN Terms.
Course Represents a course completion.
CoCurricular Represents a co-curricular activity.
Degree Academic credential conferred upon completion of a program or course of study, typically over multiple years at a college or university. This is an exact match of Degree in Credential Transparency Description Language Terms.
Diploma Credential awarded by educational institutions for successful completion of a course of study or its equivalent. This is an exact match of Diploma in Credential Transparency Description Language Terms.
DoctoralDegree Highest credential award for students who have completed both a bachelor's degree and a master's degree or their equivalent as well as independent research and/or a significant project or paper. Equivalent to UNESCO ISCED, Level 8. This is an exact match of DoctoralDegree in Credential Transparency Description Language Terms.
Fieldwork Represents practical activities that are done away school, college, or place of work. Includes internships and practicums.
GeneralEducationDevelopment (GED) Credential awarded by examination that demonstrates that an individual has acquired secondary school-level academic skills. Equivalent to a secondary school diploma, based on passing a state- or province-selected examination such as GED, HiSET, or TASC; or to an award at UNESCO ISCED 2011 Levels 2 or 3. This is an exact match of GeneralEducationDevelopment in Credential Transparency Description Language Terms.
JourneymanCertificate Credential awarded to skilled workers on successful completion of an apprenticeship in industry trades and professions. This is an exact match of JourneymanCertificate in Credential Transparency Description Language Terms.
LearningProgram Set of learning opportunities that leads to an outcome, usually a credential like a degree or certificate. This is an exact match of LearningProgram in Credential Transparency Description Language Terms.
License Credential awarded by a government agency or other authorized organization that constitutes legal authority to do a specific job and/or utilize a specific item, system or infrastructure and are typically earned through some combination of degree or certificate attainment, certifications, assessments, work experience, and/or fees, and are time-limited and must be renewed periodically. This is an exact match of License in Credential Transparency Description Language Terms.
Membership Represents membership.
ProfessionalDoctorate Doctoral degree conferred upon completion of a program providing the knowledge and skills for the recognition, credential, or license required for professional practice. Equivalent to an award at UNESCO ISCED 2011, Level 8. This is an exact match of ProfessionalDoctorate in Credential Transparency Description Language Terms.
QualityAssuranceCredential Credential assuring that an organization, program, or awarded credential meets prescribed requirements and may include development and administration of qualifying examinations. This is an exact match of QualityAssuranceCredential in Credential Transparency Description Language Terms.
MasterCertificate Credential awarded upon demonstration through apprenticeship of the highest level of skills and performance in industry trades and professions. This is an exact match of MasterCertificate in Credential Transparency Description Language Terms.
MasterDegree Credential awarded for a graduate level course of study where course work and activities advance skills beyond those of the bachelor's degree or its equivalent. Equivalent to an award at UNESCO ISCED 2011, Level 7. This is an exact match of MasterDegree in Credential Transparency Description Language Terms.
MicroCredential Credential that addresses a subset of field-specific knowledge, skills, or competencies; often developmental with relationships to other micro-credentials and field credentials. This is an exact match of MicroCredential in Credential Transparency Description Language Terms.
ResearchDoctorate Doctoral degree conferred for advanced work beyond the master level, including the preparation and defense of a thesis or dissertation based on original research, or the planning and execution of an original project demonstrating substantial artistic or scholarly achievement. Equivalent to an award at UNESCO ISCED 2011, Level 8. This is an exact match of ResearchDoctorate in Credential Transparency Description Language Terms.
SecondarySchoolDiploma Diploma awarded by secondary education institutions for successful completion of a secondary school program of study. Equivalent to an award at UNESCO ISCED 2011 Levels 2 or 3. This is an exact match of SecondarySchoolDiploma in Credential Transparency Description Language Terms.

This class can be extended with additional properties.

AlignmentTargetType Enumeration

The type of the alignment target node in the target framework.

Term Description
ceasn:Competency An alignment to a CTDL-ASN/CTDL competency published by Credential Engine.
ceterms:Credential An alignment to a CTDL Credential published by Credential Engine.
CFItem An alignment to a CASE Framework Item.
CFRubric An alignment to a CASE Framework Rubric.
CFRubricCriterion An alignment to a CASE Framework Rubric Criterion.
CFRubricCriterionLevel An alignment to a CASE Framework Rubric Criterion Level.
CTDL An alignment to a Credential Engine Item.

This class can be extended with additional properties.

IdentifierTypeEnum Enumeration

Term Description
name
sourcedId
systemId
productId
userName
accountId
emailAddress
nationalIdentityNumber
isbn
issn
lisSourcedId
oneRosterSourcedId
sisSourcedId
ltiContextId
ltiDeploymentId
ltiToolId
ltiPlatformId
ltiUserId
identifier

This class can be extended with additional properties.

ResultType Enumeration

The type of result. This is an extensible enumerated vocabulary. Extending the vocabulary makes use of a naming convention.

Term Description
GradePointAverage The result is a grade point average.
LetterGrade The result is a letter grade.
Percent The result is a percent score.
PerformanceLevel The result is a performance level.
PredictedScore The result is a predicted score.
RawScore The result is a raw score.
Result A generic result.
RubricCriterion The result is from a rubric criterion.
RubricCriterionLevel The result is a rubric criterion level.
RubricScore The result represents a rubric score with both a name and a numeric value.
ScaledScore The result is a scaled score.
Status The result conveys the status of the achievement.

This class can be extended with additional properties.

ResultStatusType Enumeration

Defined vocabulary to convey the status of an achievement.

Term Description
Completed The learner has successfully completed the achievement. This is the default status if no status result is included.
Enrolled The learner is enrolled in the activity described by the achievement.
Failed The learner has unsuccessfully completed the achievement.
InProgress The learner has started progress in the activity described by the achievement.
OnHold The learner has completed the activity described by the achievement, but successful completion has not been awarded, typically for administrative reasons.
Provisional The learner has completed the activity described by the achievement, but the completed result has not yet been confirmed.
Withdrew The learner withdrew from the activity described by the achievement before completion.

The data models in this section are shared by Open Badges Specification v3.0 and Comprehensive Learner Record Standard v2.0.

Open Badges API Data Models

GetOpenBadgeCredentialsResponse

Property Type Description Multiplicity Privacy
credential AchievementCredential OpenBadgeCredentials that have not been signed with the VC-JWT Proof Format MUST be in the credential array. [0..*] N/A
compactJwsString CompactJws OpenBadgeCredentials that have been signed with the VC-JWT Proof Format MUST be in the compactJwsString array. [0..*] N/A

The data models in this section are used by the open-badges-api.

Shared API Data Models

Imsx_StatusInfo

This is the container for the status code and associated information returned within the HTTP messages received from the Service Provider.

Property Type Description Multiplicity Privacy
imsx_codeMajor Imsx_CodeMajor The code major value (from the corresponding enumerated vocabulary). [1] N/A
imsx_severity Imsx_Severity The severity value (from the corresponding enumerated vocabulary). [1] N/A
imsx_description String A human readable description supplied by the entity creating the status code information. [0..1] N/A
imsx_codeMinor Imsx_CodeMinor The set of reported code minor status codes. [0..1] N/A

Imsx_CodeMajor Enumeration

This is the set of primary status report values i.e. the major code assigned to the status block. This is used in conjunction with the 'Severity' structure in the status object.

Term Description
failure Denotes that the transaction request has failed. The detailed reason will be reported in the accompanying 'codeMinor' fields.
processing Denotes that the request is being processed at the destination or there has been a local transmission failure. This value is used in asynchronous services.
success Denotes that the request has been successfully completed. If the associated 'severity' value is 'warning' then the request has been partially successful i.e. best effort by the service provider. Other parts of the status information may provide more insight into a partial success response.
unsupported Denotes that the service provider does not support the requested operation. This is the required default response for an unsupported operation by an implementation.

Imsx_Severity Enumeration

This is the context for the status report values. This is used in conjunction with the 'CodeMajor' structure in the status object.

Term Description
error A catastrophic error has occurred in processing the request and so the request was not completed (the Service Provider may not even have received the request).
status The request has been completed and a response was received from the Service Provider.
warning The request has only been partially completed. For an asynchronous service a further response should be expected.

Imsx_CodeMinor

This is the container for the set of code minor status codes reported in the responses from the Service Provider.

Property Type Description Multiplicity Privacy
imsx_codeMinorField Imsx_CodeMinorField Each reported code minor status code. [1..*] N/A

Imsx_CodeMinorField

This is the container for a single code minor status code.

Property Type Description Multiplicity Privacy
imsx_codeMinorFieldName NormalizedString This should contain the identity of the system that has produced the code minor status code report. [1] N/A
imsx_codeMinorFieldValue Imsx_CodeMinorFieldValue The code minor status code (this is a value from the corresponding enumerated vocabulary). [1] N/A

Imsx_CodeMinorFieldValue Enumeration

This is the set of codeMinor status codes that are used to provide further insight into the completion status of the end-to-end transaction i.e. this should be used to provide more information than would be supplied by an HTTP code.

Term Description
forbidden This is used to indicate that the server can be reached and process the request but refuses to take any further action. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and for a REST binding a HTTP code of '403'.
fullsuccess The request has been fully and successfully implemented by the service provider. For a REST binding this will have an HTTP code of '200' for a successful search request.
internal_server_error This should be used only if there is catastrophic error and there is not a more appropriate code. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and for a REST binding a HTTP code of '500'.
invalid_data This error condition may occur if a JSON request/response body contains well-formed (i.e. syntactically correct), but semantically erroneous, JSON instructions. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and a HTTP code of '422'.
invalid_query_parameter An invalid data query parameter field was supplied and the query could not be processed. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and for a REST binding a HTTP code of '400'.
misdirected_request This is used to indicate that the request was made with a protocol that is not supported by the server. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and for a REST binding a HTTP code of '421'.
not_acceptable This is used to indicate that the server cannot provide a response with a Content-Type that matches any of the content types in the request Accept header. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and for a REST binding a HTTP code of '406'.
not_allowed This is used to indicate that the server does not allow the HTTP method. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and for a REST binding a HTTP code of '405'.
not_found This is used to indicate that the server did not find the resource. This would be accompanied by the 'codeMajor/severity' values of 'failure/status' and for a REST binding a HTTP code of '404'.
not_modified This is used to indicate that the server did not modify the resource. This would be accompanied by the 'codeMajor/severity' values of 'success/status' and for a REST binding a HTTP code of '304'.
server_busy The server is receiving too many requests. Retry at a later time. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and for a REST binding a HTTP code of '429'.
unauthorizedrequest The request was not correctly authorised. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and for a REST binding a HTTP code of '401'.
unknown Any other error occurred. This would be accompanied by the 'codeMajor/severity' values of 'failure/error' and for a REST binding a HTTP code corresponding to the error.

The data models in this section are shared by all 1EdTech service specifications.

Shared API Security Data Models

ServiceDescriptionDocument

The Service Description Document (SDD) is a machine readable document that contains the description of the service features supported by the Provider/Platform. The SDD is an OpenAPI 3.0 (JSON) OpenAPI Specification 3.0 structured document that MUST be a profiled version of the OpenAPI 3.0 (JSON) file provided with this specification. This profiled version contains all of the details about the supported set of service end-points, the supported optional data fields, definitions of the proprietary data fields supplied using the permitted extension mechanisms, definitions of the available proprietary endpoints, and information about the security mechanisms.

Property Type Description Multiplicity Privacy
openapi String This string MUST be the semantic version number of the OpenAPI Specification version that the OpenAPI document uses. The openapi field SHOULD be used by tooling specifications and clients to interpret the OpenAPI document. This is not related to the API info.version string. [1] N/A
info OpenApiInfo Information about the API and the [=resource server=]. [1] N/A
components OpenApiComponents Holds a set of reusable objects for different aspects of the OAS. [1] N/A

This class can be extended with additional properties.

OpenApiComponents

Holds a set of reusable objects for different aspects of the OAS. All objects defined within the components object will have no effect on the API unless they are explicitly referenced from properties outside the components object.

Property Type Description Multiplicity Privacy
securitySchemes OpenApiSecuritySchemes The Map of security scheme objects supported by this specification. [1] N/A

This class can be extended with additional properties.

OpenApiInfo

The object provides metadata about the API. The metadata MAY be used by the clients if needed, and MAY be presented in editing or documentation generation tools for convenience.

Property Type Description Multiplicity Privacy
termsOfService URL A fully qualified URL to the [=resource server=]'s terms of service. [1] N/A
title String The name of the [=resource server=]. [1] N/A
version String The version of the API. [1] N/A
x-imssf-image URI An image representing the [=resource server=]. MAY be a Data URI or the URL where the image may be found. [0..1] N/A
x-imssf-privacyPolicyUrl URL A fully qualified URL to the [=resource server=]'s privacy policy. [1] N/A

This class can be extended with additional properties.

OpenApiOAuth2SecurityScheme

Defines an OAuth2 security scheme that can be used by the operations.

Property Type Description Multiplicity Privacy
type String MUST be the string oauth2. [1] N/A
description String A short description for the security scheme. [0..1] N/A
x-imssf-registrationUrl URL A fully qualified URL to the Client Registration endpoint. [1] N/A

This class can be extended with additional properties.

OpenApiSecuritySchemes

The Map of security scheme objects supported by this specification.

Property Type Description Multiplicity Privacy
OAuth2ACG OpenApiOAuth2SecurityScheme REQUIRED if the [=authorization server=] supports the Authorization Code Grant Flow. [0..1] N/A

The data models in this section are shared by all 1EdTech service specifications.

Shared OAuth 2.0 Data Models

AuthorizationError Vocabulary

This is the set of ASCII error code strings that may be returned in response to a client authorization request. See Section 4.1 of The OAuth 2.0 Authorization Framework.

Term Description
invalid_request The request is missing a required parameter, includes an invalid parameter value, includes a parameter more than once, or is otherwise malformed.
unauthorized_client The client is not authorized to request an authorization code using this method.
access_denied The resource owner or authorization server denied the request.
unsupported_response_type The authorization server does not support obtaining an authorization code using this method.
invalid_scope The requested scope is invalid, unknown, or malformed.
server_error The authorization server encountered an unexpected condition that prevented it from fulfilling the request. (This error code is needed because a 500 Internal Server Error HTTP status code cannot be returned to the client via an HTTP redirect.)
temporarily_unavailable The authorization server is currently unable to handle the request due to a temporary overloading or maintenance of the server. (This error code is needed because a 503 Service Unavailable HTTP status code cannot be returned to the client via an HTTP redirect.)

RegistrationError Vocabulary

This is the set of ASCII error code strings that may be returned in response to a client registration request. See OAuth 2.0 Dynamic Client Registration Protocol.

Term Description
invalid_redirect_uri The value of one or more redirection URIs is invalid.
invalid_client_metadata The value of one of the client metadata fields is invalid and the server has rejected this request. Note that an authorization server MAY choose to substitute a valid value for any requested parameter of a client's metadata.
invalid_software_statement The software statement presented is invalid. This MUST only be returned if a Software Statement has been supplied in the registration request. Use of a Software Statement is NOT RECOMMENDED.
unapproved_software_statement The software statement presented is not approved for use by this authorization server. This MUST only be returned if a Software Statement has been supplied in the registration request. Use of a Software Statement is NOT RECOMMENDED.

TokenError Vocabulary

This is the set of ASCII error code strings that may be returned in response to a client token request. See Section 5.2 of The OAuth 2.0 Authorization Framework.

Term Description
invalid_request The request is missing a required parameter, includes an unsupported parameter value (other than grant type), repeats a parameter, includes multiple credentials, utilizes more than one mechanism for authenticating the client, or is otherwise malformed.
invalid_client Client authentication failed (e.g., unknown client, no client authentication included, or unsupported authentication method). The authorization server MAY return an HTTP 401 (Unauthorized) status code to indicate which HTTP authentication schemes are supported. If the client attempted to authenticate via the "Authorization" request header field, the authorization server MUST respond with an HTTP 401 (Unauthorized) status code and include the "WWW-Authenticate" response header field matching the authentication scheme used by the client.
invalid_grant The provided authorization grant (e.g., authorization code, resource owner credentials) or refresh token is invalid, expired, revoked, does not match the redirection URI used in the authorization request, or was issued to another client.
unauthorized_client The authenticated client is not authorized to use this authorization grant type.
unsupported_grant_type The authorization grant type is not supported by the authorization server.
unsupported_token_type The authorization server does not support the revocation of the presented token type. That is, the client tried to revoke an access token on a server not supporting this feature.
invalid_scope The requested scope is invalid, unknown, malformed, or exceeds the scope granted by the resource owner.

The data models in this section are shared by all 1EdTech service specifications.

Shared Proof Data Models

Multikey

Property Type Description Multiplicity Privacy
id URI The id of the verification method MUST be the JWK thumbprint calculated from the publicKeyMultibase property value according to [[?MULTIBASE]]. [1] N/A
type String The type of the verification method MUST be the string DataIntegrityProof. [0..1] N/A
cryptosuite String The cryptosuite of the verification method MUST be the string eddsa-rdf-2022. [1] N/A
controller URI The identify of the entity that controls this public key. [0..1] N/A
publicKeyMultibase String The publicKeyMultibase property of the verification method MUST be a public key encoded according to [[?MULTICODEC]] and formatted according to [[?MULTIBASE]]. The multicodec encoding of a Ed25519 public key is the two-byte prefix 0xed01 followed by the 32-byte public key data. [1] N/A

JWK

A JSON Web Key (JWK) formatted according to JSON Web Key (JWK).

Property Type Description Multiplicity Privacy
kty String The kty (key type) parameter identifies the cryptographic algorithm family used with the key, such as RSA or EC. [1] N/A
use String The use (public key use) parameter identifies the intended use of the public key, such as sig (signature) or end (encryption). [0..1] N/A
key_ops String The key_ops (key operations) parameter identifies the operation(s) for which the key is intended to be used, such as sign (compute digital signature or MAC) or verify (verify digital signature or MAC). [0..1] N/A
alg String The alg (algorithm) parameter identifies the algorithm intended for use with the key, such as RS256 or PS256. [0..1] N/A
kid String The kid (key ID) parameter is used to match a specific key. [0..1] N/A
x5u URI The x5u (X.509 URL) parameter is a URI that refers to a resource for an X.509 public key certificate or certificate chain Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile. [0..1] N/A
x5c String The x5c (X.509 certificate chain) parameter contains a chain of one or more PKIX certificates Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile. [0..*] N/A
x5t String The x5t (X.509 certificate SHA-1 thumbprint) parameter is a base64url-encoded SHA-1 thumbprint (a.k.a. digest) of the DER encoding of an X.509 certificate Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile. [0..1] N/A
x5t_S256 String The x5t#S256 (X.509 certificate SHA-256 thumbprint) parameter is a base64url-encoded SHA-256 thumbprint (a.k.a. digest) of the DER encoding of an X.509 certificate Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile. [0..1] N/A

This class can be extended with additional properties.

JWKS

A JWK Set (JWKS) formatted according to JSON Web Key (JWK).

Property Type Description Multiplicity Privacy
keys JWK A JWK Set is a JSON object that represents a set of JWKs. [1..*] N/A

Data models for the JSON Web Token Proof Format (VC-JWT) Verifiable Credentials Data Model v2.0 shared by Open Badges Specification v3.0 and Comprehensive Learner Record Standard v2.0.

Derived Types

Open Badges Data Model 3.0

Type Description
ASCIIString An ASCII ASCII format for network interchange string. The string MUST NOT include characters outside the set %x20-21 / %x23-5B / %x5D-7E.
BaseTerm A term in an enumeration which serves as a common term for all other entries in this enumeration, and as such is less specific. The lexical constraints are the same as for Term.
CompactJws A String in Compact JWS format JSON Web Signature (JWS).
CountryCode A two-digit ISO 3166-1 alpha-2 country code Codes for the representation of names of countries and their subdivisions — Part 1: Country code.
DateTimeZ A DateTime with the trailing timezone specifier included, e.g. 2021-09-07T02:09:59+02:00
EmailAddress A NormalizedString representing an email address.
Identifier A NormalizedString that functions as an identifier.
IdentityHash A String consisting of an algorithm identifier, a $ separator, and a hash across an identifier and an optionally appended salt string. The only supported algorithms are MD5 The MD5 Message-Digest Algorithm and SHA-256 FIPS PUB 180-4: Secure Hash Standard (SHS), identified by the strings 'md5' and 'sha256' respectively. Identifiers and salts MUST be encoded in UTF-8 prior to hashing, and the resulting hash MUST be expressed in hexadecimal using uppercase (A-F, 0-9) or lowercase character (a-f, 0-9) sets. For example: 'sha256$b5809d8a92f8858436d7e6b87c12ebc0ae1eac4baecc2c0b913aee2c922ef399' represents the result of calculating a SHA-256 hash on the string 'a@example.comKosher'. in which the email identifier 'a@example.com' is salted with 'Kosher'
IRI A NormalizedString that represents an Internationalized Resource Identifier (IRI), which extends the ASCII characters subset of the Uniform Resource Identifier (URI).
LanguageCode A language code Tags for Identifying Languages.
Markdown A String that may contain Markdown.
NumericDate An Integer representing the number of seconds from from 1970-01-01T00:00:00Z UTC until the specified UTC data/time, ignoring leap seconds.
PhoneNumber A NormalizedString representing a phone number.
Term A term in an enumeration. The lexical constraints are the same as for Token.
URI A NormalizedString that respresents a Uniform Resource Identifier (URI).
URL A URI that represents a Uniform Resource Locator (URL).
UUID An Identifier with the lexical restrictions of a UUID A Universally Unique IDentifier (UUID) URN Namespace

The derived types in this section are shared by all 1EdTech specifications.

Primitive Types

Open Badges Data Model 3.0

Type Description
Boolean A boolean, expressed as true or false
Date An Representation of dates and times. ISO 8601:2004. calendar date using the syntax YYYY-MM-DD.
DateTime An Representation of dates and times. ISO 8601:2004. time using the syntax YYYY-MM-DDThh:mm:ss.
Float
Integer
Language A language code Tags for Identifying Languages.
Map A map representing an object with unknown, arbitrary properties
Namespace A namespace data type for defining data from a context other than that as the default for the data model. This is used for importing other data models.
NonNegativeInteger
NormalizedString A String conforming to the normalizedString definition in W3C XML Schema Definition Language (XSD) 1.1 Part 2: Datatypes.
PositiveInteger
String Character strings.

The primitive types in this section are shared by all 1EdTech specifications.

Verification Support Data Models

AnyAchievementCredential

AnyAchievementCredential represents an AchievementCredential that might be built using Verifiable Credentials Data Model v1.1 or Verifiable Credentials Data Model v2.0. The scope of this class is only for verification purposes. It is not intended to be used in the creation of new credentials, where the AchievementCredential class MUST be used. The ultimate representation of this class is a choice of exactly one of the classes in the following set:

Type Description
AchievementCredentialv1p1 AchievementCredentials are representations of an awarded achievement, used to share information about a achievement belonging to one earner. Maps to a Verifiable Credential as defined in the Verifiable Credentials Data Model v2.0. As described in data-integrity, at least one proof mechanism, and the details necessary to evaluate that proof, MUST be expressed for a credential to be a verifiable credential. In the case of an embedded proof, the credential MUST append the proof in the proof property.
AchievementCredential AchievementCredentials are representations of an awarded achievement, used to share information about a achievement belonging to one earner. Maps to a Verifiable Credential as defined in the Verifiable Credentials Data Model v2.0. As described in data-integrity, at least one proof mechanism, and the details necessary to evaluate that proof, MUST be expressed for a credential to be a verifiable credential. In the case of an embedded proof, the credential MUST append the proof in the proof property.

AchievementCredentialv1p1

AchievementCredentials are representations of an awarded achievement, used to share information about a achievement belonging to one earner. Maps to a Verifiable Credential as defined in the Verifiable Credentials Data Model v2.0. As described in data-integrity, at least one proof mechanism, and the details necessary to evaluate that proof, MUST be expressed for a credential to be a verifiable credential. In the case of an embedded proof, the credential MUST append the proof in the proof property.

Property Type Description Multiplicity Privacy
@context Context The value of the @context property MUST be an ordered set where the first item is a URI with the value 'https://www.w3.org/2018/credentials/v1', and the second item is a URI with the value 'https://purl.imsglobal.org/spec/ob/v3p0/context-3.0.3.json'. [2..*] N/A
id URI Unambiguous reference to the credential. [1] N/A
type IRI The value of the type property MUST be an unordered set. One of the items MUST be the URI 'VerifiableCredential', and one of the items MUST be the URI 'AchievementCredential' or the URI 'OpenBadgeCredential'. [1..*] N/A
name String The name of the credential for display purposes in wallets. For example, in a list of credentials and in detail views. [1] N/A
description String The short description of the credential for display purposes in wallets. [0..1] N/A
image Image The image representing the credential for display purposes in wallets. [0..1] N/A
awardedDate DateTimeZ Timestamp of when the credential was awarded. validFrom is used to determine the most recent version of a Credential in conjunction with issuer and id. Consequently, the only way to update a Credental is to update the validFrom, losing the date when the Credential was originally awarded. awardedDate is meant to keep this original date. [0..1] N/A
credentialSubject AchievementSubjectv1p1 The recipient of the achievement. [1] N/A
endorsement EndorsementCredentialv1p1 Allows endorsers to make specific claims about the credential, and the achievement and profiles in the credential. These endorsements are signed with a Data Integrity proof format. [0..*] N/A
endorsementJwt CompactJws Allows endorsers to make specific claims about the credential, and the achievement and profiles in the credential. These endorsements are signed with the VC-JWT proof format. [0..*] N/A
issuer Profilev1p1 A description of the individual, entity, or organization that issued the credential. [1] N/A
issuanceDate DateTimeZ Timestamp of when the credential was issued. [1] N/A
expirationDate DateTimeZ If the credential has some notion of expiry, this indicates a timestamp when a credential should no longer be considered valid. After this time, the credential should be considered expired. [0..1] N/A
proof Proof If present, one or more embedded cryptographic proofs that can be used to detect tampering and verify the authorship of the credential. [0..*] N/A
credentialSchema CredentialSchema The value of the credentialSchema property MUST be one or more data schemas that provide verifiers with enough information to determine if the provided data conforms to the provided schema. [0..*] N/A
credentialStatus CredentialStatus The information in CredentialStatus is used to discover information about the current status of a verifiable credential, such as whether it is suspended or revoked. [0..1] N/A
refreshService RefreshService The information in RefreshService is used to refresh the verifiable credential. [0..1] N/A
termsOfUse TermsOfUse The value of the termsOfUse property tells the verifier what actions it is required to perform (an obligation), not allowed to perform (a prohibition), or allowed to perform (a permission) if it is to accept the verifiable credential. [0..*] N/A
evidence Evidence A description of the work that the recipient did to earn the credential. This can be a page that links out to other pages if linking directly to the work is infeasible. [0..*] N/A

This class can be extended with additional properties.

AnyEndorsementCredential

AnyEndorsementCredential represents an EndorsementCredential that might be built using Verifiable Credentials Data Model v1.1 or Verifiable Credentials Data Model v2.0. The scope of this class is only for verification purposes. It is not intended to be used in the creation of new credentials, where the EndorsementCredential class MUST be used. The ultimate representation of this class is a choice of exactly one of the classes in the following set:

Type Description
EndorsementCredential A verifiable credential that asserts a claim about an entity. As described in data-integrity, at least one proof mechanism, and the details necessary to evaluate that proof, MUST be expressed for a credential to be a verifiable credential. In the case of an embedded proof, the credential MUST append the proof in the proof property.
EndorsementCredentialv1p1 A verifiable credential that asserts a claim about an entity. As described in data-integrity, at least one proof mechanism, and the details necessary to evaluate that proof, MUST be expressed for a credential to be a verifiable credential. In the case of an embedded proof, the credential MUST append the proof in the proof property.

EndorsementCredentialv1p1

A verifiable credential that asserts a claim about an entity. As described in data-integrity, at least one proof mechanism, and the details necessary to evaluate that proof, MUST be expressed for a credential to be a verifiable credential. In the case of an embedded proof, the credential MUST append the proof in the proof property.

Property Type Description Multiplicity Privacy
@context Context The value of the @context property MUST be an ordered set where the first item is a URI with the value 'https://www.w3.org/2018/credentials/v1', and the second item is a URI with the value 'https://purl.imsglobal.org/spec/ob/v3p0/context-3.0.3.json'. [2..*] N/A
type IRI The value of the type property MUST be an unordered set. One of the items MUST be the URI 'VerifiableCredential', and one of the items MUST be the URI 'EndorsementCredential'. [1..*] N/A
id URI Unambiguous reference to the credential. [1] N/A
name String The name of the credential for display purposes in wallets. For example, in a list of credentials and in detail views. [1] N/A
description String The short description of the credential for display purposes in wallets. [0..1] N/A
credentialSubject EndorsementSubject The individual, entity, organization, assertion, or achievement that is endorsed and the endorsement comment. [1] N/A
awardedDate DateTimeZ Timestamp of when the credential was awarded. validFrom is used to determine the most recent version of a Credential in conjunction with issuer and id. Consequently, the only way to update a Credental is to update the validFrom, losing the date when the Credential was originally awarded. awardedDate is meant to keep this original date. [0..1] N/A
issuer Profilev1p1 A description of the individual, entity, or organization that issued the credential. [1] N/A
issuanceDate DateTimeZ Timestamp of when the credential was issued. [1] N/A
expirationDate DateTimeZ If the credential has some notion of expiry, this indicates a timestamp when a credential should no longer be considered valid. After this time, the credential should be considered expired. [0..1] N/A
proof Proof If present, one or more embedded cryptographic proofs that can be used to detect tampering and verify the authorship of the credential. [0..*] N/A
credentialSchema CredentialSchema The value of the credentialSchema property MUST be one or more data schemas that provide verifiers with enough information to determine if the provided data conforms to the provided schema. [0..*] N/A
credentialStatus CredentialStatus The information in CredentialStatus is used to discover information about the current status of a verifiable credential, such as whether it is suspended or revoked. [0..1] N/A
refreshService RefreshService The information in RefreshService is used to refresh the verifiable credential. [0..1] N/A
termsOfUse TermsOfUse The value of the termsOfUse property tells the verifier what actions it is required to perform (an obligation), not allowed to perform (a prohibition), or allowed to perform (a permission) if it is to accept the verifiable credential. [0..*] N/A
evidence Evidence A description of the work that the recipient did to earn the credential. This can be a page that links out to other pages if linking directly to the work is infeasible. [0..*] N/A

This class can be extended with additional properties.

VerifiableCredentialv1p1

A Verifiable Credential as defined in the Verifiable Credentials Data Model v1.1. As described in data-integrity, at least one proof mechanism, and the details necessary to evaluate that proof, MUST be expressed for a credential to be a verifiable credential. In the case of an embedded proof, the credential MUST append the proof in the proof property.

Property Type Description Multiplicity Privacy
@context Context The value of the @context property MUST be an ordered set where the first item is a URI with the value 'https://www.w3.org/2018/credentials/v1'. [1..*] N/A
id URI Unambiguous reference to the credential. [0..1] N/A
type IRI The value of the type property MUST be an unordered set. One of the items MUST be the URI 'VerifiableCredential'. [1..*] N/A
issuer Profilev1p1 A description of the individual, entity, or organization that issued the credential. [1] N/A
issuanceDate DateTimeZ Timestamp of when the credential was issued. [1] N/A
expirationDate DateTimeZ If the credential has some notion of expiry, this indicates a timestamp when a credential should no longer be considered valid. After this time, the credential should be considered expired. [0..1] N/A
credentialSubject CredentialSubject The subject of the credential. [1] N/A
proof Proof If present, one or more embedded cryptographic proofs that can be used to detect tampering and verify the authorship of the credential. [0..*] N/A
credentialSchema CredentialSchema The value of the credentialSchema property MUST be one or more data schemas that provide verifiers with enough information to determine if the provided data conforms to the provided schema. [0..*] N/A
credentialStatus CredentialStatus The information in CredentialStatus is used to discover information about the current status of a verifiable credential, such as whether it is suspended or revoked. [0..1] N/A
refreshService RefreshService The information in RefreshService is used to refresh the verifiable credential. [0..1] N/A
termsOfUse TermsOfUse The value of the termsOfUse property tells the verifier what actions it is required to perform (an obligation), not allowed to perform (a prohibition), or allowed to perform (a permission) if it is to accept the verifiable credential. [0..*] N/A
evidence Evidence A description of the work that the recipient did to earn the credential. This can be a page that links out to other pages if linking directly to the work is infeasible. [0..*] N/A

This class can be extended with additional properties.

AchievementSubjectv1p1

A collection of information about the recipient of an achievement. Maps to Credential Subject in Verifiable Credentials Data Model v2.0.

Property Type Description Multiplicity Privacy
id URI An identifier for the Credential Subject. Either id or at least one identifier MUST be supplied. [0..1] N/A
type IRI The value of the type property MUST be an unordered set. One of the items MUST be the IRI 'AchievementSubject'. [1..*] N/A
activityEndDate DateTime The datetime the activity ended. [0..1] N/A
activityStartDate DateTime The datetime the activity started. [0..1] N/A
creditsEarned Float The number of credits earned, generally in semester or quarter credit hours. This field correlates with the Achievement creditsAvailable field. [0..1] N/A
achievement Achievementv1p1 The achievement being awarded. [1] N/A
identifier IdentityObject Other identifiers for the recipient of the achievement. Either id or at least one identifier MUST be supplied. [0..*] N/A
image Image An image representing this user's achievement. If present, this must be a PNG or SVG image, and should be prepared via the 'baking' instructions. An 'unbaked' image for the achievement is defined in the Achievement class and should not be duplicated here. [0..1] N/A
licenseNumber String The license number that was issued with this credential. [0..1] N/A
narrative Markdown A narrative that connects multiple pieces of evidence. Likely only present at this location if evidence is a multi-value array. [0..1] N/A
result Result The set of results being asserted. [0..*] N/A
role String Role, position, or title of the learner when demonstrating or performing the achievement or evidence of learning being asserted. Examples include 'Student President', 'Intern', 'Captain', etc. [0..1] N/A
source Profilev1p1 The person, organization, or system that assessed the achievement on behalf of the issuer. For example, a school may assess the achievement, while the school district issues the credential. [0..1] N/A
term String The academic term in which this assertion was achieved. [0..1] N/A

Achievementv1p1

A collection of information about the accomplishment recognized by the Assertion. Many assertions may be created corresponding to one Achievement.

Property Type Description Multiplicity Privacy
id URI Unique URI for the Achievement. [1] N/A
type IRI [1..*] N/A
alignment Alignment An object describing which objectives or educational standards this achievement aligns to, if any. [0..*] N/A
achievementType AchievementType The type of achievement. This is an extensible vocabulary. [0..1] N/A
creator Profilev1p1 The person or organization that created the achievement definition. [0..1] N/A
creditsAvailable Float Credit hours associated with this entity, or credit hours possible. For example 3.0. [0..1] N/A
criteria Criteria Criteria describing how to earn the achievement. [1] N/A
description String A short description of the achievement. [1] N/A
endorsement EndorsementCredentialv1p1 Allows endorsers to make specific claims about the Achievement. These endorsements are signed with a Data Integrity proof format. [0..*] N/A
endorsementJwt CompactJws Allows endorsers to make specific claims about the Achievement. These endorsements are signed with the VC-JWT proof format. [0..*] N/A
fieldOfStudy String Category, subject, area of study, discipline, or general branch of knowledge. Examples include Business, Education, Psychology, and Technology. [0..1] N/A
humanCode String The code, generally human readable, associated with an achievement. [0..1] N/A
image Image An image representing the achievement. [0..1] N/A
inLanguage LanguageCode The language of the achievement. [0..1] N/A
name String The name of the achievement. [1] N/A
otherIdentifier IdentifierEntry A list of identifiers for the described entity. [0..*] N/A
related Related The related property identifies another Achievement that should be considered the same for most purposes. It is primarily intended to identify alternate language editions or previous versions of Achievements. [0..*] N/A
resultDescription ResultDescription The set of result descriptions that may be asserted as results with this achievement. [0..*] N/A
specialization String Name given to the focus, concentration, or specific area of study defined in the achievement. Examples include 'Entrepreneurship', 'Technical Communication', and 'Finance'. [0..1] N/A
tag String One or more short, human-friendly, searchable, keywords that describe the type of achievement. [0..*] N/A
version String The version property allows issuers to set a version string for an Achievement. This is particularly useful when replacing a previous version with an update. [0..1] N/A

This class can be extended with additional properties.

Profilev1p1

A Profile is a collection of information that describes the entity or organization using Open Badges. Issuers must be represented as Profiles, and endorsers, or other entities may also be represented using this vocabulary. Each Profile that represents an Issuer may be referenced in many BadgeClasses that it has defined. Anyone can create and host an Issuer file to start issuing Open Badges. Issuers may also serve as recipients of Open Badges, often identified within an Assertion by specific properties, like their url or contact email address.

Property Type Description Multiplicity Privacy
id URI Unique URI for the Issuer/Profile file. [1] N/A
type IRI The value of the type property MUST be an unordered set. One of the items MUST be the IRI 'Profile'. [1..*] N/A
name String The name of the entity or organization. [0..1] N/A
url URI The homepage or social media profile of the entity, whether individual or institutional. Should be a URL/URI Accessible via HTTP. [0..1] N/A
phone PhoneNumber [0..1] N/A
description String A short description of the issuer entity or organization. [0..1] N/A
endorsement EndorsementCredentialv1p1 Allows endorsers to make specific claims about the individual or organization represented by this profile. These endorsements are signed with a Data Integrity proof format. [0..*] N/A
endorsementJwt CompactJws Allows endorsers to make specific claims about the individual or organization represented by this profile. These endorsements are signed with the VC-JWT proof format. [0..*] N/A
image Image An image representing the issuer. This must be a PNG or SVG image. [0..1] N/A
email EmailAddress An email address. [0..1] N/A
address Address An address for the individual or organization. [0..1] N/A
otherIdentifier IdentifierEntry A list of identifiers for the described entity. [0..*] N/A
official String If the entity is an organization, official is the name of an authorized official of the organization. [0..1] N/A
parentOrg Profile The parent organization of the entity. [0..1] N/A
familyName String Family name. In the western world, often referred to as the 'last name' of a person. [0..1] N/A
givenName String Given name. In the western world, often referred to as the 'first name' of a person. [0..1] N/A
additionalName String Additional name. Includes what is often referred to as 'middle name' in the western world. [0..1] N/A
patronymicName String Patronymic name. [0..1] N/A
honorificPrefix String Honorific prefix(es) preceding a person's name (e.g. 'Dr', 'Mrs' or 'Mr'). [0..1] N/A
honorificSuffix String Honorific suffix(es) following a person's name (e.g. 'M.D, PhD'). [0..1] N/A
familyNamePrefix String Family name prefix. As used in some locales, this is the leading part of a family name (e.g. 'de' in the name 'de Boer'). [0..1] N/A
dateOfBirth Date Birthdate of the person. [0..1] N/A

This class can be extended with additional properties.

The data models in this section are used by the verification-and-validation process for supporting older credentials created with Verifiable Credentials Data Model v1.1.

IP Disclosures

IP disclosures are not listed yet.

List of Contributors

The following individuals contributed to the development of this document:

Name Affiliation Role
Trever Cox University of Central Oklahoma Editor
Mary Gwozdz UNICON Editor
Melissa Marsh Lockhart Georgia Institute of Technology (GA Tech) Editor
Nate Otto SkyBridge Skills Editor
Deanna Parker Solutions for Information Design (SOLID) Editor
Sonja Strahl University of Maryland Global Campus Editor
Susan Haught 1Edtech Editor
Emilie Rafal 1Edtech Editor
Rob Coyle 1Edtech Editor
Xavi Aracil 1Edtech Editor

Changelog

Changelog entries are not listed yet.

Revision History

VersionDoc VersionDateComments
Base Document2026-03-02Created Base document

Discussion