> ## Documentation Index
> Fetch the complete documentation index at: https://docs.truenroll.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get evaluation results

> Returns self-contained candidate, institution, qualification, and evaluated output per credential and target. Evaluation is run by an operator in the UI; this request does not initiate evaluation or require evaluation in upload features. Send at most one of uploadId or credentialId, or omit both for the whole case. Unfinished JSON requests return 200 with progress. Poll this endpoint as a fallback for the best-effort case.evaluation.completed webhook.



## OpenAPI

````yaml /partner-api/openapi.json get /cases/{id}/evaluation
openapi: 3.0.3
info:
  title: TruEnroll Partner API
  version: 1.0.0
  description: >-
    Submit academic documents and retrieve extraction, forensics, translation,
    and operator-completed evaluation results and reports.
servers:
  - url: https://eval-api.trential.dev/partner/v1
    description: Sandbox
  - url: https://api.truenroll.com/partner/v1
    description: Production
security:
  - apiKey: []
tags:
  - name: Cases
    description: Create and manage processing cases.
  - name: Results
    description: >-
      Fetch extraction, forensics, translation, and operator-completed
      evaluation results and reports.
  - name: Webhooks
    description: Register endpoints that receive case events.
paths:
  /cases/{id}/evaluation:
    get:
      tags:
        - Results
      summary: Get evaluation results
      description: >-
        Returns self-contained candidate, institution, qualification, and
        evaluated output per credential and target. Evaluation is run by an
        operator in the UI; this request does not initiate evaluation or require
        evaluation in upload features. Send at most one of uploadId or
        credentialId, or omit both for the whole case. Unfinished JSON requests
        return 200 with progress. Poll this endpoint as a fallback for the
        best-effort case.evaluation.completed webhook.
      operationId: getCaseEvaluation
      parameters:
        - $ref: '#/components/parameters/CaseRef'
        - name: uploadId
          in: query
          required: false
          schema:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
          description: Limit results to this upload. Cannot be used with credentialId.
        - name: credentialId
          in: query
          required: false
          schema:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
          description: >-
            Limit results to this existing credential. Cannot be used with
            uploadId.
      responses:
        '200':
          description: Current evaluation results, including progress for unfinished rows.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/SuccessResponse'
                  - type: object
                    properties:
                      data:
                        $ref: '#/components/schemas/EvaluationResult'
              example:
                success: true
                message: Evaluation retrieved
                meta: {}
                data:
                  id: 6712abcdef123456abcdef01
                  externalId: applicant-9876
                  status: completed
                  caseNumber: 10482
                  credentials:
                    - credentialId: 6712abcdef123456abcdef02
                      uploadId: 6712abcdef123456abcdef03
                      candidate:
                        fullName: Asha Rao
                        dateOfBirth: 05/14/1998
                      institution:
                        name: Anna University
                        country: India
                      qualification:
                        name: Bachelor of Technology
                        educationLevel: BACHELORS
                        program: Computer Science and Engineering
                        programDurationYears: 4
                        yearOfAdmission: 2016
                        yearsOfAttendance:
                          - 2016
                          - 2017
                          - 2018
                          - 2019
                          - 2020
                        dateOfAward: 06/30/2020
                      evaluations:
                        - evaluationId: 6712abcdef123456abcdef04
                          status: completed
                          completedAt: '2026-09-14T11:22:05.000Z'
                          targetInstitute: null
                          equivalency:
                            usEquivalency: Bachelor of Science
                            statement: >-
                              Equivalent to a Bachelor of Science in the United
                              States.
                            fieldOfStudy: Computer Science
                            evaluatedAs: Bachelor of Technology
                            gpa:
                              weighted: '3.42'
                              unweighted: '3.50'
                            totalCredits: 120
                            creditUnit: Semester Credits
                            disclaimer: null
                          courses:
                            - courseId: c1
                              courseName: Data Structures
                              grade: A
                              point: 4
                              credit: 3
                              isRetaken: false
                              isNonGradable: false
                              isExcluded: false
                          note: Evaluator note
        '400':
          description: Invalid identifier or query selector.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Missing or invalid API key.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Inactive API key or key is not a partner key.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: >-
            Case not found, deleted, or outside your organization; requested
            resource is not in this case.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  parameters:
    CaseRef:
      name: id
      in: path
      required: true
      schema:
        type: string
      description: >-
        Identifies the case: its TruEnroll case ID, or the case number (the
        number shown in TruEnroll and printed on reports). Case numbers are
        unique across all organizations and lookups are scoped to your own.
  schemas:
    SuccessResponse:
      type: object
      properties:
        success:
          type: boolean
          example: true
        message:
          type: string
        meta:
          type: object
          description: >-
            Optional metadata (e.g. pagination). Empty object when not
            applicable.
        data: {}
      required:
        - success
        - message
        - meta
        - data
    EvaluationResult:
      type: object
      properties:
        id:
          type: string
        externalId:
          type: string
          nullable: true
          description: >-
            Your reference for the case. null for a case created in the
            TruEnroll UI, which has no partner reference.
        status:
          type: string
          enum:
            - queued
            - processing
            - completed
            - not_applicable
          description: >-
            Aggregate over the credentials that can be evaluated (past
            extraction, not uncategorized), the same rule
            case.evaluation.completed uses. `queued` while none has been
            evaluated, or while a credential is still being extracted or an
            upload classified. `not_applicable` when the case has nothing to
            evaluate.
        caseNumber:
          type: number
          nullable: true
          description: >-
            The case number shown in TruEnroll and printed on reports. Pass it
            as {id} on any case route. null when unavailable.
        credentials:
          type: array
          items:
            $ref: '#/components/schemas/EvaluationCredential'
      required:
        - id
        - externalId
        - status
        - caseNumber
        - credentials
      description: >-
        Status aggregates the credentials in this response: queued only when
        nothing has been evaluated; completed when every credential has at least
        one evaluation and all are completed; processing otherwise. A credential
        with no evaluation rows counts as still waiting and holds the case at
        processing.
    ErrorResponse:
      type: object
      properties:
        statusCode:
          type: integer
        message:
          type: string
      required:
        - statusCode
        - message
    EvaluationCredential:
      type: object
      properties:
        credentialId:
          type: string
        uploadId:
          type: string
          nullable: true
        candidate:
          $ref: '#/components/schemas/EvaluationCandidate'
        institution:
          $ref: '#/components/schemas/EvaluationInstitution'
        qualification:
          $ref: '#/components/schemas/EvaluationQualification'
        evaluations:
          type: array
          items:
            $ref: '#/components/schemas/EvaluationRow'
          description: >-
            Empty before evaluation is initiated. Select the general row by
            targetInstitute === null, not array order.
      required:
        - credentialId
        - uploadId
        - candidate
        - institution
        - qualification
        - evaluations
    EvaluationCandidate:
      type: object
      properties:
        fullName:
          type: string
          nullable: true
        dateOfBirth:
          type: string
          nullable: true
          description: Date of birth in MM/DD/YYYY format.
      required:
        - fullName
        - dateOfBirth
    EvaluationInstitution:
      type: object
      properties:
        name:
          type: string
          nullable: true
        country:
          type: string
          nullable: true
      required:
        - name
        - country
    EvaluationQualification:
      type: object
      properties:
        name:
          type: string
          nullable: true
        educationLevel:
          type: string
          nullable: true
        program:
          type: string
          nullable: true
        programDurationYears:
          anyOf:
            - type: number
              nullable: true
            - type: string
          description: Number when numeric, otherwise source string, or null.
        yearOfAdmission:
          anyOf:
            - type: number
              nullable: true
            - type: string
          description: Number when numeric, otherwise source string, or null.
        yearsOfAttendance:
          type: array
          items:
            type: integer
          uniqueItems: true
          description: Sorted distinct year numbers; empty when unavailable.
        dateOfAward:
          type: string
          nullable: true
          description: >-
            Award date in MM/DD/YYYY format; named dateOfIssue in extraction
            results.
      required:
        - name
        - educationLevel
        - program
        - programDurationYears
        - yearOfAdmission
        - yearsOfAttendance
        - dateOfAward
    EvaluationRow:
      oneOf:
        - $ref: '#/components/schemas/PendingEvaluation'
        - $ref: '#/components/schemas/CompletedEvaluation'
      description: >-
        Unfinished rows return identifiers, progress, null completedAt, and
        target only. Completed rows also return evaluated output.
    PendingEvaluation:
      type: object
      properties:
        evaluationId:
          type: string
        status:
          type: string
          enum:
            - queued
            - processing
        completedAt:
          type: string
          nullable: true
          enum:
            - null
          description: Always null on unfinished evaluations.
        targetInstitute:
          $ref: '#/components/schemas/EvaluationTarget'
      required:
        - evaluationId
        - status
        - completedAt
        - targetInstitute
    CompletedEvaluation:
      type: object
      properties:
        evaluationId:
          type: string
        status:
          type: string
          enum:
            - completed
        completedAt:
          type: string
          format: date-time
          nullable: true
          description: Latest completion timestamp, or null when unavailable.
        targetInstitute:
          $ref: '#/components/schemas/EvaluationTarget'
        equivalency:
          $ref: '#/components/schemas/EvaluationEquivalency'
        courses:
          type: array
          items:
            $ref: '#/components/schemas/EvaluatedCourse'
        note:
          type: string
          nullable: true
      required:
        - evaluationId
        - status
        - completedAt
        - targetInstitute
        - equivalency
        - courses
        - note
    EvaluationTarget:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
      required:
        - id
        - name
      nullable: true
      description: >-
        Null selects the general evaluation. Otherwise identifies a target
        institute.
    EvaluationEquivalency:
      type: object
      properties:
        usEquivalency:
          type: string
          nullable: true
        statement:
          type: string
          nullable: true
        fieldOfStudy:
          type: string
          nullable: true
          description: >-
            Normalized field of study, which can differ from extraction
            specialization.
        evaluatedAs:
          type: string
          nullable: true
        gpa:
          type: object
          properties:
            weighted:
              type: string
              nullable: true
            unweighted:
              type: string
              nullable: true
          required:
            - weighted
            - unweighted
        totalCredits:
          type: number
          nullable: true
        creditUnit:
          type: string
          enum:
            - Carnegie Units
            - Semester Credits
        disclaimer:
          type: string
          nullable: true
          description: Organization-specific disclaimer prefixed with **.
      required:
        - usEquivalency
        - statement
        - fieldOfStudy
        - evaluatedAs
        - gpa
        - totalCredits
        - creditUnit
        - disclaimer
    EvaluatedCourse:
      type: object
      properties:
        courseId:
          type: string
        courseName:
          type: string
          nullable: true
        grade:
          type: string
          nullable: true
        point:
          type: number
          nullable: true
        credit:
          type: number
          nullable: true
        isRetaken:
          type: boolean
        isNonGradable:
          type: boolean
        isExcluded:
          type: boolean
      required:
        - courseId
        - courseName
        - grade
        - point
        - credit
        - isRetaken
        - isNonGradable
        - isExcluded
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: x-api-key
      description: 'Partner API key. Also accepted as `Authorization: Bearer <key>`.'

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.