PlaycademyPlaycademy

CLR API

Comprehensive learner records

Overview

CLR (Comprehensive Learner Record) aggregates all of a student's achievements into a single, verifiable digital record.

It combines courses, badges, competencies, and experiences from multiple platforms into one portable transcript.

Use CLR to create holistic learner profiles that follow students throughout their educational journey.

External Documentation

ResourceLink
Official API DocsCLR API Docs
Specification1EdTech CLR v2.0

Key Concepts

ConceptDescription
CLRA complete record of a learner's achievements across multiple platforms
AchievementA single accomplishment (course completion, badge earned, skill mastered)
Verifiable CredentialCryptographically signed proof that achievements are authentic
IssuerThe organization or platform that issued the achievement

Common Use Cases

  • Create learner records: Aggregate achievements from your app into a CLR
  • Export transcripts: Provide students with portable, verifiable records
  • Combine achievements: Merge accomplishments from multiple learning platforms
  • Enable portability: Let students carry their learning history across systems

Essential Endpoints

EndpointPurpose
POST /clrCreate a comprehensive learner record
GET /clr/{id}Retrieve a learner record
PUT /clr/{id}Update a learner record with new achievements
GET /clr/{id}/achievementsList all achievements in a record

Examples

Create Learner Record

Request
curl -X POST $TIMEBACK_API_URL/ims/clr/v2p0/credentials/ \  -H "Authorization: Bearer $ACCESS_TOKEN" \  -H "Content-Type: application/json" \  -d '{    "@context": [      "https://www.w3.org/2018/credentials/v1",      "https://purl.imsglobal.org/spec/clr/v2p0/context.json"    ],    "id": "https://example.com/clr/123",    "type": ["VerifiableCredential", "ClrCredential"],    "issuer": {      "id": "https://your-school.edu",      "name": "Your School"    },    "credentialSubject": {      "id": "https://api.alpha-1edtech.ai/ims/oneroster/rostering/v1p2/users/student-123",      "type": ["LearnerProfile"],      "achievement": [        {          "id": "https://example.com/achievement/math-grade-5",          "type": ["Achievement"],          "name": "Math Grade 5 Completion",          "description": "Completed all 5th grade mathematics units"        }      ]    }  }'
const clr = await fetch(`${TIMEBACK_API_URL}/ims/clr/v2p0/credentials/`, {    method: 'POST',    headers: {        Authorization: `Bearer ${accessToken}`,        'Content-Type': 'application/json',    },    body: JSON.stringify({        '@context': [            'https://www.w3.org/2018/credentials/v1',            'https://purl.imsglobal.org/spec/clr/v2p0/context.json',        ],        id: 'https://example.com/clr/123',        type: ['VerifiableCredential', 'ClrCredential'],        issuer: {            id: 'https://your-school.edu',            name: 'Your School',        },        credentialSubject: {            id: `${TIMEBACK_API_URL}/ims/oneroster/rostering/v1p2/users/student-123`,            type: ['LearnerProfile'],            achievement: [                {                    id: 'https://example.com/achievement/math-grade-5',                    type: ['Achievement'],                    name: 'Math Grade 5 Completion',                    description: 'Completed all 5th grade mathematics units',                },            ],        },    }),})

On this page