Learnosity Integration

Learnosity-PaperScorer API

Specialized API documentation for integrating PaperScorer's advanced printing and scanning capabilities into your Learnosity assessment platform. Works alongside the PaperScorer Core API.

Overview

The Learnosity-PaperScorer API enables seamless integration between PaperScorer's paper-based assessment capabilities and your Learnosity platform. Generate answer sheets directly from Learnosity Items or Activities, and sync scores back to Learnosity sessions for unified reporting.

Base URL

https://learnosity.paperscorer.com

Supported Learnosity Item Types

PaperScorer can convert the following Learnosity item types to paper assessment sheets

Multiple Choice

Standard and block layout formats

Auto-scored

Multiple Choice (Multiple Response)

Select all that apply questions

Auto-scored

True or False

Binary response questions

Auto-scored

Math (Fill in the Blanks)

Numeric response questions

Auto-scored

Cloze Math

Mathematical fill-in questions

Auto-scored

Match List

Matching questions

Auto-scored

Order List

Sequencing questions

Auto-scored

Sort List

Categorization questions

Auto-scored

Gridded

Grid-based numeric responses

Auto-scored

Essay (Rich Text)

Long-form written responses

Manual

Essay (Plain Text)

Plain text responses

Manual

Short Text

Brief written responses

Manual

More question types coming soon

Integration Workflow

Follow these steps to integrate PaperScorer with your Learnosity platform

1

Authentication

Authentication is handled automatically on every Learnosity API request — no separate login call is required. Each request must include three required headers that identify the client and the Learnosity itembank to read from.

  • Client-Id and Client-Domain are issued by PaperScorer when your account is provisioned.
  • Consumer-Key is the Learnosity consumer key for the itembank PaperScorer should read from.
  • These headers are sent on every request. There is no token to refresh and no separate authentication endpoint to call.

Required Headers

Client-Id<your-client-id>
Client-Domain<your-client-domain>
Consumer-Key<learnosity-consumer-key>
2

Answer Sheet Generation

Educators create bubble sheets directly from Learnosity Item IDs or Activity IDs. The system generates answer sheets that map to your Learnosity assessments.

  • A unique URL is returned by the endpoints to a PDF file, which can be printed and distributed to students.
  • Each answer sheet receives a Form ID for later score retrieval.
  • Supports multiple Learnosity item types including multiple choice, true/false, and more.

Relevant Endpoints

Get Answer Sheet PDF by Item/api/get-answer-sheet-pdf-by-item
Get Answer Sheet PDF for Activity/api/get-answer-sheet-pdf-for-activity
Get Question Sheet PDF by Item/api/get-question-sheet-pdf-by-item
Get Question Sheet PDF for Activity/api/get-question-sheet-pdf-for-activity
Teacher's BrowserClientPaperScorerTeacher chooses to print a test.get-answer-sheet-pdf-by-itemInclude Learnosity credentials along with teacher email.get-question-sheet-pdf-for-activityInclude Learnosity credentials along with teacher email.Answer Sheet URLSave Form ID with Assessment ID so that student scores can be retrieved later.Question Sheet URLAnswer Sheet URLQuestion Sheet URLRequest Download URLURLNo authentication, obfuscated URL.Tests and printed answer sheets are given to students. Students fill in answer sheets and return to the teacher or use the app to scan themselves.Teacher's BrowserClientPaperScorer
3

Scanning & Processing

Students complete their assessments on paper. Three submission methods are available for processing completed answer sheets.

  • Mobile App: Scan sheets using the free PaperScorer iOS or Android app
  • Email: Scan and email sheets directly to PaperScorer for processing
  • Platform Upload: Send scanned PDFs or images to /api/upload-pdf, then poll /api/get-job-status until processing completes and form IDs are returned

Relevant Endpoints

Upload PDF/api/upload-pdf
Get Job Status/api/get-job-status
Teacher's BrowserYour PlatformPaperScorerTeacher chooses to upload PDFPDF files are scanned in standard scanners or document cameras and saved to PDF.upload-pdfPaperScorer starts processing the answer sheets in the PDF using multipleservers and threads. Depending on the number of answer sheets in the PDF,this could take some time.job_idPaperScorer returns a job_id to use for retrieving processed forms later.get-job-statusSend the job_id returned by upload-pdf to retrieve theform IDs that have been processed.Processed Form IDsForm IDs and other information regarding the scanned answer sheetsare returned. You can use this info to then retrieve grades.Teacher's BrowserYour PlatformPaperScorer
4

Score Retrieval

Once processing is complete, retrieve Learnosity session IDs for the processed form IDs and sync scores back into your Learnosity platform for unified reporting.

  • Use /api/get-session-ids-from-form-id to map processed PaperScorer form IDs back to their Learnosity session IDs.
  • Use /api/sync-student-scores to sync captured scores back into Learnosity. If a student does not yet exist in Learnosity, a new testing session is created automatically.
  • Supports both push (callback) and pull (polling) retrieval methods.

Relevant Endpoints

Get Session IDs From Form ID/api/get-session-ids-from-form-id
Sync Student Scores/api/sync-student-scores
Teacher's BrowserYour PlatformPaperScorerLearnosityView Student Scoresget-session-ids-from-form-idReturns a student ID and Learnosity Session IDfor all scored students.Return sessionIDsRequest scores from Learnosity by Session ID.Returns scores for each student session.Show student gradesTeacher's BrowserYour PlatformPaperScorerLearnosity
5

Error Correction

Some scanned sheets get flagged — a student ID the engine could not match, a question with multiple bubbles marked, or a partial fill. Resolve them with a drop-in JavaScript embed that talks to two server-side endpoints; corrected scores flow into Learnosity through the same auto-sync path as a fresh scan.

  • Drop the correction embed into your app with a data-ps-correction-embed div and correction.js — a live demo is available to preview the embed in action. View corrections embed demo.
  • Your backend brokers /api/get-correction-sheet (fetch the sheet image, bubbles, and engine flags) and /api/submit-correction-sheet (post the teacher's corrections), keeping your Consumer-Key off the browser.
  • On submit, the sheet is reprocessed and the corrected scores are ready to be re-synced into Learnosity via /api/sync-student-scores — or pushed automatically to your callback URL if one is configured.

Relevant Endpoints

Get Correction Sheet/api/get-correction-sheet
Submit Correction Sheet/api/submit-correction-sheet
Sync Student Scores/api/sync-student-scores
Teacher's BrowserYour PlatformPaperScorerLearnosityOpen scan correction pagePage mounts <div> + corrections.js.Embed fetches correction dataget-correction-sheetImage, bubbles, error flagsSheet payload (embed renders)Teacher fixes flagged bubbles and student ID in the embed, then clicks Submit.Embed submits correctionssubmit-correction-sheetRefires auto-sync webhook with corrected scoresSuccessTeacher's BrowserYour PlatformPaperScorerLearnosity
Security & Encryption

Secure Data Handling

All responses from the PaperScorer engine are encrypted with a key that is shared with our development partners for decryption. This ensures student data remains protected throughout the integration.

Secure authentication

Header-based authentication via Client-Id, Client-Domain, and Consumer-Key headers

FERPA-aligned student data handling

Built to support FERPA-aligned handling of student educational records and personally identifiable information.

Rate limiting

Per-client throttling on PDF generation and score import endpoints to prevent abuse and protect uptime.

Data encryption

Sensitive response payloads are encrypted with a partner-shared key, in addition to TLS in transit.

Data decryption library

Sample decryption libraries in PHP and Java to integrate with the encrypted payload format.

// Example: Creating an answer sheet PDF for a Learnosity activity
POST /api/get-answer-sheet-pdf-for-activity

{
  "activity_id": "Test_Activity",
  "activity_title": "Math Algebra Test",
  "students": [
    {
      "name": "Jane Doe",
      "identifier": "student1@mail.com",
      "id": "stu_001"
    }
  ]
}

// Response
{
  "success": true,
  "data": {
    "response": {
      "pdf_url": "http://forms.paperscorer.com/forms/10/444/1554/10593_438240.pdf",
      "html_url": "",
      "total_pages": 1,
      "form_id": 10593,
      "task_id": 88510,
      "activity_id": "Test_Activity",
      "activity_template_id": "Test_Activity_Template",
      "activity_title": "Math Algebra Test"
    }
  },
  "message": "Answer sheet created successfully.",
  "errors": []
}

Get Started for Free

You can create a free account with no obligation to purchase. Scan up to 100 testing sheets completely free while you test your Learnosity integration.