Skip to navigation

Assessment workflows

The process an application goes through, and which of your programs use it
View as Markdown

Every application is assessed by a workflow — an ordered set of steps it moves through, from submission to a decision. Which workflow applies is decided by the program, its cohort year and its stream.

You will want this for two reasons: to show an applicant where their application has got to, and to know which of your programs can accept applications at all.

GET /institution/workflows
GET /institution/workflows/{id}

What “available” means

A workflow is listed if at least one of your programs is attached to it. A workflow no program of yours uses is not yours to see, and returns 404.

The list carries a count of each one’s steps and of your programs using it:

[
{
"id": "76f509b0-0d63-49a8-bfcd-616ebea9d033",
"name": "Generic Credit Assessment Workflow",
"version": 1,
"status": "PUBLISHED",
"programCount": 4,
"stepCount": 8
}
]

programCount counts distinct programs, not attachments. One program attached for three cohort years is one program.

Steps, and where an application sits

GET /institution/workflows/{id} returns the steps in the order they run:

{
"name": "Generic Credit Assessment Workflow",
"steps": [
{ "code": "SUBMITTED", "label": "Submitted", "automatic": false, "initial": true, "terminal": false },
{ "code": "ARTICULATION_MATCH", "label": "Articulation match", "automatic": true, "initial": false, "terminal": false },
{ "code": "PRECEDENT_MATCH", "label": "Precedent match", "automatic": true, "initial": false, "terminal": false },
{ "code": "CREDIT_MATCH", "label": "RPL credit match", "automatic": true, "initial": false, "terminal": false },
{ "code": "ASSESSOR_ROUTING", "label": "Assessor routing", "automatic": true, "initial": false, "terminal": false },
{ "code": "CREDIT_TEAM_REVIEW", "label": "Credit Team review", "automatic": false, "initial": false, "terminal": false },
{ "code": "DECIDED", "label": "Decided", "automatic": false, "initial": false, "terminal": true }
],
"programs": [
{ "code": "8429", "name": "Master of Applied Economics", "cohortYear": 2026, "stream": "DOMESTIC_FP" }
]
}

code is the same value as workflowStatus on the outcome endpoint. That is what makes this useful: read the outcome, find its workflowStatus in this list, and you know how far through the process the application is and what is left.

label is written for people — show that, not the code.

automatic tells you whether waiting is normal

1

automatic: true

The system performs the step and moves on by itself. An application does not rest here, so seeing one of these in workflowStatus means you have caught it mid-assessment — poll again shortly.

2

automatic: false

The step waits for a person. An application can legitimately sit here for days. CREDIT_TEAM_REVIEW is the one to expect.

terminal: true marks an end state. Reaching one is what sets finalOutcome on the outcome response — with one caveat about academic approval.

Which programs accept applications

programs on the detail response is the authoritative list of your programs on that workflow, per cohort year and stream. Submit against a code + year pair that appears on some workflow.

For the flat answer across every workflow, use GET /institution/programs/accepting-applications — a program with no workflow attached cannot be assessed, and submitting against it is rejected during processing.

This is read-only. Which workflow a program uses, and what steps it has, are UAC configuration decisions. Tell us if a program is on the wrong one.