Skip to main content
This page shows what a TruEnroll integration looks like from a partner’s perspective — the path from “I have a document” to “I have verified, structured data.”
You’ll need a partner API key and at least one partner webhook endpoint provisioned for your organization. Contact your TruEnroll account manager to get set up.

Integration in four steps

1

Submit a case

Upload one or more documents (PDF or image files) in a single multipart request. TruEnroll creates a case — the unit of work that tracks those documents through the pipeline — and responds immediately while processing runs asynchronously.
curl -X POST https://api.truenroll.com/partner/v1/cases \
  -H "x-api-key: $TRUENROLL_API_KEY" \
  -F "files=@transcript.pdf" \
  -F "externalId=applicant-9876" \
  -F 'features=["extraction","forensics","translation"]'
You’ll receive a caseId you can use to track and fetch results.
2

Receive webhooks as each stage completes

TruEnroll fires a webhook to your registered endpoint as each processing stage finishes — classification, extraction, forensics, and translation each emit their own completed or failed event.
{
  "eventName": "case.extraction.completed",
  "payload": {
    "caseId": "6850abc123...",
    "externalId": "applicant-9876",
    "occurredAt": "2025-06-22T10:30:00Z"
  }
}
Events are idempotent per case — you can safely process duplicates.
3

Fetch the structured results

When a webhook tells you a stage is done, call the matching result endpoint.
# Extraction — candidate identity, courses, grades
curl https://api.truenroll.com/partner/v1/cases/$CASE_ID/extraction \
  -H "x-api-key: $TRUENROLL_API_KEY"

# Forensics — fraud and tampering check
curl https://api.truenroll.com/partner/v1/cases/$CASE_ID/forensics \
  -H "x-api-key: $TRUENROLL_API_KEY"

# Translation — readable document representation
curl https://api.truenroll.com/partner/v1/cases/$CASE_ID/translation \
  -H "x-api-key: $TRUENROLL_API_KEY"
4

Link results back to your system

Use the externalId you supplied at submission time to join TruEnroll’s results back to the applicant or case in your own database. Each externalId maps to exactly one case — subsequent submissions with the same externalId add a new upload to that case rather than creating a new one.

What happens in between

All the heavy lifting — OCR, AI classification, data extraction, forensic analysis, grade normalization, and translation — happens asynchronously in TruEnroll’s pipeline. You don’t manage any of it; you just react to events.

See the full case lifecycle

Every stage in order, with the events it emits.

Authentication

How partner API keys work and how to send them.

Webhooks

Every event, when it fires, and how to handle duplicates.

Cases

Case lifecycle, endpoints, and status transitions.

Features & limits

Extraction, forensics, translation, and upload constraints.