What you can do
Submit a case
Upload up to 20 PDF or image files in one request. Choose which features to run
(extraction, forensics, translation) and get a
caseId back immediately.Track processing
List and inspect your organization’s cases by your
externalId, TruEnroll’s case ID,
or the case number. Check overall status and per-feature progress.Fetch results
Pull structured extraction data, forensics findings, translated representations, and
operator-completed evaluations. Download evaluation reports as PDF or XLSX.
React to events
Receive webhooks as stages complete or fail. Deliveries are retried, so handlers should
be idempotent. Use JSON polling as a fallback for evaluation completion.
Compliance
TruEnroll is SOC 2, ISO 27001, and ISO 27701 certified. See the Compliance page for details or to request audit documentation.Base URL
/partner/v1 and are separate from the internal
platform API.
Endpoints at a glance
Integration flow
For evaluation results, an operator completes evaluation in the UI after upload. Poll the evaluation JSON endpoint or usecase.evaluation.completed
as a prompt to fetch results, then download the reports you need. Evaluation is not a
requestable upload feature.
Key design decisions
externalId identifies a case. It is unique per organization. Submitting to an externalId
that already exists adds a new upload to the existing case. It does not create a new one. Use
your candidate ID or application number as the externalId to group all their document
submissions under one case.
Deliveries are retried, so handlers must be idempotent. A webhook is retried up to 5 times
until your endpoint returns 2xx, so the same event can arrive more than once. Design your
handler so that processing the same event twice produces the same outcome.
Organization feature is checked before upload. If you request a feature your
organization isn’t provisioned for, TruEnroll returns 403 synchronously, and no files are
transferred.
Partner keys only. Partner API routes only accept partner API keys provisioned for your
organization.
IDs are TruEnroll’s own. The case ID, uploadId, credentialId, and evaluationId the API
returns are the IDs TruEnroll uses for the same records, so they match across the API, webhooks,
and TruEnroll.
The case number is the human-readable case identifier. Every case response carries
caseNumber, starting with POST /cases, and every /cases/{id} route accepts it in place of
the case ID. It is the number shown in TruEnroll and printed on reports, so it is what people
quote in email and support tickets. See
Addressing a case.
You see your organization’s cases, not only your own. Cases an operator created in the
TruEnroll UI are readable and listed too. You can
link one to your externalId to add uploads and
receive its webhooks. Only cases you created can be deleted through the API.
Authentication
How to provision and send partner API keys.
Cases
Full case lifecycle, request schema, and status transitions.
Webhooks
Every event name, payload, and delivery behavior.
Features & limits
Upload constraints, feature prerequisites, and error codes.
Evaluation results
Operator-completed evaluations, report selectors, and PDF/XLSX downloads.
Postman collection
Every route as an importable collection, with per-environment variables.