Skip to main content
A credential preset is a published, ready-to-use credential shape: its format, attributes, and disclosure rules. Once published, anyone issuing the credential refers to it by its identifier (something like acme:degree-certificate or didx:basic-identity). To issue a credential, you pick a preset and supply the per-recipient values for the attributes it declares. Think of the preset as a blank form: the fields, types, required markers, and disclosure rules are all baked in. Issuance is filling that form in for a specific person, and the platform stamping it with a cryptographic signature. The signed, filled-in form is the credential the user holds in their wallet.

Identifier and metadata

The metadata that identifies a preset is the same regardless of credential format: Once published, a preset is immutable; the identifier you choose at creation lives forever. Choose the slug carefully.

Two formats, two shapes

The rest of the preset’s body — templateAttributes, templateType, issuerConfig, validUntil — differs significantly between SD-JWT and mDoc. The two formats use different attribute structures, different signer options, and different validity rules. Each format gets its own anatomy page; pick the one that matches the credential you’re working with:

Anatomy of an SD-JWT credential preset

The default for most credentials. Selective disclosure built in, wide wallet support.

Anatomy of an mDoc credential preset

For ISO 18013-5 credentials such as mobile driving licences and government-issued ID.

Format-specific endpoints

Because the two shapes differ, the API exposes a separate sub-resource per format. Use the one that matches the credential format you’re working with: Prefer the format-specific endpoints in normal use: each accepts and returns a single, format-shaped schema with no discriminated union to navigate. The generic endpoints accept either format (discriminated by credentialFormat in the body) and exist for backwards compatibility. Credential templates follow the same split.

Three paths

Browse a credential preset

Find a preset already published by DIDx or another publisher and issue against it. No setup, no design work.

Create an SD-JWT preset

Publish your own SD-JWT credential shape so it can be issued by name.

Create an mDoc preset

Publish your own mDoc credential shape so it can be issued by name.

When a preset isn’t enough

If no preset matches your use case, you can define a one-off custom credential template instead. This is the exception, not the rule; most integrations don’t need it.