A credential template defines the schema for a verifiable credential — what attributes it contains, which are required, and which are always disclosed to verifiers. Templates are reusable: create one “Web Development Completion” template and use it to credential hundreds of youth.
You provide a human-readable code. The API uses it to generate a Verifiable Credential Type (VCT) URI — the unique identifier that connects issuers to verifiers across the ecosystem. Share this type URI with any verifying partner who needs to request credentials of this type.
Credential format: sd-jwt, mdoc, or preset (to create from an ecosystem preset)
name
string
Yes
Human-readable name for the template
code
string
Yes
Short identifier (e.g. course-completion). Alphanumeric, hyphens, and underscores only. The API uses this to generate the full VCT URI returned in the type field.
description
string
No
Description of what this credential represents
attributes
object
Yes
Key-value map of attribute definitions (see below)
Think carefully about alwaysDisclosed. This is a first-class concept, not a footnote:
alwaysDisclosed: true — The attribute is always visible to verifiers. Use for essential information like programme name and completion date.
alwaysDisclosed: false — The youth chooses whether to share this attribute. Use for sensitive information like assessment scores, personal identifiers, or anything the youth might reasonably want to keep private.
In the example above, Thandi can share her “Web Development Completion” credential with an employer while withholding her assessment score — that’s her choice, not the issuer’s or the verifier’s.
YoID provides ecosystem presets — standardised credential structures for common use cases. Partners can create a template directly from a preset, or customise one based on a preset.