Manages the workflows, including create, update and delete.
Workflow Management API (0.0.4)
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.
To create a new workflow:
- Use
POST /workflowswith required fields:name,description - Optionally specify
allowedIpsanddisAllowedIpsfor network restrictions - The workflow will be created with a status of work in progress
- Use
PATCH /workflows/{workflowId}to update workflow properties
Steps define the user journey within a workflow:
- Start Step: Use
POST /workflows/{workflowId}/stepsto create the initial step - Regular Steps: Create additional steps using
POST /workflows/{workflowId}/steps/{stepId} - Split Steps: Create branching logic using split steps with multiple options
- End Steps: Mark steps as terminating to end the workflow
Each step requires an action definition:
- Query available actions using
GET /workflowActionDefinitions - Assign action by setting
actionDefinitionIdin the step - For split steps, create options using
POST /workflows/{workflowId}/steps/{stepId}/splitOptions - Each split option must have a matching action type
Link steps together to create the workflow flow:
- Set
nextStepIdto connect steps in sequence - Use
POST /workflows/{workflowId}/steps/{stepId}/nextSteps/{detachedStepId}to attach steps - For split steps, each option can lead to different next steps
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.
- RUCKUS One API host for North American region.https://api.ruckus.cloud/workflows/{workflowId}/steps/{stepId}/nextSteps/{detachedStepId}
- RUCKUS One API host for European region.https://api.eu.ruckus.cloud/workflows/{workflowId}/steps/{stepId}/nextSteps/{detachedStepId}
- RUCKUS One API host for Asian region.https://api.asia.ruckus.cloud/workflows/{workflowId}/steps/{stepId}/nextSteps/{detachedStepId}
- Payload
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
No request payload{ "requestId": "string", "id": "string" }
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.
- application/json
- application/vnd.ruckus.v1+json
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.
- RUCKUS One API host for North American region.https://api.ruckus.cloud/workflows/{workflowId}/steps/{stepId}/nextSteps
- RUCKUS One API host for European region.https://api.eu.ruckus.cloud/workflows/{workflowId}/steps/{stepId}/nextSteps
- RUCKUS One API host for Asian region.https://api.asia.ruckus.cloud/workflows/{workflowId}/steps/{stepId}/nextSteps
- Payload
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
{ "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": { … } } }
{ "requestId": "string", "id": "string" }
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.
- application/json
- application/vnd.ruckus.v1+json
- RUCKUS One API host for North American region.https://api.ruckus.cloud/workflows/{workflowId}/steps/query
- RUCKUS One API host for European region.https://api.eu.ruckus.cloud/workflows/{workflowId}/steps/query
- RUCKUS One API host for Asian region.https://api.asia.ruckus.cloud/workflows/{workflowId}/steps/query
- Payload
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
{ "sortField": "string", "sortOrder": "ASC", "page": 0, "pageSize": 1, "filters": { "property1": null, "property2": null } }
{ "paging": { "totalCount": 0, "page": 0, "pageSize": 0, "pageCount": 0 }, "content": [ { … } ] }
- RUCKUS One API host for North American region.https://api.ruckus.cloud/workflows/{workflowId}/steps
- RUCKUS One API host for European region.https://api.eu.ruckus.cloud/workflows/{workflowId}/steps
- RUCKUS One API host for Asian region.https://api.asia.ruckus.cloud/workflows/{workflowId}/steps
- Payload
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
No request payload{ "paging": { "totalCount": 0, "page": 0, "pageSize": 0, "pageCount": 0 }, "content": [ { … } ] }
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.
- RUCKUS One API host for North American region.https://api.ruckus.cloud/workflows/{workflowId}/steps/{stepId}
- RUCKUS One API host for European region.https://api.eu.ruckus.cloud/workflows/{workflowId}/steps/{stepId}
- RUCKUS One API host for Asian region.https://api.asia.ruckus.cloud/workflows/{workflowId}/steps/{stepId}
- Payload
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
No request payload{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "status": "VALID", "statusReasons": [ { … } ], "_links": { "property1": { … }, "property2": { … } } }
- RUCKUS One API host for North American region.https://api.ruckus.cloud/workflows/{workflowId}/steps/{stepId}
- RUCKUS One API host for European region.https://api.eu.ruckus.cloud/workflows/{workflowId}/steps/{stepId}
- RUCKUS One API host for Asian region.https://api.asia.ruckus.cloud/workflows/{workflowId}/steps/{stepId}
- Payload
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
No request payload{ "requestId": "string", "id": "string" }
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.
- RUCKUS One API host for North American region.https://api.ruckus.cloud/workflows/{workflowId}/steps/{stepId}/descendantSteps
- RUCKUS One API host for European region.https://api.eu.ruckus.cloud/workflows/{workflowId}/steps/{stepId}/descendantSteps
- RUCKUS One API host for Asian region.https://api.asia.ruckus.cloud/workflows/{workflowId}/steps/{stepId}/descendantSteps
- Payload
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
No request payload{ "requestId": "string", "id": "string" }