> ## Documentation Index
> Fetch the complete documentation index at: https://docs.timeback.com/llms.txt
> Use this file to discover all available pages before exploring further.

# API Reference

> 1EdTech-compliant APIs for building applications on Timeback

Timeback provides **eight 1EdTech-compliant APIs** that work together to power educational applications. This reference documents each API's endpoints, data models, and use cases.

<img src="https://mintcdn.com/superbuilders/PPiOl45wtd5SHFky/diagrams/timeback-diagram.svg?fit=max&auto=format&n=PPiOl45wtd5SHFky&q=85&s=ccd66065ab0d119bc5039f761fd011fe" alt="Timeback API architecture" className="block dark:hidden w-full max-w-4xl mx-auto my-6" width="3090" height="2162" data-path="diagrams/timeback-diagram.svg" />

<img src="https://mintcdn.com/superbuilders/PPiOl45wtd5SHFky/diagrams/timeback-diagram-dark.svg?fit=max&auto=format&n=PPiOl45wtd5SHFky&q=85&s=14de24b709efabbea430c9a240be35a5" alt="Timeback API architecture" className="hidden dark:block w-full max-w-4xl mx-auto my-6" width="3090" height="2162" data-path="diagrams/timeback-diagram-dark.svg" />

## The APIs

| API             | Purpose                                                            |
| --------------- | ------------------------------------------------------------------ |
| **OneRoster**   | Manage courses, rosters, enrollments, and assessment results       |
| **EduBridge**   | Simplified resource management and pre-aggregated analytics        |
| **Caliper**     | Track learning sessions, activity events, and calculate XP         |
| **QTI**         | Create, deliver, and score digital assessments                     |
| **PowerPath**   | Adaptive quizzes, placement tests, and mastery progression         |
| **CASE**        | Align content to academic standards (CCSS, NGSS, state frameworks) |
| **Open Badges** | Issue and verify digital credentials                               |
| **CLR**         | Comprehensive learner records aggregating achievements             |

## Core APIs: OneRoster + Caliper

Most integrations use **OneRoster** and **Caliper** together. These two APIs handle the majority of educational data flows.

<Tabs>
  <Tab title="OneRoster">
    ### What OneRoster Manages

    | Resource              | Purpose                              |
    | --------------------- | ------------------------------------ |
    | **Courses**           | What content exists ("Math Grade 5") |
    | **Classes**           | Specific offerings of a course       |
    | **Students**          | Who uses your app                    |
    | **Enrollments**       | Who can access what                  |
    | **Resources**         | Learning materials (videos, quizzes) |
    | **AssessmentResults** | Scores and XP earned                 |

    Use OneRoster when you need to structure educational content, manage student enrollments, or store assessment results.
  </Tab>

  <Tab title="Caliper">
    ### What Caliper Tracks

    | Event Type         | Purpose                                  |
    | ------------------ | ---------------------------------------- |
    | **ActivityEvent**  | Started/completed activities with scores |
    | **TimeSpentEvent** | Active vs inactive learning time         |

    Use Caliper when you need to track student activity, measure learning time, or build analytics dashboards.
  </Tab>
</Tabs>

### How They Work Together

<Steps>
  <Step title="Create course structure">
    Use **OneRoster** to create a course, add components (units/lessons), and attach resources.
  </Step>

  <Step title="Enroll students">
    Use **OneRoster** (or **EduBridge**) to enroll students in the course, giving them access to
    content.
  </Step>

  <Step title="Track learning">
    Use **Caliper** to track when students start and complete activities in real-time.
  </Step>

  <Step title="Store results">
    Use **OneRoster** to store final scores, XP, and mastery data in assessment results.
  </Step>
</Steps>

## Additional APIs

<AccordionGroup>
  <Accordion title="EduBridge">
    Convenience layer on top of OneRoster for common operations.

    | Feature                  | Purpose                                   |
    | ------------------------ | ----------------------------------------- |
    | **Enrollment Analytics** | Aggregate XP, time, and progress per user |
    | **Subject Tracks**       | Manage K-12 curriculum sequences          |
    | **Bulk Operations**      | Enroll/unenroll students efficiently      |
    | **Weekly Facts**         | Quick insights for dashboards             |

    Use EduBridge when you need simplified access to common queries.
  </Accordion>

  <Accordion title="QTI">
    Create, deliver, and score digital assessments using standardized question formats.

    | Feature              | Purpose                              |
    | -------------------- | ------------------------------------ |
    | **Question Items**   | Multiple choice, true/false, fill-in |
    | **Assessment Tests** | Combine items into quizzes and exams |
    | **Scoring**          | Automatic grading with rubrics       |
    | **Item Banking**     | Reusable question libraries          |

    Use QTI when you need standardized assessment formats that work across platforms.
  </Accordion>

  <Accordion title="PowerPath">
    Deliver adaptive quizzes that adjust difficulty based on student performance.

    | Feature              | Purpose                                |
    | -------------------- | -------------------------------------- |
    | **Placement Tests**  | Determine starting grade level         |
    | **Adaptive Quizzes** | Questions adjust to student ability    |
    | **Mastery Tracking** | Monitor progress toward learning goals |
    | **Path Progression** | Unlock content based on performance    |

    Use PowerPath for personalized learning paths that adapt to each student.
  </Accordion>

  <Accordion title="CASE">
    Align educational content to academic standards frameworks.

    | Feature                    | Purpose                             |
    | -------------------------- | ----------------------------------- |
    | **Standards Frameworks**   | Link to CCSS, NGSS, state standards |
    | **Competency Definitions** | Define learning objectives          |
    | **Content Alignment**      | Tag resources with standards        |
    | **Crosswalks**             | Map between different frameworks    |

    Use CASE when you need to demonstrate curriculum compliance.
  </Accordion>

  <Accordion title="CLR">
    Create comprehensive learner records that aggregate achievements across platforms.

    | Feature                    | Purpose                              |
    | -------------------------- | ------------------------------------ |
    | **Achievement Records**    | Compile all learning accomplishments |
    | **Cross-Platform Data**    | Aggregate from multiple sources      |
    | **Verifiable Transcripts** | Cryptographically signed records     |
    | **Standards-Based**        | Link achievements to competencies    |

    Use CLR for portfolio systems or comprehensive learner records.
  </Accordion>

  <Accordion title="Open Badges">
    Issue and verify digital credentials.

    | Feature            | Purpose                                  |
    | ------------------ | ---------------------------------------- |
    | **Badge Issuance** | Create and award digital badges          |
    | **Verification**   | Cryptographically verifiable credentials |
    | **Metadata**       | Rich descriptions of achievements        |
    | **Portability**    | Students own and share their badges      |

    Use Open Badges when you need verifiable digital credentials.
  </Accordion>
</AccordionGroup>

## Authentication

All API requests require **OAuth 2.0** authentication using the client credentials flow.

<Steps>
  <Step title="Get credentials">
    Complete [first steps](/beta/build-on-timeback/first-steps) to receive your **Client ID** and **Client Secret**.
  </Step>

  <Step title="Generate access token">
    Exchange credentials for an access token:

    ```bash theme={null}
    curl -X POST $TIMEBACK_AUTH_URL/oauth2/token \
      -H "Content-Type: application/x-www-form-urlencoded" \
      -d "grant_type=client_credentials&client_id=$CLIENT_ID&client_secret=$CLIENT_SECRET"
    ```
  </Step>

  <Step title="Use token in requests">
    Include the token in all API requests. Tokens expire after 1 hour.

    ```bash theme={null}
    curl $TIMEBACK_API_URL/ims/oneroster/rostering/v1p2/courses \
      -H "Authorization: Bearer $ACCESS_TOKEN"
    ```
  </Step>
</Steps>

## Environments

| Environment    | Purpose                 |
| -------------- | ----------------------- |
| **Staging**    | Development and testing |
| **Production** | Live applications       |

Credentials are environment-specific. Request access for each environment you need.

## What's Next

<CardGroup cols={2}>
  <Card title="OneRoster API" href="/beta/api-reference/overview">
    Courses, enrollments, and assessment results
  </Card>

  <Card title="Caliper API" href="/beta/api-reference/overview">
    Activity tracking and learning events
  </Card>

  <Card title="Integration Levels" href="/beta/build-on-timeback/first-steps">
    Choose your integration depth
  </Card>

  <Card title="Quickstart" href="/beta/build-on-timeback/start-building/existing-apps">
    Get started building
  </Card>
</CardGroup>
