Workflow API
Base URL: /api/v1/workflow
Manage registration workflows, workflow steps, transitions, and automation rules.
Endpoints Overview
Registration Workflows
| Method | Endpoint | Description |
|---|---|---|
| GET | /registration-workflows/default | Get default registration workflow |
| GET | /registration-workflows | List registration workflows |
| POST | /registration-workflows | Create registration workflow |
| GET | /registration-workflows/{workflowID} | Get workflow by ID |
| PATCH | /registration-workflows/{workflowID} | Update workflow |
| DELETE | /registration-workflows/{workflowID} | Delete workflow |
Workflow Steps
| Method | Endpoint | Description |
|---|---|---|
| GET | /steps | List workflow steps |
| POST | /steps | Create workflow step |
| GET | /steps/{stepID} | Get step by ID |
| PATCH | /steps/{stepID} | Update step |
| DELETE | /steps/{stepID} | Delete step |
Workflow Transitions
| Method | Endpoint | Description |
|---|---|---|
| GET | /transitions | List workflow transitions |
| POST | /transitions | Create workflow transition |
| GET | /transitions/{transitionID} | Get transition by ID |
| PATCH | /transitions/{transitionID} | Update transition |
| DELETE | /transitions/{transitionID} | Delete transition |
Automation Rules
| Method | Endpoint | Description |
|---|---|---|
| GET | /automation-rules | List automation rules |
| POST | /automation-rules | Create automation rule |
| GET | /automation-rules/{ruleID} | Get rule by ID |
| PATCH | /automation-rules/{ruleID} | Update rule |
| DELETE | /automation-rules/{ruleID} | Delete rule |
Registration Workflows
Get Default Workflow
GET /api/v1/workflow/registration-workflows/defaultGet the default registration workflow. The default workflow is applied to registrations that do not match any specific workflow configuration.
List Registration Workflows
GET /api/v1/workflow/registration-workflowsList all registration workflows. Each workflow defines the steps and transitions required to complete a course registration.
Create Registration Workflow
POST /api/v1/workflow/registration-workflowsCreate a new registration workflow.
Get Workflow
GET /api/v1/workflow/registration-workflows/{workflowID}Get a specific registration workflow with its steps and transitions.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
workflowID | integer | The workflow ID |
Update Workflow
PATCH /api/v1/workflow/registration-workflows/{workflowID}Update an existing registration workflow.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
workflowID | integer | The workflow ID |
Delete Workflow
DELETE /api/v1/workflow/registration-workflows/{workflowID}Delete a registration workflow.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
workflowID | integer | The workflow ID |
Workflow Steps
List Steps
GET /api/v1/workflow/stepsList all workflow steps. Steps define the individual stages within a registration workflow (e.g., advisor approval, registrar review).
Create Step
POST /api/v1/workflow/stepsCreate a new workflow step.
Get Step
GET /api/v1/workflow/steps/{stepID}Get a specific workflow step by ID.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
stepID | integer | The step ID |
Update Step
PATCH /api/v1/workflow/steps/{stepID}Update an existing workflow step.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
stepID | integer | The step ID |
Delete Step
DELETE /api/v1/workflow/steps/{stepID}Delete a workflow step.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
stepID | integer | The step ID |
Workflow Transitions
List Transitions
GET /api/v1/workflow/transitionsList all workflow transitions. Transitions define the allowed movement between steps and any conditions or actions that apply.
Create Transition
POST /api/v1/workflow/transitionsCreate a new workflow transition between two steps.
Get Transition
GET /api/v1/workflow/transitions/{transitionID}Get a specific workflow transition by ID.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
transitionID | integer | The transition ID |
Update Transition
PATCH /api/v1/workflow/transitions/{transitionID}Update an existing workflow transition.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
transitionID | integer | The transition ID |
Delete Transition
DELETE /api/v1/workflow/transitions/{transitionID}Delete a workflow transition.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
transitionID | integer | The transition ID |
Automation Rules
List Automation Rules
GET /api/v1/workflow/automation-rulesList all automation rules. Automation rules define actions that are automatically triggered during workflow transitions (e.g., sending notifications, updating statuses).
Create Automation Rule
POST /api/v1/workflow/automation-rulesCreate a new automation rule.
Get Automation Rule
GET /api/v1/workflow/automation-rules/{ruleID}Get a specific automation rule by ID.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
ruleID | integer | The automation rule ID |
Update Automation Rule
PATCH /api/v1/workflow/automation-rules/{ruleID}Update an existing automation rule.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
ruleID | integer | The automation rule ID |
Delete Automation Rule
DELETE /api/v1/workflow/automation-rules/{ruleID}Delete an automation rule.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
ruleID | integer | The automation rule ID |
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/workflow. 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.
| Method | Endpoint | Permission node | Description |
|---|---|---|---|
| GET | /automation-rules | ADMIN.WORKFLOWS | List automation rules |
| POST | /automation-rules | ADMIN.WORKFLOWS | Create a automation rule |
| DELETE | /automation-rules/{ruleID} | ADMIN.WORKFLOWS | Delete a automation rule |
| GET | /automation-rules/{ruleID} | ADMIN.WORKFLOWS | Get one automation rule |
| PATCH | /automation-rules/{ruleID} | ADMIN.WORKFLOWS | Update a automation rule |
| GET | /registration-workflows | ADMIN.WORKFLOWS | List registration workflows |
| POST | /registration-workflows | ADMIN.WORKFLOWS | Create a registration workflow |
| GET | /registration-workflows/default | ADMIN.WORKFLOWS | Get default |
| DELETE | /registration-workflows/{workflowID} | ADMIN.WORKFLOWS | Delete a registration workflow |
| GET | /registration-workflows/{workflowID} | ADMIN.WORKFLOWS | Get one registration workflow |
| PATCH | /registration-workflows/{workflowID} | ADMIN.WORKFLOWS | Update a registration workflow |
| GET | /steps | ADMIN.WORKFLOWS | List steps |
| POST | /steps | ADMIN.WORKFLOWS | Create a step |
| DELETE | /steps/{stepID} | ADMIN.WORKFLOWS | Delete a step |
| GET | /steps/{stepID} | ADMIN.WORKFLOWS | Get one step |
| PATCH | /steps/{stepID} | ADMIN.WORKFLOWS | Update a step |
| GET | /transitions | ADMIN.WORKFLOWS | List transitions |
| POST | /transitions | ADMIN.WORKFLOWS | Create a transition |
| DELETE | /transitions/{transitionID} | ADMIN.WORKFLOWS | Delete a transition |
| GET | /transitions/{transitionID} | ADMIN.WORKFLOWS | Get one transition |
| PATCH | /transitions/{transitionID} | ADMIN.WORKFLOWS | Update a transition |