Skip to main content
POST
Create a case or add an upload

Authorizations

x-api-key
string
header
required

Partner API key. Also accepted as Authorization: Bearer <key>.

Headers

Idempotency-Key
string

Optional. Makes the upload safe to retry: replaying the same key with an identical payload returns the original upload. Reusing a key with a different payload returns 409.

Body

multipart/form-data
files
file[]
required

One or more document files. Accepted formats: PDF, PNG, JPG, JPEG, WebP, ZIP. Max 20 files, 100 MiB each, 100 MiB total.

externalId
string
required

Your reference for this case. Unique per organization; subsequent submissions with the same externalId append to the existing case.

Required string length: 1 - 128
classify
boolean
default:true

Run AI document classification. When false, classification is skipped and the whole upload becomes one academic credential. classify false with an empty features array returns 400.

features
string

JSON array of features to run. Defaults to all three. A feature not requested does not run unless an operator starts it later. Example: ["extraction","forensics"]

Example:

"[\"extraction\",\"forensics\",\"translation\"]"

metadata
string

JSON object of key-value pairs (string, number, or boolean values).

Example:

"{\"cycle\":\"2025-fall\"}"

caseId
string

Case ID or case number of an existing TruEnroll case to link to this externalId. The files become a new upload on that case. A case can be linked once.

Response

Upload accepted for asynchronous processing.

success
boolean
required
Example:

true

message
string
required
meta
object
required

Optional metadata (e.g. pagination). Empty object when not applicable.

data
object
required