Features
The Partner API exposes three features you can request per case. Features must be enabled for your organization before they can be used. Requesting an unavailable feature fails synchronously with403, before any files are stored or processed.
Only the features you request run. A credential whose extraction you did not request waits in
TruEnroll as Ready for Processing until an operator starts it. An operator can start any
feature from TruEnroll. Once it has run, its results and webhooks reach you as if you had
requested it. Submitting classify: false with an empty features array returns 400.
Extraction
Available to request for every case. When you omitfeatures, TruEnroll requests extraction,
forensics, and translation by default. AI-powered extraction includes:
- Candidate identity (name, date of birth)
- Institution (name, country, state, accreditation)
- Qualification (degree, major, year of admission/completion)
- Courses (number, title, credits, grade, marks)
- CGPA and total credits
GET /cases/{id}/extraction once
case.extraction.completed is received.
Organization requirement: Always available. No special provisioning needed.
Forensics
Runs in parallel with extraction. Checks the original uploaded file for tampering, manipulation, metadata anomalies, and internal inconsistencies. See Forensics & verification for details. Organization requirement: Your organization must have theforensics feature
provisioned. Contact your TruEnroll account manager.
Webhook: case.forensics.completed / case.forensics.failed
Translation
Produces a page-structured, readable representation of each uploaded document. Results are returned per source file, preserving page order and file identity. Multi-file cases get one translation output per file. Organization requirement: Your organization must have either the standardtranslation or translation_on_demand feature provisioned. With on-demand translation only,
requesting translation on an upload counts as the request, so your upload is translated.
Webhook: case.translation.completed / case.translation.failed
Evaluation results
An operator runs evaluation in the TruEnroll UI. You can retrieve self-contained evaluation JSON and download credential or combined reports as PDF or XLSX. Evaluation is not one of the three upload features and does not require a separate partner feature gate. Do not includeevaluation in features.
Webhook: case.evaluation.completed, a best-effort case-level completion notification.
There is no evaluation failure event. Poll the JSON endpoint as a fallback and use 409
from report endpoints to detect reports that are not ready. See
Evaluation results for selectors and response fields.
Upload limits
ZIP archives are accepted and counted as a single file toward the 20-file limit. Files inside a ZIP that are not of a supported type will appear in the upload’s
files[] list but will not be processed.
Need higher limits? Contact us to discuss increased file sizes or per-request limits for your organization.
Limit errors
Feature validation timing
Feature checks happen before any files are stored or processed. This means:- TruEnroll receives the request and reads your
featuresarray. - It loads your organization’s feature configuration.
- If any requested feature is not available, it returns
403immediately. - No files are persisted, no case or upload is created, and no processing is started.
403 does not save upload bandwidth; it prevents storage and processing.)
Rate limits
Specific rate limits are configured per organization based on your contract. Contact your TruEnroll account manager for your organization’s limits. When a rate limit is exceeded, the API returns429 Too Many Requests with a Retry-After header.