Skip to content

Audit API ​

Base URL: /api/v1/audit

Degree auditing, progress tracking, waivers, transfer credit evaluation, and graduation management.

Endpoints Overview ​

Degree Progress ​

MethodEndpointDescription
GET/degree-progressList degree progress records
POST/degree-progressCreate degree progress record
GET/degree-progress/student/{studentID}Get progress for a student
GET/degree-progress/{progressID}Get progress by ID

Fulfillments ​

MethodEndpointDescription
POST/fulfillmentsCreate a requirement fulfillment

Waivers ​

MethodEndpointDescription
GET/waiversList waivers
POST/waiversCreate a waiver
POST/waivers/{waiverID}/deactivateDeactivate a waiver
GET/waivers/{waiverID}Get waiver by ID

Transfer Credits ​

MethodEndpointDescription
GET/transfer-creditsList transfer credits
POST/transfer-creditsCreate transfer credit
POST/transfer-credits/{transferID}/evaluateEvaluate a transfer credit
GET/transfer-credits/{transferID}Get transfer credit by ID

Graduation Applications ​

MethodEndpointDescription
GET/graduation-applicationsList graduation applications
POST/graduation-applicationsCreate graduation application
POST/graduation-applications/applyApply for graduation
POST/graduation-applications/{applicationID}/reviewReview a graduation application
GET/graduation-applications/{applicationID}/historyGet application status history
GET/graduation-applications/{applicationID}Get graduation application by ID

Graduation Dates ​

MethodEndpointDescription
GET/graduation-dates/activeGet active graduation dates
GET/graduation-datesList graduation dates
POST/graduation-datesCreate graduation date
GET/graduation-dates/{dateID}Get graduation date by ID
PATCH/graduation-dates/{dateID}Update graduation date
DELETE/graduation-dates/{dateID}Delete graduation date

Graduation Records ​

MethodEndpointDescription
GET/graduation-recordsList graduation records
POST/graduation-recordsCreate graduation record
POST/graduation-records/batch-confirmBatch confirm graduation records
GET/graduation-records/student/{studentID}Get graduation records by student
GET/graduation-records/{recordID}Get graduation record by ID
PATCH/graduation-records/{recordID}Update graduation record

Audit Operations ​

MethodEndpointDescription
POST/run/{studentID}/{degreeID}Run audit for student and degree
POST/runRun audit
POST/what-ifRun what-if analysis
GET/what-if-optionsGet available what-if options

Degree Progress ​

List Degree Progress ​

GET /api/v1/audit/degree-progress

List all degree progress records. Supports filtering by student, degree, and status.


Create Degree Progress ​

POST /api/v1/audit/degree-progress

Create a new degree progress tracking record for a student.


Get Student Progress ​

GET /api/v1/audit/degree-progress/student/{studentID}

Get all degree progress records for a specific student. Returns progress across all enrolled programs and degrees.

Path Parameters ​

ParameterTypeDescription
studentIDintegerThe student ID

Get Progress by ID ​

GET /api/v1/audit/degree-progress/{progressID}

Get a specific degree progress record.

Path Parameters ​

ParameterTypeDescription
progressIDintegerThe degree progress ID

Fulfillments ​

Create Fulfillment ​

POST /api/v1/audit/fulfillments

Create a requirement fulfillment record, linking a completed course or transfer credit to a specific degree requirement.


Waivers ​

List Waivers ​

GET /api/v1/audit/waivers

List all requirement waivers. Supports filtering by student, requirement block, and active status.


Create Waiver ​

POST /api/v1/audit/waivers

Create a new requirement waiver, exempting a student from a specific degree requirement.


Deactivate Waiver ​

POST /api/v1/audit/waivers/{waiverID}/deactivate

Deactivate an existing waiver. The waiver record is preserved but no longer applies to the student's degree audit.

Path Parameters ​

ParameterTypeDescription
waiverIDintegerThe waiver ID

Get Waiver ​

GET /api/v1/audit/waivers/{waiverID}

Get a specific waiver by ID.

Path Parameters ​

ParameterTypeDescription
waiverIDintegerThe waiver ID

Transfer Credits ​

List Transfer Credits ​

GET /api/v1/audit/transfer-credits

List all transfer credit records. Supports filtering by student and evaluation status.


Create Transfer Credit ​

POST /api/v1/audit/transfer-credits

Create a new transfer credit record for coursework completed at another institution.


Evaluate Transfer Credit ​

POST /api/v1/audit/transfer-credits/{transferID}/evaluate

Evaluate a transfer credit, determining how it maps to institutional courses and whether it satisfies degree requirements.

Path Parameters ​

ParameterTypeDescription
transferIDintegerThe transfer credit ID

Get Transfer Credit ​

GET /api/v1/audit/transfer-credits/{transferID}

Get a specific transfer credit record.

Path Parameters ​

ParameterTypeDescription
transferIDintegerThe transfer credit ID

Graduation Applications ​

List Graduation Applications ​

GET /api/v1/audit/graduation-applications

List all graduation applications. Supports filtering by term, status, and student.


Create Graduation Application ​

POST /api/v1/audit/graduation-applications

Create a new graduation application record (administrative).


Apply for Graduation ​

POST /api/v1/audit/graduation-applications/apply

Submit a graduation application on behalf of a student. Validates eligibility and creates the application with a pending status.


Review Graduation Application ​

POST /api/v1/audit/graduation-applications/{applicationID}/review

Review and update the status of a graduation application (approve, deny, or request changes).

Path Parameters ​

ParameterTypeDescription
applicationIDintegerThe graduation application ID

Get Application Status History ​

GET /api/v1/audit/graduation-applications/{applicationID}/history

Get the status change history for a graduation application.

Path Parameters ​

ParameterTypeDescription
applicationIDintegerThe graduation application ID

Get Graduation Application ​

GET /api/v1/audit/graduation-applications/{applicationID}

Get a specific graduation application by ID.

Path Parameters ​

ParameterTypeDescription
applicationIDintegerThe graduation application ID

Graduation Dates ​

Get Active Graduation Dates ​

GET /api/v1/audit/graduation-dates/active

Get graduation dates that are currently active and available for applications.


List Graduation Dates ​

GET /api/v1/audit/graduation-dates

List all graduation dates, including past and future ceremonies.


Create Graduation Date ​

POST /api/v1/audit/graduation-dates

Create a new graduation date entry.


Get Graduation Date ​

GET /api/v1/audit/graduation-dates/{dateID}

Get a specific graduation date by ID.

Path Parameters ​

ParameterTypeDescription
dateIDintegerThe graduation date ID

Update Graduation Date ​

PATCH /api/v1/audit/graduation-dates/{dateID}

Update an existing graduation date.

Path Parameters ​

ParameterTypeDescription
dateIDintegerThe graduation date ID

Delete Graduation Date ​

DELETE /api/v1/audit/graduation-dates/{dateID}

Delete a graduation date.

Path Parameters ​

ParameterTypeDescription
dateIDintegerThe graduation date ID

Graduation Records ​

List Graduation Records ​

GET /api/v1/audit/graduation-records

List all graduation records. Supports filtering by term, degree, and confirmation status.


Create Graduation Record ​

POST /api/v1/audit/graduation-records

Create a new graduation record for a student who has completed their degree.


Batch Confirm Graduation Records ​

POST /api/v1/audit/graduation-records/batch-confirm

Confirm multiple graduation records at once, typically used after commencement to finalize degree conferral.


Get Graduation Records by Student ​

GET /api/v1/audit/graduation-records/student/{studentID}

Get all graduation records for a specific student.

Path Parameters ​

ParameterTypeDescription
studentIDintegerThe student ID

Get Graduation Record ​

GET /api/v1/audit/graduation-records/{recordID}

Get a specific graduation record by ID.

Path Parameters ​

ParameterTypeDescription
recordIDintegerThe graduation record ID

Update Graduation Record ​

PATCH /api/v1/audit/graduation-records/{recordID}

Update an existing graduation record.

Path Parameters ​

ParameterTypeDescription
recordIDintegerThe graduation record ID

Graduation honors ​

A record carries one Latin honor (honors_id -> lookup_honors_type, plus with_honors), which the nightly Colleague import owns, and any number of other honors in graduation_record_honors (migration 283) -- language, music, leadership -- entered by hand and never touched by the import. The list of other honors is the GRADUATION_HONOR lookup.

Every record in a response has honors (never null):

json
"honors": [
  { "graduation_honor_id": 3, "code": "MUSIC", "display": "Music Honors", "notes": "Piano" }
]

Create, update and batch-confirm accept graduation_honors, a list of { "graduation_honor_id": 3, "notes": "Piano" } (notes max 300):

graduation_honorsEffect
omittedThe record's other honors are left alone
[]They are cleared
a listIt replaces the whole set

It is not a column on graduation_records, so it takes no part in the PATCH _expected conflict check. GET /graduation-records?graduation_honor_id=3 lists the records carrying that honor.

One record per Colleague credential ​

Since migration 301, an imported graduation record is keyed on the Colleague credential it came from, graduation_records.colleague_credential_id (ACAD_CREDENTIALS_ID, unique where not NULL). A double major is two credentials for one degree and commencement, so it is two records with the same student_id, degree_id and graduation_date_id and different major_ids. Clients must not assume one record per degree and date.

The old uniqueness, (student_id, degree_id, graduation_date_id), now applies only to rows with no credential, which are the rows created by POST /graduation-records and batch-confirm. It is what refuses a second SIS confirmation of the same degree at the same ceremony. The nightly import adopts such a row when Colleague records its credential.

colleague_credential_id is not returned in the response DTO. What it changes for clients:

FieldImported recordRecord confirmed in the SIS (confirmed_by set)
confirmed_dateACAD_DEGREE_DATE, the conferral date; NULL when Colleague has not conferred the degree. No fallback to the credential's add dateThe confirmation time; the import never overwrites it
major_id / major_nameResolved from the credential's program and major codes. BSN or BSW with no major resolves to Nursing or Social Work; otherwise NULL rather than guessedAs entered, until the credential adopts the row; Colleague's value from then on

The transcript (GET /grading/transcript) returns major_name on each entry of graduation_records for the same reason, ordered by graduation date, degree code and major.


Test-score requirement rules ​

Academic policy rules (/policy-rules, ADMIN.ACADEMIC_POLICIES) gained a test-score shape in migration 276: rule_code DEGREE.TEST_SCORE_MIN, value_type SCORE, threshold_value the minimum composite score, and test_type_id naming the test. Both are required for SCORE, and test_type_id is refused on every other value type. Uniqueness is one active rule per code, bulletin, degree level and test, so several tests can be required at one scope.

GET /policy-rules/test-types lists the active standardized test types (test_type_id, code, name, min_score, max_score) for the rule editor; it exists so a policy administrator does not need TESTSCORES.TYPES.

In the audit's institutional requirements the row is MET when the student's counted official score reaches the threshold, and NOT_MET otherwise -- with reason NO_TEST_SCORE when no official score is on file. The counted score follows the test's score policy: MOST_RECENT takes the latest sitting, anything else the highest composite; superscores are not computed. The row carries test_score evidence (test_type_id, test_code, test_name, score, test_date).


Audit Operations ​

Run Audit for Student and Degree ​

POST /api/v1/audit/run/{studentID}/{degreeID}

Run a degree audit for a specific student and degree combination. Evaluates all requirement blocks and returns fulfillment status.

Path Parameters ​

ParameterTypeDescription
studentIDintegerThe student ID
degreeIDintegerThe degree ID

Run Audit ​

POST /api/v1/audit/run

Run a degree audit with parameters provided in the request body.


What-If Analysis ​

POST /api/v1/audit/what-if

Run a hypothetical degree audit to show what a student's progress would look like under a different major, minor, or degree program.


Get What-If Options ​

GET /api/v1/audit/what-if-options

Get available options for what-if analysis, including available degrees, majors, and minors that a student could evaluate against.




Complete endpoint reference ​

Every route this domain registers, with the permission node that gates it. Generated from the route table, so it is complete by construction — the sections above explain behaviour, this one guarantees nothing is missing.

Paths are relative to /api/v1/audit. A node in italics is an exemption rather than a grant: selfservice acts only on the caller's own record, public needs no session at all, and custom carries its own wrapper.

MethodEndpointPermission nodeDescription
GET/degree-progressADVISING.AUDITGet degree progress
POST/degree-progressADVISING.AUDITCreate degree progress
GET/degree-progress/student/{studentID}ADVISING.AUDITGet one student
GET/degree-progress/{progressID}ADVISING.AUDITGet one degree progress
POST/fulfillmentsADVISING.AUDITCreate a fulfillment
GET/graduation-applicationsGRADUATION.APPLICATIONSList graduation applications
POST/graduation-applicationsGRADUATION.APPLICATIONSCreate a graduation application
POST/graduation-applications/applyGRADUATION.APPLYApply
GET/graduation-applications/{applicationID}GRADUATION.APPLICATIONSGet one graduation application
GET/graduation-applications/{applicationID}/historyGRADUATION.APPLICATIONSGet the graduation application's history
POST/graduation-applications/{applicationID}/reviewGRADUATION.REVIEWAdd review to a graduation application
GET/graduation-datesGRADUATION.DATESList graduation dates
POST/graduation-datesGRADUATION.DATESCreate a graduation date
GET/graduation-dates/activeGRADUATION.APPLYGet active
DELETE/graduation-dates/{dateID}GRADUATION.DATESDelete a graduation date
GET/graduation-dates/{dateID}GRADUATION.DATESGet one graduation date
PATCH/graduation-dates/{dateID}GRADUATION.DATESUpdate a graduation date
GET/graduation-recordsGRADUATION.RECORDSList graduation records
POST/graduation-recordsGRADUATION.RECORDSCreate a graduation record
POST/graduation-records/batch-confirmGRADUATION.CONFIRMCreate batch confirm
GET/graduation-records/student/{studentID}GRADUATION.RECORDSGet one student
GET/graduation-records/{recordID}GRADUATION.RECORDSGet one graduation record
PATCH/graduation-records/{recordID}GRADUATION.RECORDSUpdate a graduation record
GET/institution-typesRECORDS.TRANSFER_CREDITSList institution types
POST/institution-typesADMIN.INSTITUTION_TYPESCreate institution types
GET/institution-types/{institutionTypeID}RECORDS.TRANSFER_CREDITSGet one institution types
PATCH/institution-types/{institutionTypeID}ADMIN.INSTITUTION_TYPESUpdate institution types
GET/institutionsADMIN.INSTITUTIONSList institutions
POST/institutionsADMIN.INSTITUTIONSCreate institutions
GET/institutions/for_evaluationRECORDS.TRANSFER_CREDITSList institutions for transfer evaluation
DELETE/institutions/{institutionID}ADMIN.INSTITUTIONSDelete institutions
GET/institutions/{institutionID}ADMIN.INSTITUTIONSGet one institutions
PATCH/institutions/{institutionID}ADMIN.INSTITUTIONSUpdate institutions
GET/policy-rulesADMIN.ACADEMIC_POLICIESList policy rules
POST/policy-rulesADMIN.ACADEMIC_POLICIESCreate a policy rule
GET/policy-rules/catalogADMIN.ACADEMIC_POLICIESGet catalog
GET/policy-rules/resolveADMIN.ACADEMIC_POLICIESGet resolve
GET/policy-rules/test-typesADMIN.ACADEMIC_POLICIESList the test types a test-score rule can name
DELETE/policy-rules/{policyRuleID}ADMIN.ACADEMIC_POLICIESDelete a policy rule
GET/policy-rules/{policyRuleID}ADMIN.ACADEMIC_POLICIESGet one policy rule
PATCH/policy-rules/{policyRuleID}ADMIN.ACADEMIC_POLICIESUpdate a policy rule
POST/runADVISING.AUDITRun
POST/run/{studentID}/{degreeID}ADVISING.AUDITAct on a
GET/sequence-policiesADMIN.SEQUENCE_POLICIESList sequence policies
POST/sequence-policiesADMIN.SEQUENCE_POLICIESCreate a sequence policy
DELETE/sequence-policies/{policyID}ADMIN.SEQUENCE_POLICIESDelete a sequence policy
GET/sequence-policies/{policyID}ADMIN.SEQUENCE_POLICIESGet one sequence policy
PATCH/sequence-policies/{policyID}ADMIN.SEQUENCE_POLICIESUpdate a sequence policy
GET/student/{studentID}ADVISING.AUDITGet one student
GET/transfer-creditsRECORDS.TRANSFER_CREDITSList transfer credits
POST/transfer-creditsRECORDS.TRANSFER_CREDITSCreate a transfer credit
POST/transfer-credits/batchRECORDS.TRANSFER_CREDITSCreate several transfer credits
POST/transfer-credits/batch/previewRECORDS.TRANSFER_CREDITSPreview a transfer credit batch
DELETE/transfer-credits/{transferID}RECORDS.TRANSFER_CREDITSDelete a transfer credit
GET/transfer-credits/{transferID}RECORDS.TRANSFER_CREDITSGet one transfer credit
PATCH/transfer-credits/{transferID}RECORDS.TRANSFER_CREDITSUpdate a transfer credit
POST/transfer-credits/{transferID}/evaluateRECORDS.TRANSFER_CREDITSEvaluate for a transfer credit
POST/transfer-credits/{transferID}/restoreRECORDS.TRANSFER_CREDITSRestore for a transfer credit
GET/transfer-equivalenciesRECORDS.TRANSFER_CREDITSList transfer equivalencies
POST/transfer-equivalenciesRECORDS.TRANSFER_EQUIVALENCIESCreate transfer equivalencies
GET/transfer-equivalencies/lookupRECORDS.TRANSFER_CREDITSLook up an equivalency
DELETE/transfer-equivalencies/{equivalencyID}RECORDS.TRANSFER_EQUIVALENCIESDelete transfer equivalencies
GET/transfer-equivalencies/{equivalencyID}RECORDS.TRANSFER_CREDITSGet one transfer equivalencies
PATCH/transfer-equivalencies/{equivalencyID}RECORDS.TRANSFER_EQUIVALENCIESUpdate transfer equivalencies
GET/waiversADVISING.WAIVERSList waivers
POST/waiversADVISING.WAIVERSCreate a waiver
GET/waivers/by_studentADVISING.AUDITList waivers for a student
GET/waivers/{waiverID}ADVISING.WAIVERSGet one waiver
POST/waivers/{waiverID}/deactivateADVISING.WAIVERSDeactivate for a waiver
POST/what-ifADVISING.AUDITCreate what if
GET/what-if-optionsADVISING.AUDITList what if options

Student Information System Documentation