814 lines
21 KiB
YAML
814 lines
21 KiB
YAML
openapi: 3.0.0
|
|
info:
|
|
title: Corteza automation API
|
|
description: Corteza automation REST API definition
|
|
version: '2022.9'
|
|
contact:
|
|
email: info@cortezaproject.org
|
|
license:
|
|
name: Apache 2.0
|
|
url: http://www.apache.org/licenses/LICENSE-2.0.html
|
|
paths:
|
|
/automation/workflows/:
|
|
get:
|
|
tags:
|
|
- Workflows
|
|
summary: List workflows
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
parameters:
|
|
- in: query
|
|
name: workflowID
|
|
description: Filter by workflow ID
|
|
required: false
|
|
schema:
|
|
type: array
|
|
items: &ref_0
|
|
type: string
|
|
- in: query
|
|
name: query
|
|
description: Filter workflows
|
|
required: false
|
|
schema: *ref_0
|
|
- in: query
|
|
name: deleted
|
|
description: >-
|
|
Exclude (0, default), include (1) or return only (2) deleted
|
|
workflows
|
|
required: false
|
|
schema: &ref_1
|
|
type: string
|
|
- in: query
|
|
name: disabled
|
|
description: >-
|
|
Exclude (0, default), include (1) or return only (2) disabled
|
|
workflows
|
|
required: false
|
|
schema: *ref_1
|
|
- in: query
|
|
name: subWorkflow
|
|
description: Exclude (0, default), include (1) or return only (2) sub workflows
|
|
required: false
|
|
schema: *ref_1
|
|
- in: query
|
|
name: labels
|
|
description: Labels
|
|
required: false
|
|
schema: *ref_0
|
|
- in: query
|
|
name: limit
|
|
description: Limit
|
|
required: false
|
|
schema: *ref_1
|
|
- in: query
|
|
name: incTotal
|
|
description: Include total rows counter
|
|
required: false
|
|
schema: &ref_9
|
|
type: boolean
|
|
- in: query
|
|
name: pageCursor
|
|
description: Page cursor
|
|
required: false
|
|
schema: *ref_0
|
|
- in: query
|
|
name: sort
|
|
description: Sort items
|
|
required: false
|
|
schema: *ref_0
|
|
post:
|
|
tags:
|
|
- Workflows
|
|
summary: Create workflow
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties: &ref_2
|
|
handle:
|
|
type: string
|
|
description: Workflow name
|
|
labels:
|
|
type: string
|
|
description: Labels
|
|
meta:
|
|
type: string
|
|
description: Workflow meta data
|
|
enabled:
|
|
type: boolean
|
|
description: Is workflow enabled
|
|
trace:
|
|
type: boolean
|
|
description: Trace workflow execution
|
|
keepSessions:
|
|
type: integer
|
|
description: Keep old workflow sessions
|
|
scope:
|
|
type: string
|
|
description: Workflow meta data
|
|
steps:
|
|
type: string
|
|
description: Workflow steps definition
|
|
paths:
|
|
type: string
|
|
description: Workflow step paths definition
|
|
runAs:
|
|
type: string
|
|
description: Is workflow enabled
|
|
ownedBy:
|
|
type: string
|
|
description: Owner of the workflow
|
|
required:
|
|
- handle
|
|
- runAs
|
|
- ownedBy
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
type: object
|
|
properties: *ref_2
|
|
/automation/workflows/{workflowID}:
|
|
put:
|
|
tags:
|
|
- Workflows
|
|
summary: Update triger details
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
parameters:
|
|
- in: path
|
|
name: workflowID
|
|
description: Workflow ID
|
|
required: true
|
|
schema: &ref_4
|
|
type: string
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties: &ref_3
|
|
handle:
|
|
type: string
|
|
description: Workflow name
|
|
labels:
|
|
type: string
|
|
description: Labels
|
|
meta:
|
|
type: string
|
|
description: Workflow meta data
|
|
enabled:
|
|
type: boolean
|
|
description: Is workflow enabled
|
|
trace:
|
|
type: boolean
|
|
description: Trace workflow execution
|
|
keepSessions:
|
|
type: integer
|
|
description: Keep old workflow sessions
|
|
scope:
|
|
type: string
|
|
description: Workflow meta data
|
|
steps:
|
|
type: string
|
|
description: Workflow steps definition
|
|
paths:
|
|
type: string
|
|
description: Workflow step paths definition
|
|
runAs:
|
|
type: string
|
|
description: Is workflow enabled
|
|
ownedBy:
|
|
type: string
|
|
description: Owner of the workflow
|
|
required:
|
|
- handle
|
|
- runAs
|
|
- ownedBy
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
type: object
|
|
properties: *ref_3
|
|
get:
|
|
tags:
|
|
- Workflows
|
|
summary: Read workflow details
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
parameters:
|
|
- in: path
|
|
name: workflowID
|
|
description: Workflow ID
|
|
required: true
|
|
schema: *ref_4
|
|
delete:
|
|
tags:
|
|
- Workflows
|
|
summary: Remove workflow
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
parameters:
|
|
- in: path
|
|
name: workflowID
|
|
description: Workflow ID
|
|
required: true
|
|
schema: *ref_4
|
|
/automation/workflows/{workflowID}/undelete:
|
|
post:
|
|
tags:
|
|
- Workflows
|
|
summary: Undelete workflow
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
parameters:
|
|
- in: path
|
|
name: workflowID
|
|
description: Workflow ID
|
|
required: true
|
|
schema: *ref_4
|
|
/automation/workflows/{workflowID}/test:
|
|
post:
|
|
tags:
|
|
- Workflows
|
|
summary: Test workflow details
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
parameters:
|
|
- in: path
|
|
name: workflowID
|
|
description: Workflow ID
|
|
required: true
|
|
schema: *ref_4
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties: &ref_5
|
|
scope:
|
|
type: string
|
|
description: Workflow meta data
|
|
runAs:
|
|
type: boolean
|
|
description: Is workflow enabled
|
|
required:
|
|
- runAs
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
type: object
|
|
properties: *ref_5
|
|
/automation/workflows/{workflowID}/exec:
|
|
post:
|
|
tags:
|
|
- Workflows
|
|
summary: >-
|
|
Executes workflow on a specific step (must be orphan step and connected
|
|
to 'onManual' trigger)
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
parameters:
|
|
- in: path
|
|
name: workflowID
|
|
description: Workflow ID
|
|
required: true
|
|
schema: *ref_4
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties: &ref_6
|
|
stepID:
|
|
type: string
|
|
description: Step ID
|
|
input:
|
|
type: string
|
|
description: Input
|
|
trace:
|
|
type: boolean
|
|
description: Trace workflow execution
|
|
wait:
|
|
type: boolean
|
|
description: Wait for workflow to complete
|
|
async:
|
|
type: boolean
|
|
description: Execute step and return immediately
|
|
required:
|
|
- stepID
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
type: object
|
|
properties: *ref_6
|
|
/automation/triggers/:
|
|
get:
|
|
tags:
|
|
- Triggers
|
|
summary: List triggers
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
parameters:
|
|
- in: query
|
|
name: triggerID
|
|
description: Filter by trigger ID
|
|
required: false
|
|
schema:
|
|
type: array
|
|
items: *ref_0
|
|
- in: query
|
|
name: workflowID
|
|
description: Filter by workflow ID
|
|
required: false
|
|
schema:
|
|
type: array
|
|
items: *ref_0
|
|
- in: query
|
|
name: deleted
|
|
description: >-
|
|
Exclude (0, default), include (1) or return only (2) deleted
|
|
triggers
|
|
required: false
|
|
schema: *ref_1
|
|
- in: query
|
|
name: disabled
|
|
description: >-
|
|
Exclude (0, default), include (1) or return only (2) disabled
|
|
triggers
|
|
required: false
|
|
schema: *ref_1
|
|
- in: query
|
|
name: eventType
|
|
description: Filter triggers by event type
|
|
required: false
|
|
schema: *ref_0
|
|
- in: query
|
|
name: resourceType
|
|
description: Filter triggers by resource type
|
|
required: false
|
|
schema: *ref_0
|
|
- in: query
|
|
name: query
|
|
description: Filter workflows,
|
|
required: false
|
|
schema: *ref_0
|
|
- in: query
|
|
name: labels
|
|
description: Labels
|
|
required: false
|
|
schema: *ref_0
|
|
- in: query
|
|
name: limit
|
|
description: Limit
|
|
required: false
|
|
schema: *ref_1
|
|
- in: query
|
|
name: pageCursor
|
|
description: Page cursor
|
|
required: false
|
|
schema: *ref_0
|
|
- in: query
|
|
name: sort
|
|
description: Sort items
|
|
required: false
|
|
schema: *ref_0
|
|
post:
|
|
tags:
|
|
- Triggers
|
|
summary: Create trigger
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties: &ref_7
|
|
eventType:
|
|
type: string
|
|
description: Event type
|
|
resourceType:
|
|
type: string
|
|
description: Resource type
|
|
enabled:
|
|
type: boolean
|
|
description: Is trigger enabled
|
|
workflowID:
|
|
type: string
|
|
description: Workflow to be triggered
|
|
workflowStepID:
|
|
type: string
|
|
description: Start workflow in a specific step
|
|
input:
|
|
type: string
|
|
description: Workflow meta data
|
|
labels:
|
|
type: string
|
|
description: Labels
|
|
meta:
|
|
type: string
|
|
description: Trigger meta data
|
|
constraints:
|
|
type: string
|
|
description: Workflow steps definition
|
|
ownedBy:
|
|
type: string
|
|
description: Owner of the trigger
|
|
required:
|
|
- eventType
|
|
- resourceType
|
|
- workflowID
|
|
- workflowStepID
|
|
- ownedBy
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
type: object
|
|
properties: *ref_7
|
|
/automation/triggers/{triggerID}:
|
|
put:
|
|
tags:
|
|
- Triggers
|
|
summary: Update trigger details
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
parameters:
|
|
- in: path
|
|
name: triggerID
|
|
description: Trigger ID
|
|
required: true
|
|
schema: *ref_4
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties: &ref_8
|
|
eventType:
|
|
type: string
|
|
description: Event type
|
|
resourceType:
|
|
type: string
|
|
description: Resource type
|
|
enabled:
|
|
type: boolean
|
|
description: Is trigger enabled
|
|
workflowID:
|
|
type: string
|
|
description: Workflow to be triggered
|
|
workflowStepID:
|
|
type: string
|
|
description: Start workflow in a specific step
|
|
input:
|
|
type: string
|
|
description: Workflow meta data
|
|
labels:
|
|
type: string
|
|
description: Labels
|
|
meta:
|
|
type: string
|
|
description: Trigger meta data
|
|
constraints:
|
|
type: string
|
|
description: Workflow steps definition
|
|
ownedBy:
|
|
type: string
|
|
description: Owner of the trigger
|
|
required:
|
|
- eventType
|
|
- resourceType
|
|
- workflowID
|
|
- workflowStepID
|
|
- ownedBy
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
type: object
|
|
properties: *ref_8
|
|
get:
|
|
tags:
|
|
- Triggers
|
|
summary: Read trigger details
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
parameters:
|
|
- in: path
|
|
name: triggerID
|
|
description: Trigger ID
|
|
required: true
|
|
schema: *ref_4
|
|
delete:
|
|
tags:
|
|
- Triggers
|
|
summary: Remove trigger
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
parameters:
|
|
- in: path
|
|
name: triggerID
|
|
description: Trigger ID
|
|
required: true
|
|
schema: *ref_4
|
|
/automation/triggers/{triggerID}/undelete:
|
|
post:
|
|
tags:
|
|
- Triggers
|
|
summary: Undelete trigger
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
parameters:
|
|
- in: path
|
|
name: triggerID
|
|
description: Trigger ID
|
|
required: true
|
|
schema: *ref_4
|
|
/automation/sessions/:
|
|
get:
|
|
tags:
|
|
- Sessions
|
|
summary: List sessions
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
parameters:
|
|
- in: query
|
|
name: sessionID
|
|
description: Filter by session ID
|
|
required: false
|
|
schema:
|
|
type: array
|
|
items: *ref_0
|
|
- in: query
|
|
name: workflowID
|
|
description: Filter by workflow ID
|
|
required: false
|
|
schema:
|
|
type: array
|
|
items: *ref_0
|
|
- in: query
|
|
name: createdBy
|
|
description: Filter by creators ID
|
|
required: false
|
|
schema:
|
|
type: array
|
|
items: *ref_0
|
|
- in: query
|
|
name: completed
|
|
description: >-
|
|
Exclude (0, default), include (1) or return only (2) completed
|
|
sessions
|
|
required: false
|
|
schema: *ref_1
|
|
- in: query
|
|
name: status
|
|
description: >-
|
|
Filter by status: started (0), prompted (1), suspended (2), failed
|
|
(3) and completed (4)
|
|
required: false
|
|
schema:
|
|
type: array
|
|
items: *ref_1
|
|
- in: query
|
|
name: eventType
|
|
description: Filter event type
|
|
required: false
|
|
schema: *ref_0
|
|
- in: query
|
|
name: resourceType
|
|
description: Filter resource type
|
|
required: false
|
|
schema: *ref_0
|
|
- in: query
|
|
name: limit
|
|
description: Limit
|
|
required: false
|
|
schema: *ref_1
|
|
- in: query
|
|
name: incTotal
|
|
description: Include total rows counter
|
|
required: false
|
|
schema: *ref_9
|
|
- in: query
|
|
name: pageCursor
|
|
description: Page cursor
|
|
required: false
|
|
schema: *ref_0
|
|
- in: query
|
|
name: sort
|
|
description: Sort items
|
|
required: false
|
|
schema: *ref_0
|
|
/automation/sessions/{sessionID}:
|
|
get:
|
|
tags:
|
|
- Sessions
|
|
summary: Read session details
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
parameters:
|
|
- in: path
|
|
name: sessionID
|
|
description: Session ID
|
|
required: true
|
|
schema: *ref_4
|
|
/automation/sessions/{sessionID}/cancel:
|
|
post:
|
|
tags:
|
|
- Sessions
|
|
summary: Cancel session
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
parameters:
|
|
- in: path
|
|
name: sessionID
|
|
description: Session ID
|
|
required: true
|
|
schema: *ref_4
|
|
/automation/sessions/prompts:
|
|
get:
|
|
tags:
|
|
- Sessions
|
|
summary: Returns pending prompts from all sessions
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
/automation/sessions/{sessionID}/state/{stateID}:
|
|
post:
|
|
tags:
|
|
- Sessions
|
|
summary: Resume session
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
parameters:
|
|
- in: path
|
|
name: sessionID
|
|
description: Session ID
|
|
required: true
|
|
schema: *ref_4
|
|
- in: path
|
|
name: stateID
|
|
description: State ID
|
|
required: true
|
|
schema: *ref_4
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties: &ref_10
|
|
input:
|
|
type: string
|
|
description: Prompt variables
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
type: object
|
|
properties: *ref_10
|
|
/automation/functions/:
|
|
get:
|
|
tags:
|
|
- Functions
|
|
summary: Available workflow functions
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
/automation/types/:
|
|
get:
|
|
tags:
|
|
- Types
|
|
summary: Available workflow types
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
/automation/event-types/:
|
|
get:
|
|
tags:
|
|
- Event types
|
|
summary: Available workflow types
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
/automation/permissions/:
|
|
get:
|
|
tags:
|
|
- Permissions
|
|
summary: Retrieve defined permissions
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
/automation/permissions/effective:
|
|
get:
|
|
tags:
|
|
- Permissions
|
|
summary: Effective rules for current user
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
parameters:
|
|
- in: query
|
|
name: resource
|
|
description: Show only rules for a specific resource
|
|
required: false
|
|
schema: *ref_0
|
|
/automation/permissions/trace:
|
|
get:
|
|
tags:
|
|
- Permissions
|
|
summary: Evaluate rules for given user/role combo
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
parameters:
|
|
- in: query
|
|
name: resource
|
|
description: Show only rules for a specific resource
|
|
required: false
|
|
schema:
|
|
type: array
|
|
items: *ref_0
|
|
- in: query
|
|
name: userID
|
|
required: false
|
|
schema: *ref_4
|
|
- in: query
|
|
name: roleID
|
|
required: false
|
|
schema:
|
|
type: array
|
|
items: *ref_4
|
|
/automation/permissions/{roleID}/rules:
|
|
get:
|
|
tags:
|
|
- Permissions
|
|
summary: Retrieve role permissions
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
parameters:
|
|
- in: path
|
|
name: roleID
|
|
description: Role ID
|
|
required: true
|
|
schema: *ref_4
|
|
- in: query
|
|
name: resource
|
|
description: Show only rules for a specific resource
|
|
required: false
|
|
schema:
|
|
type: array
|
|
items: *ref_0
|
|
delete:
|
|
tags:
|
|
- Permissions
|
|
summary: Remove all defined role permissions
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
parameters:
|
|
- in: path
|
|
name: roleID
|
|
description: Role ID
|
|
required: true
|
|
schema: *ref_4
|
|
patch:
|
|
tags:
|
|
- Permissions
|
|
summary: Update permission settings
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
parameters:
|
|
- in: path
|
|
name: roleID
|
|
description: Role ID
|
|
required: true
|
|
schema: *ref_4
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties: &ref_11
|
|
rules:
|
|
type: string
|
|
description: List of permission rules to set
|
|
required:
|
|
- rules
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
type: object
|
|
properties: *ref_11
|