Preview release.These docs are a work in progress. Pages are still being written, links may break, and structure may shift without notice. Treat everything here as a draft and report issues onGitHub.
Fetch SD-JWT VC Type Metadata at the well-known location
const url = 'https://example.com/.well-known/vct/example';const options = {method: 'GET'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://example.com/.well-known/vct/exampleReturns public SD-JWT VC Type Metadata at the SD-JWT VC well-known location. Consumers dereference an HTTPS vct by inserting /.well-known/vct between the host and the path; the server strips that prefix and matches the reconstructed vct (https://{host}/{vct_path}) against a configured OID4VCI credential configuration. The path key uses the OpenAPI single-segment form {vct_path} for standard tooling compatibility, but the route is a multi-segment catch-all: vct_path captures the full path remainder (slashes included, not percent-encoded) and may span multiple segments. This route is intentionally unversioned and must remain at /.well-known/vct/{vct_path}: per RFC 8615 well-known URI semantics, the path prefix is determined by the protocol and cannot be changed. Adding a /v1/ prefix would violate the well-known URI convention. This route serves type metadata only and is unrelated to POST /v1/credentials (credential issuance).
Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Full path remainder after /.well-known/vct/ captured as a multi-segment catch-all. The value is the unencoded path suffix of the VCT URL (slashes not percent-encoded) and may contain one or more segments.
Responses
Section titled “Responses”SD-JWT VC Type Metadata
object
object
object
Optional semantic binding for a Notary claim. These fields label the claim output or predicate with external vocabulary terms such as PublicSchema URIs; they do not change the Notary result shape or by themselves prove privacy minimization.
object
External concept URI, for example https://publicschema.org/Person.
External property URIs the predicate or derived value depends on.
External or local predicate URI/URN for derived boolean claims.
External property URI for raw value claims, for example https://publicschema.org/date_of_birth.
Operator label for the value mapping/canonicalization applied before returning the claim.
External vocabulary or value-set URI used by the claim value.
object
Example
{ "claims": [ { "display": [ { "label": "Person is alive", "locale": "en-US" } ], "mandatory": true, "path": [ "person-is-alive" ], "registry_notary_semantics": { "concept": "https://publicschema.org/Person", "derived_from": [ "https://publicschema.org/date_of_death" ], "predicate": "urn:registry-notary:predicate:person-is-alive" }, "sd": "always" } ], "display": [ { "background_color": "#0057B8", "description": "Proof that the civil registry currently records this person as alive.", "locale": "en-US", "name": "Person is alive", "text_color": "#FFFFFF" } ], "name": "Person is alive", "vct": "https://issuer.example.gov/credentials/person-is-alive"}OpenID4VCI issuer is disabled or no configured vct matches the reconstructed URL