2465 lines
64 KiB
YAML
2465 lines
64 KiB
YAML
openapi: 3.0.0
|
|
info:
|
|
title: Corteza compose API
|
|
description: Corteza compose 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:
|
|
/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_10
|
|
type: string
|
|
- in: query
|
|
name: incTotal
|
|
description: Include total counter
|
|
required: false
|
|
schema: &ref_17
|
|
type: boolean
|
|
- 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/upload:
|
|
post:
|
|
tags:
|
|
- Namespaces
|
|
summary: Upload namespace assets
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties: &ref_4
|
|
upload:
|
|
type: string
|
|
format: binary
|
|
description: File to upload
|
|
required:
|
|
- upload
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
type: object
|
|
properties: *ref_4
|
|
/compose/namespace/{namespaceID}/clone:
|
|
post:
|
|
tags:
|
|
- Namespaces
|
|
summary: Clone compose 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_5
|
|
name:
|
|
type: string
|
|
description: Duplicate name
|
|
slug:
|
|
type: string
|
|
description: Duplicate slug
|
|
required:
|
|
- name
|
|
- slug
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
type: object
|
|
properties: *ref_5
|
|
/compose/namespace/{namespaceID}/export/{filename}.zip:
|
|
get:
|
|
tags:
|
|
- Namespaces
|
|
summary: Export compose namespace
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
parameters:
|
|
- in: path
|
|
name: namespaceID
|
|
description: ID
|
|
required: true
|
|
schema: *ref_2
|
|
- in: path
|
|
name: filename
|
|
description: Output file name
|
|
required: true
|
|
schema: *ref_0
|
|
- in: path
|
|
name: ext
|
|
description: Output file ext
|
|
required: true
|
|
schema: *ref_0
|
|
/compose/namespace/import:
|
|
post:
|
|
tags:
|
|
- Namespaces
|
|
summary: Initiate namespace import session
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties: &ref_6
|
|
upload:
|
|
type: string
|
|
format: binary
|
|
description: File import
|
|
required:
|
|
- upload
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
type: object
|
|
properties: *ref_6
|
|
/compose/namespace/import/{sessionID}:
|
|
post:
|
|
tags:
|
|
- Namespaces
|
|
summary: Run namespace import
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
parameters:
|
|
- in: path
|
|
name: sessionID
|
|
description: Import session
|
|
required: true
|
|
schema: *ref_2
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties: &ref_7
|
|
name:
|
|
type: string
|
|
description: Imported namespace name
|
|
slug:
|
|
type: string
|
|
description: Imported namespace slug
|
|
required:
|
|
- name
|
|
- slug
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
type: object
|
|
properties: *ref_7
|
|
/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_8
|
|
script:
|
|
type: string
|
|
description: Script to execute
|
|
args:
|
|
type: string
|
|
description: Arguments to pass to the script
|
|
required:
|
|
- script
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
type: object
|
|
properties: *ref_8
|
|
/compose/namespace/{namespaceID}/translation:
|
|
get:
|
|
tags:
|
|
- Namespaces
|
|
summary: List translation
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
parameters:
|
|
- in: path
|
|
name: namespaceID
|
|
description: ID
|
|
required: true
|
|
schema: *ref_2
|
|
patch:
|
|
tags:
|
|
- Namespaces
|
|
summary: Update translation
|
|
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_9
|
|
translations:
|
|
type: string
|
|
description: Resource translation to upsert
|
|
required:
|
|
- translations
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
type: object
|
|
properties: *ref_9
|
|
/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: moduleID
|
|
description: Module 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_10
|
|
- 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_11
|
|
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
|
|
config:
|
|
type: string
|
|
format: json
|
|
description: Config JSON
|
|
required:
|
|
- title
|
|
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}/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_12
|
|
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
|
|
config:
|
|
type: string
|
|
format: json
|
|
description: Config JSON
|
|
required:
|
|
- title
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
type: object
|
|
properties: *ref_12
|
|
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
|
|
- in: query
|
|
name: strategy
|
|
description: Page delete strategy (abort, force, rebase, cascade)
|
|
required: false
|
|
schema: *ref_0
|
|
/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_13
|
|
pageIDs:
|
|
type: array
|
|
items: *ref_0
|
|
description: Page ID order
|
|
required:
|
|
- pageIDs
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
type: object
|
|
properties: *ref_13
|
|
/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_14
|
|
upload:
|
|
type: string
|
|
format: binary
|
|
description: File to upload
|
|
required:
|
|
- upload
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
type: object
|
|
properties: *ref_14
|
|
/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_15
|
|
script:
|
|
type: string
|
|
description: Script to execute
|
|
args:
|
|
type: string
|
|
description: Arguments to pass to the script
|
|
required:
|
|
- script
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
type: object
|
|
properties: *ref_15
|
|
/compose/namespace/{namespaceID}/page/{pageID}/translation:
|
|
get:
|
|
tags:
|
|
- Pages
|
|
summary: List page translation
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
parameters:
|
|
- in: path
|
|
name: namespaceID
|
|
description: Namespace ID
|
|
required: true
|
|
schema: *ref_2
|
|
- in: path
|
|
name: pageID
|
|
description: ID
|
|
required: true
|
|
schema: *ref_2
|
|
patch:
|
|
tags:
|
|
- Pages
|
|
summary: Update page translation
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
parameters:
|
|
- in: path
|
|
name: namespaceID
|
|
description: Namespace ID
|
|
required: true
|
|
schema: *ref_2
|
|
- in: path
|
|
name: pageID
|
|
description: ID
|
|
required: true
|
|
schema: *ref_2
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties: &ref_16
|
|
translations:
|
|
type: string
|
|
description: Resource translation to upsert
|
|
required:
|
|
- translations
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
type: object
|
|
properties: *ref_16
|
|
/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_10
|
|
- in: query
|
|
name: incTotal
|
|
description: Include total counter
|
|
required: false
|
|
schema: *ref_17
|
|
- 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_18
|
|
name:
|
|
type: string
|
|
description: Name
|
|
handle:
|
|
type: string
|
|
description: Handle
|
|
config:
|
|
type: string
|
|
description: Configuration
|
|
meta:
|
|
type: string
|
|
format: json
|
|
description: Meta data
|
|
fields:
|
|
type: array
|
|
items: &ref_19
|
|
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
|
|
labels:
|
|
type: string
|
|
description: Labels
|
|
required:
|
|
- name
|
|
- meta
|
|
- fields
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
type: object
|
|
properties: *ref_18
|
|
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_20
|
|
name:
|
|
type: string
|
|
description: Name
|
|
handle:
|
|
type: string
|
|
description: Handle
|
|
config:
|
|
type: string
|
|
description: Configuration
|
|
meta:
|
|
type: string
|
|
format: json
|
|
description: Meta data
|
|
fields:
|
|
type: array
|
|
items: *ref_19
|
|
description: Fields
|
|
labels:
|
|
type: string
|
|
description: Labels
|
|
updatedAt:
|
|
type: string
|
|
format: date-time
|
|
description: Last update (or creation) date
|
|
required:
|
|
- name
|
|
- meta
|
|
- fields
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
type: object
|
|
properties: *ref_20
|
|
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_21
|
|
script:
|
|
type: string
|
|
description: Script to execute
|
|
args:
|
|
type: string
|
|
description: Arguments to pass to the script
|
|
required:
|
|
- script
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
type: object
|
|
properties: *ref_21
|
|
/compose/namespace/{namespaceID}/module/{moduleID}/translation:
|
|
get:
|
|
tags:
|
|
- Modules
|
|
summary: List moudle translation
|
|
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
|
|
patch:
|
|
tags:
|
|
- Modules
|
|
summary: Update module translation
|
|
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_22
|
|
translations:
|
|
type: string
|
|
description: Resource translation to upsert
|
|
required:
|
|
- translations
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
type: object
|
|
properties: *ref_22
|
|
/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: meta
|
|
description: Record meta data
|
|
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_10
|
|
- in: query
|
|
name: limit
|
|
description: Limit
|
|
required: false
|
|
schema: *ref_10
|
|
- in: query
|
|
name: incTotal
|
|
description: Include total records counter
|
|
required: false
|
|
schema: *ref_17
|
|
- in: query
|
|
name: incPageNavigation
|
|
description: Include page navigation
|
|
required: false
|
|
schema: *ref_17
|
|
- 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_23
|
|
values:
|
|
type: array
|
|
items: &ref_28
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
value:
|
|
type: string
|
|
description: Record values
|
|
ownedBy:
|
|
type: string
|
|
description: Record Owner
|
|
records:
|
|
type: array
|
|
items: &ref_29
|
|
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
|
|
meta:
|
|
type: string
|
|
description: Record meta-data
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
type: object
|
|
properties: *ref_23
|
|
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_24
|
|
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_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/import:
|
|
post:
|
|
tags:
|
|
- Records
|
|
summary: Initiate record import session
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties: &ref_25
|
|
upload:
|
|
type: string
|
|
format: binary
|
|
description: File import
|
|
required:
|
|
- upload
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
type: object
|
|
properties: *ref_25
|
|
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_26
|
|
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_26
|
|
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_27
|
|
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_27
|
|
/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_30
|
|
values:
|
|
type: array
|
|
items: *ref_28
|
|
description: Record values
|
|
ownedBy:
|
|
type: string
|
|
description: Record Owner
|
|
meta:
|
|
type: string
|
|
description: Record meta-data
|
|
records:
|
|
type: array
|
|
items: *ref_29
|
|
description: Records
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
type: object
|
|
properties: *ref_30
|
|
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_31
|
|
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_31
|
|
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_32
|
|
script:
|
|
type: string
|
|
description: Script to execute
|
|
values:
|
|
type: array
|
|
items: *ref_28
|
|
description: Record values
|
|
required:
|
|
- script
|
|
- values
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
type: object
|
|
properties: *ref_32
|
|
/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_33
|
|
script:
|
|
type: string
|
|
description: Script to execute
|
|
args:
|
|
type: string
|
|
description: Arguments to pass to the script
|
|
required:
|
|
- script
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
type: object
|
|
properties: *ref_33
|
|
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}/revisions:
|
|
get:
|
|
tags:
|
|
- Records
|
|
summary: List record revisions
|
|
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
|
|
/compose/data-privacy/record:
|
|
get:
|
|
tags:
|
|
- Data Privacy
|
|
summary: List records for data privacy
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
parameters:
|
|
- in: query
|
|
name: sensitivityLevelID
|
|
description: Sensitivity Level ID
|
|
required: false
|
|
schema: *ref_2
|
|
- in: query
|
|
name: connectionID
|
|
description: Filter by connection ID
|
|
required: false
|
|
schema:
|
|
type: array
|
|
items: *ref_0
|
|
/compose/data-privacy/module:
|
|
get:
|
|
tags:
|
|
- Data Privacy
|
|
summary: List modules
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
parameters:
|
|
- in: query
|
|
name: connectionID
|
|
description: Filter by connection ID
|
|
required: false
|
|
schema:
|
|
type: array
|
|
items: *ref_0
|
|
- in: query
|
|
name: limit
|
|
description: Limit
|
|
required: false
|
|
schema: *ref_10
|
|
- in: query
|
|
name: pageCursor
|
|
description: Page cursor
|
|
required: false
|
|
schema: *ref_0
|
|
- in: query
|
|
name: sort
|
|
description: Sort items
|
|
required: false
|
|
schema: *ref_0
|
|
/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_10
|
|
- in: query
|
|
name: incTotal
|
|
description: Include total counter
|
|
required: false
|
|
schema: *ref_17
|
|
- 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_34
|
|
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_34
|
|
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_35
|
|
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_35
|
|
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/namespace/{namespaceID}/chart/{chartID}/translation:
|
|
get:
|
|
tags:
|
|
- Charts
|
|
summary: List chart translation
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
parameters:
|
|
- in: path
|
|
name: namespaceID
|
|
description: Namespace ID
|
|
required: true
|
|
schema: *ref_2
|
|
- in: path
|
|
name: chartID
|
|
description: ID
|
|
required: true
|
|
schema: *ref_2
|
|
patch:
|
|
tags:
|
|
- Charts
|
|
summary: Update chart translation
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
parameters:
|
|
- in: path
|
|
name: namespaceID
|
|
description: Namespace ID
|
|
required: true
|
|
schema: *ref_2
|
|
- in: path
|
|
name: chartID
|
|
description: ID
|
|
required: true
|
|
schema: *ref_2
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties: &ref_36
|
|
translations:
|
|
type: string
|
|
description: Resource translation to upsert
|
|
required:
|
|
- translations
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
type: object
|
|
properties: *ref_36
|
|
/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_37
|
|
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_37
|
|
/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_10
|
|
- 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_17
|
|
/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/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_2
|
|
- in: query
|
|
name: roleID
|
|
required: false
|
|
schema:
|
|
type: array
|
|
items: *ref_2
|
|
/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
|
|
- 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_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_38
|
|
rules:
|
|
type: string
|
|
description: List of permission rules to set
|
|
required:
|
|
- rules
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
type: object
|
|
properties: *ref_38
|
|
/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 cannot be used (errors)
|
|
required: false
|
|
schema: *ref_17
|
|
- in: query
|
|
name: excludeClientScripts
|
|
description: Do not include client scripts
|
|
required: false
|
|
schema: *ref_17
|
|
- in: query
|
|
name: excludeServerScripts
|
|
description: Do not include server scripts
|
|
required: false
|
|
schema: *ref_17
|
|
/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_39
|
|
script:
|
|
type: string
|
|
description: Script to execute
|
|
args:
|
|
type: string
|
|
description: Arguments to pass to the script
|
|
required:
|
|
- script
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
type: object
|
|
properties: *ref_39
|