Skip to content

Workflow Management API (0.0.4)

Overview

The Workflow Management REST APIs allow the creation of a workflow, and steps within the workflow. Steps, and split step options must be assigned actions that are already defined through the Enrollment Actions API. Please see that API for additional information. For split steps only the action definition is to be provided, but the options require a matching action type, and must be of type split.

Getting Started: Creating Workflows and Steps

1. Create a Workflow

To create a new workflow:

  1. Use POST /workflows with required fields: name, description
  2. Optionally specify allowedIps and disAllowedIps for network restrictions
  3. The workflow will be created with a status of work in progress
  4. Use PATCH /workflows/{workflowId} to update workflow properties

2. Create Steps

Steps define the user journey within a workflow:

  1. Start Step: Use POST /workflows/{workflowId}/steps to create the initial step
  2. Regular Steps: Create additional steps using POST /workflows/{workflowId}/steps/{stepId}
  3. Split Steps: Create branching logic using split steps with multiple options
  4. End Steps: Mark steps as terminating to end the workflow

3. Assign Actions to Steps

Each step requires an action definition:

  1. Query available actions using GET /workflowActionDefinitions
  2. Assign action by setting actionDefinitionId in the step
  3. For split steps, create options using POST /workflows/{workflowId}/steps/{stepId}/splitOptions
  4. Each split option must have a matching action type

4. Connect Steps in Sequence

Link steps together to create the workflow flow:

  1. Set nextStepId to connect steps in sequence
  2. Use POST /workflows/{workflowId}/steps/{stepId}/nextSteps/{detachedStepId} to attach steps
  3. For split steps, each option can lead to different next steps

5. Publish the Workflow

Make the workflow available to users:

  1. Use PATCH /workflows/{workflowId} with publishedDetails.status: 'PUBLISHED'
  2. The workflow must be valid before publishing
  3. Published workflows can be assigned to captive portal networks
Download OpenAPI description
Languages
Servers
RUCKUS One API host for North American region.
https://api.ruckus.cloud/
RUCKUS One API host for European region.
https://api.eu.ruckus.cloud/
RUCKUS One API host for Asian region.
https://api.asia.ruckus.cloud/

Workflow

Manages the workflows, including create, update and delete.

Operations

Steps

Manages the steps for the workflow.

Operations

Split Options

Manages the split options for split steps in a workflow.

Operations

Enrollment UI Configuration

Manages the enrollment configuration for the workflow.

Operations

Action Definition

Manages the action definitions that can be used in workflow steps.

Operations

Query Action Definitions

Request

Returns the list of action definitions using the specified query.

Query
excludeContentboolean

Excludes all of the content and just returns the counts for this query.

Default false
Bodyrequired
sortFieldstring

The field to use to sort on.

sortOrderstring

The sort order of the applied query.

Enum"ASC""DESC"
pageinteger(int32)>= 0

The page number to return, paging starts with 0.

pageSizeinteger(int32)[ 1 .. 2000 ]

The number of items requested on the page.

filtersobject

The list of filters to apply.

{ "sortField": "string", "sortOrder": "ASC", "page": 0, "pageSize": 1, "filters": { "property1": null, "property2": null } }

Responses

List of action definitions in a paged format. Can exclude content for just count information

Body
pagingobject(PageDto)

The paging information for this response.

contentArray of objects(ActionDefinition_v1_0)

The content list of the data.

Response
{ "paging": { "totalCount": 0, "page": 0, "pageSize": 0, "pageCount": 0 }, "content": [ {} ] }

Get All Action Definitions

Request

Retrieves the complete list of action definitions with paging.

Query
sizeany

Page size

pageany

The page to retrieve (starts at zero).

sortany

The field name to sort, comma separated from the sort order (asc or desc).

No request payload

Responses

The action definitions in a paged format.

Body
pagingobject(PageDto)

The paging information for this response.

contentArray of objects(ActionDefinition_v1_0)

The content list of the data.

Response
{ "paging": { "totalCount": 0, "page": 0, "pageSize": 0, "pageCount": 0 }, "content": [ {} ] }

Get Action Definition

Request

Retrieves the requested action definition by id.

Path
definitionIdstring(uuid)required
No request payload

Responses

OK

Body
idstring(uuid)read-only

The unique ID for this action definition.

namestringread-only

The name for this action definition.

descriptionstringread-only

The description for this action definition.

localizationDescriptionIdstringread-only

The ID for localization information for this action definition.

isSplitbooleanread-only

Indicates if this action definition supports split actions. When true, this action can be used in split steps where multiple options can be defined.

actionTypestringread-only

The action type that is mapped into the step, when a step is created.

categorystringread-only

The category for this action type.

hasEndActionsbooleanread-only

Indicates if this action also has behavior as part of the end step.

dependencyTypestringread-only

The dependency requirement.

Enum"NONE""ONE_OF""ALL"
_linksobject(Links)
splitbooleanread-only

Indicates if this action definition supports split actions. When true, this action can be used in split steps where multiple options can be defined.

Response
{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "name": "string", "description": "string", "localizationDescriptionId": "string", "isSplit": true, "actionType": "string", "category": "string", "hasEndActions": true, "dependencyType": "NONE", "_links": { "property1": {}, "property2": {} }, "split": true }

Get Prior Required Actions

Request

Retrieves the list of required prior actions for this action.

Path
definitionIdstring(uuid)required
No request payload

Responses

OK

Body
pagingobject(PageDto)

The paging information for this response.

contentArray of objects(ActionDefinition_v1_0)

The content list of the data.

Response
{ "paging": { "totalCount": 0, "page": 0, "pageSize": 0, "pageCount": 0 }, "content": [ {} ] }