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

Attach Step

Request

Attach a detached step to an existing step in the workflow. This operation takes a step that is currently disconnected from the workflow flow and connects it as the next step after the specified parent step. The detached step must not already have a prior step, cannot be a start or end step, and cannot create circular dependencies. This operation is asynchronous and returns a request ID for tracking the attachment process.

Path
workflowIdstring(uuid)required

Workflow ID

stepIdstring(uuid)required

The step ID under which the step will be attached.

detachedStepIdstring(uuid)required

The step ID that will be attached below the step.

No request payload

Responses

Accepted

Body
requestIdstring

Unique identifier for the asynchronous request.

idstring

Optional resource ID returned after successful processing.

Response
{ "requestId": "string", "id": "string" }

Create Step

Request

Creates a new step in the workflow that will be executed after the specified parent step. This operation allows you to add sequential steps to the workflow flow, including regular steps, split steps, or other step types. The new step requires a valid action definition that matches the step type being created, and will be automatically connected to the parent step in the workflow sequence. The operation validates that the parent step exists and is not an end step, and ensures the action type matches the step type. This operation is asynchronous and returns a request ID for tracking the creation process. The new step can be further configured with additional steps or split options as needed.

Path
workflowIdstring(uuid)required
stepIdstring(uuid)required
Bodyrequired
actionDefinitionIdstring(uuid)

The action definition ID for this step. This is a read only attribute for steps, and will be determined by the provided enrollment action on the create. For split steps this will determine the type of options that can be added to the step.

enrollmentActionIdstring(uuid)required

The ID of the enrollment action to be followed in this step.

_linksobject
typestringrequired

The type of step.

Discriminator
firstSplitOptionobject(SplitStepOption_v1_0)

The split option to be created when this split step is created. It can be any kind of step defined in the option and will created if provided on the POST, but will be ignored on a PATCH.

{ "actionDefinitionId": "0b16f95e-fcc6-4107-a58b-86f2fc764d01", "enrollmentActionId": "a76b6dde-7900-4ffb-87fb-676692f788d1", "_links": { "property1": { … }, "property2": { … } }, "type": "SplitStep_v1_0", "firstSplitOption": { "optionName": "string", "enrollmentActionId": "a76b6dde-7900-4ffb-87fb-676692f788d1", "_links": { … } } }

Responses

Accepted

Body
requestIdstring

Unique identifier for the asynchronous request.

idstring

Optional resource ID returned after successful processing.

Response
{ "requestId": "string", "id": "string" }

Search and Filter Workflow Steps

Request

Searches and retrieves workflow steps using advanced query criteria. This endpoint supports complex filtering by step properties (ID, action definition, step type, termination status), custom sorting by multiple fields, and pagination controls. The query accepts a QueryData object containing filter conditions, sort specifications, and pagination parameters. Use the excludeContent parameter to retrieve only the total count without step details for performance optimization.

Path
workflowIdstring(uuid)required
Query
excludeContentboolean
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

Success

Body
pagingobject(PageDto)

The paging information for this response.

contentArray of objects(AbstractBaseStepDto)

The content list of the data.

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

Get All Steps

Request

Retrieves the complete list of steps for the workflow with paging.

Path
workflowIdstring(uuid)required
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(AbstractBaseStepDto)

The content list of the data.

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

Retrieve Workflow Step by ID

Request

Retrieves detailed information about a specific workflow step by its unique identifier. Returns complete step data including step type, action definitions, navigation relationships (prior/next steps), split options, termination status, and enrollment actions. This operation requires both workflowId and stepId parameters to locate the step within the correct workflow context.

Path
workflowIdstring(uuid)required
stepIdstring(uuid)required
No request payload

Responses

Success

Body
idstring(uuid)read-only

The unique ID for this step.

statusstringread-only

The validation status of the step.

Enum"VALID""INVALID"
statusReasonsArray of objects(StepStatusReasonDto_v1_0)uniqueread-only

The set of reasons for an invalid status. This will be empty if the step is valid.

_linksobject(Links)
Response
{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "status": "VALID", "statusReasons": [ { … } ], "_links": { "property1": { … }, "property2": { … } } }

Delete Step V2

Request

Deletes the requested step and leaves the previous and next steps disconnected. If this is a split, all options except the first will be removed. The step under the first option will be moved to the current step flow. Start and end steps can never be deleted.

Path
workflowIdstring(uuid)required
stepIdstring(uuid)required
No request payload

Responses

Accepted

Bodyapplication/vnd.ruckus.v1+json
requestIdstring

Unique identifier for the asynchronous request.

idstring

Optional resource ID returned after successful processing.

Response
application/vnd.ruckus.v1+json
{ "requestId": "string", "id": "string" }

Delete Descendant Step

Request

Deletes all steps that are descendants of the specified step, effectively truncating the workflow at that point. This operation removes all steps that follow the specified step in the workflow sequence, making the specified step the final step in the workflow flow. The operation supports an optional parameter to also delete the selected step itself. This is useful for removing entire branches of a workflow or cleaning up workflow sections. The operation cannot be performed on end steps (as they have no descendants) or start steps (when deleteSelectedStep is true). This operation is asynchronous and returns a request ID for tracking the deletion process.

Path
workflowIdstring(uuid)required
stepIdstring(uuid)required
Query
deleteSelectedStepboolean
Default false
No request payload

Responses

Accepted

Body
requestIdstring

Unique identifier for the asynchronous request.

idstring

Optional resource ID returned after successful processing.

Response
{ "requestId": "string", "id": "string" }

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