openapi: 3.0.0 info: title: Corteza compose API description: Corteza compose REST API definition version: 1.0.0 contact: email: contact@mail.com license: name: Apache 2.0 url: 'http://www.apache.org/licenses/LICENSE-2.0.html' paths: /compose/namespace/: get: tags: - Namespaces summary: List namespaces responses: '200': description: OK parameters: - in: query name: query description: Search query required: false schema: &ref_0 type: string - in: query name: slug description: Search by namespace slug required: false schema: *ref_0 - in: query name: limit description: Limit required: false schema: &ref_5 type: string - in: query name: labels description: Labels required: false schema: *ref_0 - 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: - Namespaces summary: Create namespace responses: '200': description: OK requestBody: content: application/json: schema: type: object properties: &ref_1 name: type: string description: Name labels: type: string description: Labels slug: type: string description: Slug (url path part) enabled: type: boolean description: Enabled meta: type: string format: json description: Meta data required: - name - meta application/x-www-form-urlencoded: schema: type: object properties: *ref_1 '/compose/namespace/{namespaceID}': get: tags: - Namespaces summary: Read namespace responses: '200': description: OK parameters: - in: path name: namespaceID description: ID required: true schema: &ref_2 type: string post: tags: - Namespaces summary: Update namespace responses: '200': description: OK parameters: - in: path name: namespaceID description: ID required: true schema: *ref_2 requestBody: content: application/json: schema: type: object properties: &ref_3 name: type: string description: Name slug: type: string description: Slug (url path part) enabled: type: boolean description: Enabled meta: type: string format: json description: Meta data labels: type: string description: Labels updatedAt: type: string format: date-time description: Last update (or creation) date required: - name - meta application/x-www-form-urlencoded: schema: type: object properties: *ref_3 delete: tags: - Namespaces summary: Delete namespace responses: '200': description: OK parameters: - in: path name: namespaceID description: ID required: true schema: *ref_2 '/compose/namespace/{namespaceID}/trigger': post: tags: - Namespaces summary: 'Fire compose:namespace trigger' responses: '200': description: OK parameters: - in: path name: namespaceID description: ID required: true schema: *ref_2 requestBody: content: application/json: schema: type: object properties: &ref_4 script: type: string description: Script to execute required: - script application/x-www-form-urlencoded: schema: type: object properties: *ref_4 '/compose/namespace/{namespaceID}/page/': get: tags: - Pages summary: List available pages responses: '200': description: OK parameters: - in: query name: selfID description: Parent page ID required: false schema: *ref_2 - in: query name: query description: Search query required: false schema: *ref_0 - in: query name: handle description: Search by handle 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_5 - in: query name: pageCursor description: Page cursor required: false schema: *ref_0 - in: query name: sort description: Sort items required: false schema: *ref_0 - in: path name: namespaceID description: Namespace ID required: true schema: *ref_2 post: tags: - Pages summary: Create page responses: '200': description: OK requestBody: content: application/json: schema: type: object properties: &ref_6 selfID: type: string description: Parent Page ID moduleID: type: string description: Module ID title: type: string description: Title handle: type: string description: Handle description: type: string description: Description weight: type: integer description: Page tree weight labels: type: string description: Labels visible: type: boolean description: Visible in navigation blocks: type: string format: json description: Blocks JSON required: - title application/x-www-form-urlencoded: schema: type: object properties: *ref_6 parameters: - in: path name: namespaceID description: Namespace ID required: true schema: *ref_2 '/compose/namespace/{namespaceID}/page/{pageID}': get: tags: - Pages summary: Get page details responses: '200': description: OK parameters: - in: path name: namespaceID description: Namespace ID required: true schema: *ref_2 - in: path name: pageID description: Page ID required: true schema: *ref_2 post: tags: - Pages summary: Update page responses: '200': description: OK parameters: - in: path name: namespaceID description: Namespace ID required: true schema: *ref_2 - in: path name: pageID description: Page ID required: true schema: *ref_2 requestBody: content: application/json: schema: type: object properties: &ref_7 selfID: type: string description: Parent Page ID moduleID: type: string description: Module ID (optional) title: type: string description: Title handle: type: string description: Handle description: type: string description: Description weight: type: integer description: Page tree weight labels: type: string description: Labels visible: type: boolean description: Visible in navigation blocks: type: string format: json description: Blocks JSON required: - title application/x-www-form-urlencoded: schema: type: object properties: *ref_7 delete: tags: - Pages summary: Delete page responses: '200': description: OK parameters: - in: path name: namespaceID description: Namespace ID required: true schema: *ref_2 - in: path name: pageID description: Page ID required: true schema: *ref_2 '/compose/namespace/{namespaceID}/page/tree': get: tags: - Pages summary: 'Get page all (non-record) pages, hierarchically' responses: '200': description: OK parameters: - in: path name: namespaceID description: Namespace ID required: true schema: *ref_2 '/compose/namespace/{namespaceID}/page/{selfID}/reorder': post: tags: - Pages summary: Reorder pages responses: '200': description: OK parameters: - in: path name: namespaceID description: Namespace ID required: true schema: *ref_2 - in: path name: selfID description: Parent page ID required: true schema: *ref_2 requestBody: content: application/json: schema: type: object properties: &ref_8 pageIDs: type: array items: *ref_0 description: Page ID order required: - pageIDs application/x-www-form-urlencoded: schema: type: object properties: *ref_8 '/compose/namespace/{namespaceID}/page/{pageID}/attachment': post: tags: - Pages summary: Uploads attachment to page responses: '200': description: OK parameters: - in: path name: namespaceID description: Namespace ID required: true schema: *ref_2 - in: path name: pageID description: Page ID required: true schema: *ref_2 requestBody: content: application/json: schema: type: object properties: &ref_9 upload: type: string format: binary description: File to upload required: - upload application/x-www-form-urlencoded: schema: type: object properties: *ref_9 '/compose/namespace/{namespaceID}/page/{pageID}/trigger': post: tags: - Pages summary: 'Fire compose:page trigger' responses: '200': description: OK parameters: - in: path name: namespaceID description: Namespace ID required: true schema: *ref_2 - in: path name: pageID description: Page ID required: true schema: *ref_2 requestBody: content: application/json: schema: type: object properties: &ref_10 script: type: string description: Script to execute required: - script application/x-www-form-urlencoded: schema: type: object properties: *ref_10 '/compose/namespace/{namespaceID}/module/': get: tags: - Modules summary: List modules responses: '200': description: OK parameters: - in: query name: query description: Search query required: false schema: *ref_0 - in: query name: name description: Search by name required: false schema: *ref_0 - in: query name: handle description: Search by handle required: false schema: *ref_0 - in: query name: limit description: Limit required: false schema: *ref_5 - in: query name: pageCursor description: Page cursor required: false schema: *ref_0 - in: query name: labels description: Labels required: false schema: *ref_0 - in: query name: sort description: Sort items required: false schema: *ref_0 - in: path name: namespaceID description: Namespace ID required: true schema: *ref_2 post: tags: - Modules summary: Create module responses: '200': description: OK requestBody: content: application/json: schema: type: object properties: &ref_11 name: type: string description: Module Name handle: type: string description: Module handle fields: type: array items: &ref_12 type: object properties: fieldID: type: string format: uuid name: type: string kind: type: string label: type: string defaultValue: type: array items: type: string maxLength: type: integer isRequired: type: boolean isPrivate: type: boolean isMulti: type: boolean isSystem: type: boolean options: type: object description: Fields JSON meta: type: string format: json description: Module meta data labels: type: string description: Module labels required: - name - fields - meta application/x-www-form-urlencoded: schema: type: object properties: *ref_11 parameters: - in: path name: namespaceID description: Namespace ID required: true schema: *ref_2 '/compose/namespace/{namespaceID}/module/{moduleID}': get: tags: - Modules summary: Read module responses: '200': description: OK parameters: - in: path name: namespaceID description: Namespace ID required: true schema: *ref_2 - in: path name: moduleID description: Module ID required: true schema: *ref_2 post: tags: - Modules summary: Update module responses: '200': description: OK parameters: - in: path name: namespaceID description: Namespace ID required: true schema: *ref_2 - in: path name: moduleID description: Module ID required: true schema: *ref_2 requestBody: content: application/json: schema: type: object properties: &ref_13 name: type: string description: Module Name handle: type: string description: Module Handle fields: type: array items: *ref_12 description: Fields JSON meta: type: string format: json description: Module meta data updatedAt: type: string format: date-time description: Last update (or creation) date labels: type: string description: Module labels required: - name - fields - meta application/x-www-form-urlencoded: schema: type: object properties: *ref_13 delete: tags: - Modules summary: Delete module responses: '200': description: OK parameters: - in: path name: namespaceID description: Namespace ID required: true schema: *ref_2 - in: path name: moduleID description: Module ID required: true schema: *ref_2 '/compose/namespace/{namespaceID}/module/{moduleID}/trigger': post: tags: - Modules summary: 'Fire compose:module trigger' responses: '200': description: OK parameters: - in: path name: namespaceID description: Namespace ID required: true schema: *ref_2 - in: path name: moduleID description: ID required: true schema: *ref_2 requestBody: content: application/json: schema: type: object properties: &ref_14 script: type: string description: Script to execute required: - script application/x-www-form-urlencoded: schema: type: object properties: *ref_14 '/compose/namespace/{namespaceID}/module/{moduleID}/record/report': get: tags: - Records summary: Generates report from module records responses: '200': description: OK parameters: - in: query name: metrics description: 'Metrics (eg: ''SUM(money), MAX(calls)'')' required: false schema: *ref_0 - in: query name: dimensions description: 'Dimensions (eg: ''DATE(foo), status'')' required: true schema: *ref_0 - in: query name: filter description: 'Filter (eg: ''DATE(foo) > 2010'')' required: false schema: *ref_0 - in: path name: namespaceID description: Namespace ID required: true schema: *ref_2 - in: path name: moduleID description: Module ID required: true schema: *ref_2 '/compose/namespace/{namespaceID}/module/{moduleID}/record/': get: tags: - Records summary: List/read records from module section responses: '200': description: OK parameters: - in: query name: query description: Record filtering query required: false schema: *ref_0 - in: query name: filter description: 'Filtering condition (same as query, deprecated)' required: false schema: *ref_0 - in: query name: labels description: Labels required: false schema: *ref_0 - in: query name: deleted description: 'Exclude (0, default), include (1) or return only (2) deleted records' required: false schema: *ref_5 - in: query name: limit description: Limit required: false schema: *ref_5 - in: query name: incTotal description: Include total records counter required: false schema: &ref_15 type: boolean - in: query name: incPageNavigation description: Include page navigation required: false schema: *ref_15 - in: query name: pageCursor description: Page cursor required: false schema: *ref_0 - in: query name: sort description: Sort items required: false schema: *ref_0 - in: path name: namespaceID description: Namespace ID required: true schema: *ref_2 - in: path name: moduleID description: Module ID required: true schema: *ref_2 post: tags: - Records summary: Create record in module section responses: '200': description: OK requestBody: content: application/json: schema: type: object properties: &ref_16 values: type: array items: &ref_21 type: object properties: name: type: string value: type: string description: Record values records: type: array items: &ref_22 type: object properties: recordID: type: string format: uuid moduleID: type: string format: uuid namespaceID: type: string format: uuid values: type: array items: type: object properties: name: type: string value: type: string createdAt: type: string format: date-time updatedAt: type: string format: date-time deletedAt: type: string format: date-time ownedBy: type: string format: uuid createdBy: type: string format: uuid updatedBy: type: string format: uuid deletedBy: type: string format: uuid description: Records labels: type: string description: Labels application/x-www-form-urlencoded: schema: type: object properties: *ref_16 parameters: - in: path name: namespaceID description: Namespace ID required: true schema: *ref_2 - in: path name: moduleID description: Module ID required: true schema: *ref_2 delete: tags: - Records summary: Delete record row from module section responses: '200': description: OK requestBody: content: application/json: schema: type: object properties: &ref_17 recordIDs: type: array items: *ref_0 description: IDs of records to delete truncate: type: boolean description: >- Remove ALL records of a specified module (pending implementation) application/x-www-form-urlencoded: schema: type: object properties: *ref_17 parameters: - in: path name: namespaceID description: Namespace ID required: true schema: *ref_2 - in: path name: moduleID description: Module ID required: true schema: *ref_2 '/compose/namespace/{namespaceID}/module/{moduleID}/record/import': post: tags: - Records summary: Initiate record import session responses: '200': description: OK requestBody: content: application/json: schema: type: object properties: &ref_18 upload: type: string format: binary description: File import required: - upload application/x-www-form-urlencoded: schema: type: object properties: *ref_18 parameters: - in: path name: namespaceID description: Namespace ID required: true schema: *ref_2 - in: path name: moduleID description: Module ID required: true schema: *ref_2 '/compose/namespace/{namespaceID}/module/{moduleID}/record/import/{sessionID}': patch: tags: - Records summary: Run record import responses: '200': description: OK parameters: - in: path name: namespaceID description: Namespace ID required: true schema: *ref_2 - in: path name: moduleID description: Module ID required: true schema: *ref_2 - in: path name: sessionID description: Import session required: true schema: *ref_2 requestBody: content: application/json: schema: type: object properties: &ref_19 fields: type: string format: json description: Fields defined by import file onError: type: string description: What happens if record fails to import required: - fields - onError application/x-www-form-urlencoded: schema: type: object properties: *ref_19 get: tags: - Records summary: Get import progress responses: '200': description: OK parameters: - in: path name: namespaceID description: Namespace ID required: true schema: *ref_2 - in: path name: moduleID description: Module ID required: true schema: *ref_2 - in: path name: sessionID description: Import session required: true schema: *ref_2 '/compose/namespace/{namespaceID}/module/{moduleID}/record/export{filename}.{ext}': get: tags: - Records summary: 'Exports records that match ' responses: '200': description: OK parameters: - in: path name: namespaceID description: Namespace ID required: true schema: *ref_2 - in: path name: moduleID description: Module ID required: true schema: *ref_2 - in: path name: filename description: Filename to use required: true schema: *ref_0 - in: path name: ext description: Export format required: true schema: *ref_0 - in: query name: filter description: Filtering condition required: false schema: *ref_0 - in: query name: fields description: Fields to export required: true schema: type: array items: *ref_0 - in: query name: timezone description: Convert times to this timezone required: false schema: *ref_0 '/compose/namespace/{namespaceID}/module/{moduleID}/record/exec/{procedure}': post: tags: - Records summary: Executes server-side procedure over one or more module records responses: '200': description: OK parameters: - in: path name: namespaceID description: Namespace ID required: true schema: *ref_2 - in: path name: moduleID description: Module ID required: true schema: *ref_2 - in: path name: procedure description: Name of procedure to execute required: true schema: *ref_0 requestBody: content: application/json: schema: type: object properties: &ref_20 args: type: array items: type: object properties: name: type: string value: type: string description: Procedure arguments application/x-www-form-urlencoded: schema: type: object properties: *ref_20 '/compose/namespace/{namespaceID}/module/{moduleID}/record/{recordID}': get: tags: - Records summary: Read records by ID from module section responses: '200': description: OK parameters: - in: path name: namespaceID description: Namespace ID required: true schema: *ref_2 - in: path name: moduleID description: Module ID required: true schema: *ref_2 - in: path name: recordID description: Record ID required: true schema: *ref_2 post: tags: - Records summary: Update records in module section responses: '200': description: OK parameters: - in: path name: namespaceID description: Namespace ID required: true schema: *ref_2 - in: path name: moduleID description: Module ID required: true schema: *ref_2 - in: path name: recordID description: Record ID required: true schema: *ref_2 requestBody: content: application/json: schema: type: object properties: &ref_23 values: type: array items: *ref_21 description: Record values records: type: array items: *ref_22 description: Records labels: type: string description: Labels application/x-www-form-urlencoded: schema: type: object properties: *ref_23 delete: tags: - Records summary: Delete record row from module section responses: '200': description: OK parameters: - in: path name: namespaceID description: Namespace ID required: true schema: *ref_2 - in: path name: moduleID description: Module ID required: true schema: *ref_2 - in: path name: recordID description: Record ID required: true schema: *ref_2 '/compose/namespace/{namespaceID}/module/{moduleID}/record/attachment': post: tags: - Records summary: Uploads attachment and validates it against record field requirements responses: '200': description: OK requestBody: content: application/json: schema: type: object properties: &ref_24 recordID: type: string description: Record ID fieldName: type: string description: Field name upload: type: string format: binary description: File to upload required: - fieldName - upload application/x-www-form-urlencoded: schema: type: object properties: *ref_24 parameters: - in: path name: namespaceID description: Namespace ID required: true schema: *ref_2 - in: path name: moduleID description: Module ID required: true schema: *ref_2 '/compose/namespace/{namespaceID}/module/{moduleID}/record/{recordID}/trigger': post: tags: - Records summary: 'Fire compose:record trigger' responses: '200': description: OK parameters: - in: path name: namespaceID description: Namespace ID required: true schema: *ref_2 - in: path name: moduleID description: Module ID required: true schema: *ref_2 - in: path name: recordID description: ID required: true schema: *ref_2 requestBody: content: application/json: schema: type: object properties: &ref_25 script: type: string description: Script to execute values: type: array items: *ref_21 description: Record values required: - script - values application/x-www-form-urlencoded: schema: type: object properties: *ref_25 '/compose/namespace/{namespaceID}/module/{moduleID}/record/trigger': post: tags: - Records summary: 'Fire compose:record trigger' responses: '200': description: OK requestBody: content: application/json: schema: type: object properties: &ref_26 script: type: string description: Script to execute required: - script application/x-www-form-urlencoded: schema: type: object properties: *ref_26 parameters: - in: path name: namespaceID description: Namespace ID required: true schema: *ref_2 - in: path name: moduleID description: Module ID required: true schema: *ref_2 '/compose/namespace/{namespaceID}/chart/': get: tags: - Charts summary: List/read charts responses: '200': description: OK parameters: - in: query name: query description: Search query to match against charts required: false schema: *ref_0 - in: query name: handle description: Search charts by handle 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_5 - in: query name: pageCursor description: Page cursor required: false schema: *ref_0 - in: query name: sort description: Sort items required: false schema: *ref_0 - in: path name: namespaceID description: Namespace ID required: true schema: *ref_2 post: tags: - Charts summary: 'List/read charts ' responses: '200': description: OK requestBody: content: application/json: schema: type: object properties: &ref_27 config: type: string format: json description: Chart JSON name: type: string description: Chart name handle: type: string description: Chart handle labels: type: string description: Labels required: - config - name application/x-www-form-urlencoded: schema: type: object properties: *ref_27 parameters: - in: path name: namespaceID description: Namespace ID required: true schema: *ref_2 '/compose/namespace/{namespaceID}/chart/{chartID}': get: tags: - Charts summary: Read charts by ID responses: '200': description: OK parameters: - in: path name: namespaceID description: Namespace ID required: true schema: *ref_2 - in: path name: chartID description: Chart ID required: true schema: *ref_2 post: tags: - Charts summary: Add/update charts responses: '200': description: OK parameters: - in: path name: namespaceID description: Namespace ID required: true schema: *ref_2 - in: path name: chartID description: Chart ID required: true schema: *ref_2 requestBody: content: application/json: schema: type: object properties: &ref_28 config: type: string format: json description: Chart JSON name: type: string description: Chart name handle: type: string description: Chart handle labels: type: string description: Labels updatedAt: type: string format: date-time description: Last update (or creation) date required: - config - name application/x-www-form-urlencoded: schema: type: object properties: *ref_28 delete: tags: - Charts summary: Delete chart responses: '200': description: OK parameters: - in: path name: namespaceID description: Namespace ID required: true schema: *ref_2 - in: path name: chartID description: Chart ID required: true schema: *ref_2 /compose/notification/email: post: tags: - Notifications summary: Send email from the Compose responses: '200': description: OK requestBody: content: application/json: schema: type: object properties: &ref_29 to: type: array items: *ref_0 description: Email addresses cc: type: array items: *ref_0 description: Email addresses replyTo: type: string description: Email address in reply-to field subject: type: string description: Email subject content: type: string format: json description: Message content remoteAttachments: type: array items: *ref_0 description: Remote files to attach to the email required: - to - content application/x-www-form-urlencoded: schema: type: object properties: *ref_29 '/compose/namespace/{namespaceID}/attachment/{kind}/': get: tags: - Attachments summary: 'List, filter all page attachments' responses: '200': description: OK parameters: - in: query name: sign description: Signature required: false schema: *ref_0 - in: query name: userID description: User ID required: false schema: *ref_2 - in: query name: pageID description: Filter attachments by page ID required: false schema: *ref_2 - in: query name: moduleID description: Filter attachments by module ID required: false schema: *ref_2 - in: query name: recordID description: Filter attachments by record ID required: false schema: *ref_2 - in: query name: fieldName description: Filter attachments by field name required: false schema: *ref_0 - in: query name: limit description: Limit required: false schema: *ref_5 - in: query name: pageCursor description: Page cursor required: false schema: *ref_0 - in: path name: kind description: Attachment kind required: true schema: *ref_0 - in: path name: namespaceID description: Namespace ID required: true schema: *ref_2 '/compose/namespace/{namespaceID}/attachment/{kind}/{attachmentID}': get: tags: - Attachments summary: Attachment details responses: '200': description: OK parameters: - in: path name: kind description: Attachment kind required: true schema: *ref_0 - in: path name: namespaceID description: Namespace ID required: true schema: *ref_2 - in: path name: attachmentID description: Attachment ID required: true schema: *ref_2 - in: query name: sign description: Signature required: false schema: *ref_0 - in: query name: userID description: User ID required: false schema: *ref_2 delete: tags: - Attachments summary: Delete attachment responses: '200': description: OK parameters: - in: path name: kind description: Attachment kind required: true schema: *ref_0 - in: path name: namespaceID description: Namespace ID required: true schema: *ref_2 - in: path name: attachmentID description: Attachment ID required: true schema: *ref_2 - in: query name: sign description: Signature required: false schema: *ref_0 - in: query name: userID description: User ID required: false schema: *ref_2 '/compose/namespace/{namespaceID}/attachment/{kind}/{attachmentID}/original/{name}': get: tags: - Attachments summary: Serves attached file responses: '200': description: OK parameters: - in: path name: kind description: Attachment kind required: true schema: *ref_0 - in: path name: namespaceID description: Namespace ID required: true schema: *ref_2 - in: path name: attachmentID description: Attachment ID required: true schema: *ref_2 - in: path name: name description: File name required: true schema: *ref_0 - in: query name: sign description: Signature required: false schema: *ref_0 - in: query name: userID description: User ID required: false schema: *ref_2 - in: query name: download description: Force file download required: false schema: *ref_15 '/compose/namespace/{namespaceID}/attachment/{kind}/{attachmentID}/preview.{ext}': get: tags: - Attachments summary: Serves preview of an attached file responses: '200': description: OK parameters: - in: path name: kind description: Attachment kind required: true schema: *ref_0 - in: path name: namespaceID description: Namespace ID required: true schema: *ref_2 - in: path name: attachmentID description: Attachment ID required: true schema: *ref_2 - in: path name: ext description: Preview extension/format required: true schema: *ref_0 - in: query name: sign description: Signature required: false schema: *ref_0 - in: query name: userID description: User ID required: false schema: *ref_2 /compose/permissions/: get: tags: - Permissions summary: Retrieve defined permissions responses: '200': description: OK /compose/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 '/compose/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_2 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_2 patch: tags: - Permissions summary: Update permission settings responses: '200': description: OK parameters: - in: path name: roleID description: Role ID required: true schema: *ref_2 requestBody: content: application/json: schema: type: object properties: &ref_30 rules: type: string description: List of permission rules to set required: - rules application/x-www-form-urlencoded: schema: type: object properties: *ref_30 /compose/automation/: get: tags: - Compose automation scripts summary: List all available automation scripts for compose resources responses: '200': description: OK parameters: - in: query name: resourceTypePrefixes description: Filter by resource prefix required: false schema: type: array items: *ref_0 - in: query name: resourceTypes description: Filter by resource type required: false schema: type: array items: *ref_0 - in: query name: eventTypes description: Filter by event type required: false schema: type: array items: *ref_0 - in: query name: excludeInvalid description: Exclude scripts that can not be used (errors) required: false schema: *ref_15 - in: query name: excludeClientScripts description: Do not include client scripts required: false schema: *ref_15 - in: query name: excludeServerScripts description: Do not include server scripts required: false schema: *ref_15 '/compose/automation/{bundle}-{type}.{ext}': get: tags: - Compose automation scripts summary: Serves client scripts bundle responses: '200': description: OK parameters: - in: path name: bundle description: Name of the bundle required: true schema: *ref_0 - in: path name: type description: Bundle type required: true schema: *ref_0 - in: path name: ext description: Bundle extension required: true schema: *ref_0 /compose/automation/trigger: post: tags: - Compose automation scripts summary: Triggers execution of a specific script on a system service level responses: '200': description: OK requestBody: content: application/json: schema: type: object properties: &ref_31 script: type: string description: Script to execute required: - script application/x-www-form-urlencoded: schema: type: object properties: *ref_31