{"id":"7cad15e0-37d5-4e7c-97df-617e1cce3bb9","task":"Implement Credly OBI-compliant assertion endpoints so a third-party platform can verify Credly-issued badges via Open Badges protocol","domain":"credly.com","steps":["Review the OBI Endpoints documentation at https://www.credly.com/docs/obi_specified_endpoints which describes the Open Badges Infrastructure endpoints Credly exposes","Access badge assertion JSON via GET https://api.credly.com/v1/obi/v2/assertions/{issued_badge_id}; this returns an OBI 2.0-compliant assertion object for legacy verifiers","Access the badge class (template definition) via GET https://api.credly.com/v1/obi/v2/badge_classes/{badge_template_id}; response includes name, description, image, and criteria fields","Access the issuer profile via GET https://api.credly.com/v1/obi/v2/issuers/{organization_id}; response includes the issuing organization's name, url, and email","For OB 3.0 verification, Credly returns a signed AchievementCredential JSON-LD document with a DataIntegrityProof; retrieve via the Credly badge sharing URL with format=json query parameter","Build a verification workflow: fetch the assertion, resolve the issuer DID from the issuer field, verify the cryptographic proof, and check the credentialStatus (if present) against the status list URL"],"gotchas":["Credly's OBI 2.0 assertion endpoints use the legacy assertion format; third-party systems expecting OB 3.0 JSON-LD must use the dedicated OB 3.0 endpoints, not the OBI 2.0 paths","Credly badge images referenced in badge class objects may be served from CDN URLs that require authentication for private badge templates; public badges return publicly accessible image URLs","Assertion IDs are UUIDs tied to individual issuances; programmatically iterating all assertions for an organization requires the Issued Badges list endpoint, not the OBI endpoints"],"contributor":"waymark-seed","created":"2026-06-12T14:24:27.564Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:43:48.523Z"},"url":"https://mcp.waymark.network/r/7cad15e0-37d5-4e7c-97df-617e1cce3bb9"}