Skip to content

OB3 reference

Public Verification & Downloads

Reference for public badge URLs, trust metadata, verification JSON, JSON-LD exports, PDF downloads, and status lists.

  • OAuth 2.0 with PKCE
  • OpenAPI schema
  • Credential and profile routes
Reference Key routes
GET

/discovery

Discovery document for standards-aware clients.

GET

/credentials

Credential read access for the authenticated subject.

PUT

/profile

Profile synchronization for issuer-managed records.

Canonical public URL

Public badge page

The public badge page is the primary share target for recipients and verifiers.

Verification payload

Verification JSON

Live verification JSON includes lifecycle state, Data Integrity proof checks, status list context, and timestamps.

Download variants

JSON-LD and PDF

Use clean alias routes for raw JSON-LD and polished printable PDF downloads.

Human-first links

Prefer the badge alias routes in user-facing surfaces

Badge pages, PDFs, emails, and LinkedIn flows should use /badges/:badgeIdentifier/... URLs instead of raw credential IDs with escaped tenant-scoped assertion identifiers. The assertion remains the internal lifecycle record; the badge URL is the human-facing verification surface.

Compatibility

Legacy credential ID routes still exist

Older /credentials/v1/:credentialId/... routes remain valid for compatibility, but the badge alias routes are the canonical public surface.

GETPublic

/badges/:badgeIdentifier

Human-readable public badge page with issuer details, evidence, trust metadata, wallet actions, and sharing controls.

GETPublic

/badges/:badgeIdentifier/verification

Returns live verification JSON including lifecycle state, Data Integrity proof summary, and verification checks.

GETPublic

/badges/:badgeIdentifier/jsonld

Returns the underlying credential as JSON-LD without attachment headers.

GETPublic

/badges/:badgeIdentifier/download

Returns the same JSON-LD credential as an attachment for direct download.

GETPublic

/badges/:badgeIdentifier/download.pdf

Downloads a polished PDF view with recipient, issuer, public badge, verification, and JSON-LD references.

GETPublic

/credentials/v1/status-lists/:tenantId/revocation

DataIntegrityProof-signed status list credential representing tenant revocation state for credential status verification.

Verification model

One response combines lifecycle state, W3C Data Integrity proof status, and status list evidence.

  • verification.status reports the effective lifecycle state.
  • verification.reason explains why the credential is not active, when applicable.
  • verification.checks captures status-list and credential validation outcomes.
  • verification.proof summarizes DataIntegrityProof verification for the credential payload.
  • credential returns the signed Open Badges 3.0 JSON-LD body so verifiers can inspect the source artifact.
Primary audience
Recipients, recruiters, employers, auditors, and campus verification staff
Cache behavior
Cache-Control: no-store on verification and export responses
Human share link
/badges/:badgeIdentifier
Machine verification link
/badges/:badgeIdentifier/verification

When an issued credential contains structured TrustEd metadata, the public badge page renders a Trust metadata section labeled TrustEd-aligned.

Human page

Inspectable structured fields

Verifiers can review skills, framework alignment, issuer authority, results, criteria, assessment, rubric, duration or credit, and endorsement data without parsing JSON by hand.

Machine export

JSON-LD carries the source record

The same trust metadata is embedded in the issued Open Badges 3.0 credential. Use /badges/:badgeIdentifier/jsonld when you need the full signed artifact, including the CredTrail TrustEd context and Data Integrity proof.

What it does not mean

Not a certification badge

TrustEd-aligned on the public page means structured trust metadata is published in the credential. It is not a 1EdTech certification mark and does not replace live verification status or Data Integrity proof checks.

Authoring, checklist status, and advisory readiness rules live in the TrustEd Credential readiness guide.

  1. Share the badge page. Recipients post or send the public badge URL as the canonical official record.

  2. Verify live state. Employers or other verifiers can inspect the human page or fetch verification JSON directly.

  3. Export the underlying artifact if needed. JSON-LD and PDF downloads remain available without exposing unfriendly internal identifiers.

Terminal window
curl -sS https://credtrail.org/badges/40a6dc92-85ec-4cb0-8a50-afb2ae700e22/verification | jq
{
"assertionId": "tenant_example:7df18c9c-1d19-42d7-9aa7-bd17e6d3cf74",
"tenantId": "tenant_example",
"issuedAt": "2026-03-04T22:49:00.000Z",
"verification": {
"status": "active",
"reason": null,
"checkedAt": "2026-03-07T19:03:12.000Z",
"expiresAt": null,
"revokedAt": null,
"checks": {
"jsonLdSafeMode": {
"status": "valid",
"reason": null
}
},
"proof": {
"status": "valid",
"format": "DataIntegrityProof",
"cryptosuite": "eddsa-rdfc-2022",
"verificationMethod": "did:web:credtrail.org:issuers:tenant_example#key-1",
"reason": null
}
},
"credential": {
"@context": [
"https://www.w3.org/ns/credentials/v2",
"https://purl.imsglobal.org/spec/ob/v3p0/context-3.0.3.json",
"https://credtrail.org/ns/trusted-credential/v1"
],
"type": ["VerifiableCredential", "OpenBadgeCredential"],
"proof": {
"type": "DataIntegrityProof",
"cryptosuite": "eddsa-rdfc-2022"
}
}
}