openapi: 3.2.0 info: version: 1.3.0 title: Workflow Engine Test Workflows API description: This API enables you to create and manage workflows termsOfService: https://www.moogsoft.com/legal-information/express-terms-conditions/ contact: name: API Support url: https://docs.moogsoft.com/en/moogsoft-apis.html email: support@moogsoft.com license: url: https://www.moogsoft.com/legal-information name: Apex AIOps Incident Management Proprietary servers: - url: https://api.moogsoft.ai - url: https://api.dev.moogsoft.cloud security: - ApiKeyAuth: [] tags: - name: test-workflows description: Synchronous workflow testing paths: /v1/test-workflows/bulk: post: tags: - test-workflows summary: Test multiple workflows synchronously description: Test multiple workflows synchronously. operationId: testWorkflows requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/BulkTestWorkflowDto' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/MoogResponseListOfBulkTestWorkflowResultsDto' '400': description: Bad Request '404': description: Requested object(s) not found content: application/json: schema: $ref: '#/components/schemas/MoogFailureResponse' 4XX: description: Authorization or other error content: application/json: schema: $ref: '#/components/schemas/MoogFailureResponse' 5XX: description: Error content: application/json: schema: $ref: '#/components/schemas/MoogErrorResponse' security: - ApiKeyAuth: [] servers: - url: https://api.moogsoft.ai - url: https://api.dev.moogsoft.cloud x-permissions: description: Required user permissions for this endpoint value: [] /v1/test-workflows: post: tags: - test-workflows summary: Test a workflow synchronously description: Test a workflow synchronously. operationId: testWorkflow requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/WorkflowTestWrapperDto' responses: '200': description: Test workflow validated content: application/json: schema: $ref: '#/components/schemas/MoogResponseWorkflowTestResultDto' '400': description: Bad Request '404': description: Requested object(s) not found content: application/json: schema: $ref: '#/components/schemas/MoogFailureResponse' 4XX: description: Authorization or other error content: application/json: schema: $ref: '#/components/schemas/MoogFailureResponse' 5XX: description: Error content: application/json: schema: $ref: '#/components/schemas/MoogErrorResponse' security: - ApiKeyAuth: [] servers: - url: https://api.moogsoft.ai - url: https://api.dev.moogsoft.cloud x-permissions: description: Required user permissions for this endpoint value: [] components: schemas: WorkflowTriggerDto: type: object title: Workflow Trigger Dto description: The trigger definition for a workflow. properties: type: $ref: '#/components/schemas/WorkflowTriggerType' description: The workflow trigger type entryFilter: type: string description: Entry filter for the workflow (can be empty) required: - type BulkTestWorkflowResultsDto: type: object title: Bulk Test Workflow Results Dto description: A bulk test workflow results. properties: input: type: object description: Original input provided to the workflows under test workflows: type: array description: Workflow status and test results for each workflow tested items: $ref: '#/components/schemas/WorkflowDto' WorkflowStatus: type: string enum: - DELETED - NOT_RUNNING - RUNNING title: Workflow Status WorkflowTriggerType: type: string enum: - EVENT_CREATED - ALERT_CREATED - ALERT_UPDATED - ALERT_DEDUPLICATED - INCIDENT_CREATED - INCIDENT_UPDATED - ALERT_CREATED_OR_UPDATED - ALERT_CREATED_OR_DEDUPLICATED - INCIDENT_CREATED_OR_UPDATED - ALERT_INVOKED - INCIDENT_INVOKED title: Workflow Trigger Type Instant: type: number title: Instant format: int64 examples: - '2022-03-10T16:15:50Z' WorkflowMetricsDto: type: object title: Workflow Metrics Dto description: Metrics about a running workflow. properties: processed: type: integer description: Number processed format: int64 errors: type: integer description: Number processed with error format: int64 skipped: type: integer description: Number of events ignored format: int64 discarded: type: integer description: Number of events discarded format: int64 filterMetrics: $ref: '#/components/schemas/FilterMetricsDto' description: The metrics for the workflow filter actionMetricsMap: type: object description: Map of the action name to action metrics additionalProperties: $ref: '#/components/schemas/ActionMetricsDto' highWatermarkProcessingDurationMillis: type: integer description: The highest watermark for processing duration (0 indicates less then 1ms) format: int64 averageProcessingDurationMillis: type: integer description: The average processing duration (0 indicates less then 1ms) format: int64 lowWatermarkProcessingDurationMillis: type: integer description: The lowest watermark for processing duration (0 indicates less then 1ms) format: int64 lastException: type: string description: A description of the last exception that occurred any where in the workflow lastExceptionMillis: type: integer description: The time in millis when the exception occurred format: int64 generalError: type: string description: A general error that occurred outside of the workflow generalErrorMillis: type: integer description: The time in millis when the general error occurred format: int64 MoogResponseWorkflowTestResultDto: type: object title: Moog Response Workflow Test Result Dto description: Workflow Engine API WorkflowTestResultDto response body properties: status: type: string description: Success status indicator (always "success") examples: - success data: $ref: '#/components/schemas/WorkflowTestResultDto' required: - status - data WorkflowTestWrapperDto: type: object title: Workflow Test Wrapper Dto description: A test workflow representing a workflow and test input. properties: name: type: string description: Name of the workflow. This name cannot be empty and must be unique. description: type: string description: Optional description of the workflow. trigger: $ref: '#/components/schemas/WorkflowTriggerDto' description: Trigger of the workflow. type: $ref: '#/components/schemas/WorkflowType' description: Type of the workflow. priority: type: integer description: The priority of the workflow. format: int32 steps: type: array description: List of the configured workflow action(s). items: $ref: '#/components/schemas/WorkflowActionDto' id: type: string description: ID of the workflow if it has already been saved input: type: array description: The input or list of inputs for the workflow test minItems: 1 items: type: object required: - name - trigger - type - priority - steps - input ActionTestDto: type: object title: Action Test Dto description: Test results for an action. properties: actionName: type: string description: The computer name of the action input: type: object description: Input for the action output: type: object description: Output from the action startMillis: type: integer description: Start time in millis of the workflow action format: int64 endMillis: type: integer description: End time in millis of the workflow action format: int64 exception: type: string description: Description of any exceptions that occurred skipped: type: boolean description: Input was skipped by the workflow action discarded: type: boolean description: Input was discarded by the workflow action outputViolations: type: array description: Validation error messages generated while validating the action output items: type: string MoogResponseListOfBulkTestWorkflowResultsDto: type: object title: Moog Response List Of Bulk Test Workflow Results Dto description: Workflow Engine API BulkTestWorkflowResultsDto response body properties: status: type: string description: Success status indicator (always "success") examples: - success data: type: array items: $ref: '#/components/schemas/BulkTestWorkflowResultsDto' required: - status - data ActionMetricsDto: type: object title: Action Metrics Dto description: Metrics about a running action. properties: actionName: type: string description: The computer name for the action processed: type: integer description: Number processed format: int64 errors: type: integer description: Number processed with error format: int64 highWatermarkProcessingDurationMillis: type: integer description: The highest watermark for processing duration (0 indicates less then 1ms) format: int64 averageProcessingDurationMillis: type: integer description: The average processing duration (0 indicates less then 1ms) format: int64 lowWatermarkProcessingDurationMillis: type: integer description: The lowest watermark for processing duration (0 indicates less then 1ms) format: int64 skipped: type: integer description: Number of events skipped format: int64 discarded: type: integer description: Number of events discarded format: int64 FilterTestDto: type: object title: Filter Test Dto description: Test results for a filter. properties: input: type: object description: Input for the filter startMillis: type: integer description: Start time in millis of the filter format: int64 endMillis: type: integer description: End time in millis of the filter format: int64 result: type: boolean description: Boolean result of running the filter exception: type: string description: Description of any exceptions that occurred WorkflowTestResultDto: type: object title: Workflow Test Result Dto description: Test results for a workflow. properties: status: $ref: '#/components/schemas/WorkflowTestStatus' description: Status of the test input: type: object description: Input for the workflow test output: type: object description: Output of the workflow test startMillis: type: integer description: Start time in millis of the workflow test format: int64 endMillis: type: integer description: End time in millis of the workflow test format: int64 filterTest: $ref: '#/components/schemas/FilterTestDto' description: Test results for the filter actionsTestList: type: array description: List of test results for each action items: $ref: '#/components/schemas/ActionTestDto' exception: type: string description: Description of any exceptions that occurred generalError: type: string description: Description of any error that occurred outside of the workflow skipped: type: boolean description: Input was skipped by one of the workflow actions discarded: type: boolean description: Input was discarded by one of the workflow actions WorkflowType: type: string enum: - EVENT - ALERT - INCIDENT - ALERT_STANDALONE - INCIDENT_STANDALONE title: Workflow Type MoogFailureResponse: type: object description: Workflow Engine API failure response body properties: status: type: string description: Failure status indicator (always "failure") examples: - failure message: type: string additional: type: array items: type: string required: - status - message WorkflowActionDto: type: object title: Workflow Action Dto description: A configured action. properties: actionName: type: string description: Computer name of the action minLength: 1 maxLength: 127 description: type: string description: Description of the configured action configuration: type: object description: Configuration for the action error: type: string description: Error message associated with the configured action readOnly: true valid: type: boolean description: Indicates if the workflow action is valid readOnly: true required: - actionName - configuration WorkflowDto: type: object title: Workflow Dto description: Workflow with base and generated attributes. properties: name: type: string description: Name of the workflow. This name cannot be empty and must be unique. description: type: string description: Optional description of the workflow. trigger: $ref: '#/components/schemas/WorkflowTriggerDto' description: Trigger of the workflow. type: $ref: '#/components/schemas/WorkflowType' description: Type of the workflow. priority: type: integer description: The priority of the workflow. format: int32 steps: type: array description: List of the configured workflow action(s). items: $ref: '#/components/schemas/WorkflowActionDto' id: type: string description: ID of the workflow readOnly: true createdBy: type: string description: Creator of the workflow readOnly: true lastUpdatedBy: type: string description: Creator of the workflow readOnly: true status: $ref: '#/components/schemas/WorkflowStatus' description: Status of the workflow metrics: $ref: '#/components/schemas/WorkflowMetricsDto' description: Metrics about the running workflow test: $ref: '#/components/schemas/WorkflowTestResultDto' description: The last asynchronous test results for the workflow lastUpdated: $ref: '#/components/schemas/Instant' description: The last updated time in milliseconds created: $ref: '#/components/schemas/Instant' description: The created time in milliseconds valid: type: boolean description: Indicates if the workflow-actions are valid readOnly: true required: - name - trigger - type - priority - steps BulkTestWorkflowDto: type: object title: Bulk Test Workflow Dto description: A bulk test workflow representing multiple workflows and test inputs. properties: triggerType: $ref: '#/components/schemas/WorkflowTriggerType' description: The workflow trigger type workflows: type: array description: The list of workflows to test with items: $ref: '#/components/schemas/WorkflowDto' inputs: type: array description: The list of inputs for the bulk workflow test items: type: object required: - triggerType - workflows - inputs MoogErrorResponse: type: object description: Workflow Engine API error response body properties: status: type: string description: Error status indicator (always "error") examples: - error message: type: string additional: type: array items: type: string required: - status - message WorkflowTestStatus: type: string enum: - RUNNING - FAILED - SUCCESS title: Workflow Test Status FilterMetricsDto: type: object title: Filter Metrics Dto description: Metrics about a running filter. properties: included: type: integer description: Number included in the workflow format: int64 excluded: type: integer description: Number excluded from the workflow format: int64 errors: type: integer description: Number processed with error format: int64 processed: type: integer description: Number processed format: int64 highWatermarkProcessingDurationMillis: type: integer description: The highest watermark for processing duration (0 indicates less then 1ms) format: int64 averageProcessingDurationMillis: type: integer description: The average processing duration (0 indicates less then 1ms) format: int64 lowWatermarkProcessingDurationMillis: type: integer description: The lowest watermark for processing duration (0 indicates less then 1ms) format: int64 securitySchemes: ApiKeyAuth: type: apiKey description: API Key for accessing Workflow Engine API name: apiKey in: header externalDocs: url: https://docs.moogsoft.com/en/moogsoft-apis.html description: Find out more about Apex AIOps Incident Management