openapi: 3.0.1 info: contact: email: matthias.mueller@appng.org name: appNG developer team url: http://appng.org description: The REST API for appNG license: name: Apache 2.0 url: http://www.apache.org/licenses/LICENSE-2.0 title: appNG REST API version: 1.0.0 servers: - url: / security: - appNGCookie: [] paths: /service/{site}/{application}/rest/openapi/navigation: get: operationId: getNavigation parameters: - description: the site to call explode: false in: path name: site required: true schema: type: string style: simple - description: the application to call explode: false in: path name: application required: true schema: type: string style: simple responses: "200": content: application/json: schema: $ref: '#/components/schemas/Navigation' description: datasource response tags: - appNG x-accepts: application/json /service/{site}/{application}/rest/openapi/page/{id}/{pageUrlParams}: get: operationId: getPageWithUrlParams parameters: - description: the site to call explode: false in: path name: site required: true schema: type: string style: simple - description: the application to call explode: false in: path name: application required: true schema: type: string style: simple - description: the ID of the page explode: false in: path name: id required: true schema: type: string style: simple - description: the URL path to parametrize the page with. explode: false in: path name: pageUrlParams required: true schema: type: string style: simple - description: a list of section IDs to fill explode: true in: query name: _sect required: false schema: items: type: string type: array style: form responses: "200": content: application/json: schema: $ref: '#/components/schemas/PageDefinition' description: datasource response tags: - appNG x-accepts: application/json /service/{site}/{application}/rest/openapi/datasource/{id}/{params}: get: description: Returns a datasource by id operationId: getDatasource parameters: - description: the site to call explode: false in: path name: site required: true schema: type: string style: simple - description: the application to call explode: false in: path name: application required: true schema: type: string style: simple - description: The id of the datasource. explode: false in: path name: id required: true schema: type: string style: simple - description: | The id of the datasource. Parameters (including sorting and filtering parameters) are passed as matrix style parameters. Note that names and values of these matrix parameters must be URL-Encoded example: ;name=appng;host=localhost;sortSites=name%3Aasc%3Bhost%3Adesc%3Bpage%3A0%3BpageSize%3A10 explode: true in: path name: params required: true schema: type: string style: matrix responses: "200": content: application/json: schema: $ref: '#/components/schemas/Datasource' description: datasource response default: content: application/json: schema: $ref: '#/components/schemas/ErrorModel' description: unexpected error tags: - appNG x-accepts: application/json /service/{site}/{application}/rest/openapi/action/{event-id}/{id}/{params}: get: description: Returns an action. To be used for initially retrieving the action. operationId: getAction parameters: - description: the site to call explode: false in: path name: site required: true schema: type: string style: simple - description: the application to call explode: false in: path name: application required: true schema: type: string style: simple - description: event-id of the action explode: false in: path name: event-id required: true schema: type: string style: simple - description: The ID of the action. explode: false in: path name: id required: true schema: type: string style: simple - description: Parameters (including sorting and filtering parameters) are passed as matrix style parameters. Note that names and values of these matrix parameters must be URL-Encoded example: ;name=appng;host=localhost;sortSites=name%3Aasc%3Bhost%3Adesc%3Bpage%3A0%3BpageSize%3A10 explode: true in: path name: params required: true schema: type: string style: matrix responses: "200": content: application/json: schema: $ref: '#/components/schemas/Action' description: action response "400": content: application/json: schema: $ref: '#/components/schemas/Action' description: action response, in case an recoverable error occurred default: content: application/json: schema: $ref: '#/components/schemas/ErrorModel' description: unexpected/unrecoverable error tags: - appNG x-accepts: application/json /service/{site}/{application}/rest/openapi/action/multipart/{event-id}/{id}/{params}: post: description: Performs an action. operationId: performActionMultiPart parameters: - description: the site to call explode: false in: path name: site required: true schema: type: string style: simple - description: the application to call explode: false in: path name: application required: true schema: type: string style: simple - description: event-id of the action explode: false in: path name: event-id required: true schema: type: string style: simple - description: The ID of the action. explode: false in: path name: id required: true schema: type: string style: simple - description: Parameters (including sorting and filtering parameters) are passed as matrix style parameters. Note that names and values of these matrix parameters must be URL-Encoded example: ;name=appng;host=localhost;sortSites=name%3Aasc%3Bhost%3Adesc%3Bpage%3A0%3BpageSize%3A10 explode: true in: path name: params required: true schema: type: string style: matrix requestBody: content: multipart/form-data: schema: type: object description: For each field of an action, a multipart parameter must be present . responses: "200": content: application/json: schema: $ref: '#/components/schemas/Action' description: action response "400": content: application/json: schema: $ref: '#/components/schemas/Action' description: action response, in case an recoverable error occurred default: content: application/json: schema: $ref: '#/components/schemas/ErrorModel' description: unexpected/unrecoverable error tags: - appNG x-contentType: multipart/form-data x-accepts: application/json components: schemas: PageDefinition: example: sessionParameters: key: sessionParameters appVersion: "" appNGVersion: "" urlTemplate: urlTemplate title: value: value urlPath: urlPath sections: - hidden: true elements: - collapsed: true datasource: item: links: - default: true icon: icon id: id label: label confirmation: confirmation type: page target: target - default: true icon: icon id: id label: label confirmation: confirmation type: page target: target fields: key: name: name formattedValue: formattedValue icons: - name: name label: label - name: name label: label value: '{}' selected: true appVersion: "" appNGVersion: "" filters: - name: name options: entries: - hits: 0 options: - null - null label: label value: value selected: true - hits: 0 options: - null - null label: label value: value selected: true multiple: true label: label - name: name options: entries: - hits: 0 options: - null - null label: label value: value selected: true - hits: 0 options: - null - null label: label value: value selected: true multiple: true label: label title: title filterResetPath: filterResetPath permissions: - mode: READ ref: ref value: true - mode: READ ref: ref value: true messages: - level: OK text: text key: key - level: OK text: text key: key links: - default: true icon: icon id: id label: label confirmation: confirmation type: page target: target - default: true icon: icon id: id label: label confirmation: confirmation type: page target: target _self: _self id: id page: number: 6 isFirst: true totalItems: 5 pageSizes: - path: path size: 2 - path: path size: 2 size: 1 isLast: true _last: _last totalPages: 5 _first: _first _next: _next _previous: _previous fields: - name: name format: format rules: - messageKey: messageKey options: key: options active: true type: type message: message - messageKey: messageKey options: key: options active: true type: type message: message label: label sort: pathDesc: pathDesc prio: 0 pathAsc: pathAsc order: asc fields: {} - name: name format: format rules: - messageKey: messageKey options: key: options active: true type: type message: message - messageKey: messageKey options: key: options active: true type: type message: message label: label sort: pathDesc: pathDesc prio: 0 pathAsc: pathAsc order: asc fields: {} parameters: key: parameters user: authenticated: true decimalSeparator: "." nickName: nickName timezone: Europe/Berlin name: name groupingSeparator: ',' locale: en_US email: john@example.com items: - links: - default: true icon: icon id: id label: label confirmation: confirmation type: page target: target - default: true icon: icon id: id label: label confirmation: confirmation type: page target: target fields: key: name: name formattedValue: formattedValue icons: - name: name label: label - name: name label: label value: '{}' selected: true - links: - default: true icon: icon id: id label: label confirmation: confirmation type: page target: target - default: true icon: icon id: id label: label confirmation: confirmation type: page target: target fields: key: name: name formattedValue: formattedValue icons: - name: name label: label - name: name label: label value: '{}' selected: true action: appVersion: "" appNGVersion: "" title: title permissions: - mode: READ ref: ref value: true - mode: READ ref: ref value: true messages: - level: OK text: text key: key - level: OK text: text key: key _self: _self id: id fields: - visible: true readonly: true name: name format: format options: entries: - hits: 0 options: - null - null label: label value: value selected: true - hits: 0 options: - null - null label: label value: value selected: true multiple: true formattedValue: formattedValue messages: - level: OK text: text key: key - level: OK text: text key: key rules: - messageKey: messageKey options: key: options active: true type: type message: message - messageKey: messageKey options: key: options active: true type: type message: message label: label fields: - null - null value: '{}' - visible: true readonly: true name: name format: format options: entries: - hits: 0 options: - null - null label: label value: value selected: true - hits: 0 options: - null - null label: label value: value selected: true multiple: true formattedValue: formattedValue messages: - level: OK text: text key: key - level: OK text: text key: key rules: - messageKey: messageKey options: key: options active: true type: type message: message - messageKey: messageKey options: key: options active: true type: type message: message label: label fields: - null - null value: '{}' event-id: event-id parameters: key: parameters user: authenticated: true decimalSeparator: "." nickName: nickName timezone: Europe/Berlin name: name groupingSeparator: ',' locale: en_US email: john@example.com _execute: _execute onSuccess: onSuccess title: title - collapsed: true datasource: item: links: - default: true icon: icon id: id label: label confirmation: confirmation type: page target: target - default: true icon: icon id: id label: label confirmation: confirmation type: page target: target fields: key: name: name formattedValue: formattedValue icons: - name: name label: label - name: name label: label value: '{}' selected: true appVersion: "" appNGVersion: "" filters: - name: name options: entries: - hits: 0 options: - null - null label: label value: value selected: true - hits: 0 options: - null - null label: label value: value selected: true multiple: true label: label - name: name options: entries: - hits: 0 options: - null - null label: label value: value selected: true - hits: 0 options: - null - null label: label value: value selected: true multiple: true label: label title: title filterResetPath: filterResetPath permissions: - mode: READ ref: ref value: true - mode: READ ref: ref value: true messages: - level: OK text: text key: key - level: OK text: text key: key links: - default: true icon: icon id: id label: label confirmation: confirmation type: page target: target - default: true icon: icon id: id label: label confirmation: confirmation type: page target: target _self: _self id: id page: number: 6 isFirst: true totalItems: 5 pageSizes: - path: path size: 2 - path: path size: 2 size: 1 isLast: true _last: _last totalPages: 5 _first: _first _next: _next _previous: _previous fields: - name: name format: format rules: - messageKey: messageKey options: key: options active: true type: type message: message - messageKey: messageKey options: key: options active: true type: type message: message label: label sort: pathDesc: pathDesc prio: 0 pathAsc: pathAsc order: asc fields: {} - name: name format: format rules: - messageKey: messageKey options: key: options active: true type: type message: message - messageKey: messageKey options: key: options active: true type: type message: message label: label sort: pathDesc: pathDesc prio: 0 pathAsc: pathAsc order: asc fields: {} parameters: key: parameters user: authenticated: true decimalSeparator: "." nickName: nickName timezone: Europe/Berlin name: name groupingSeparator: ',' locale: en_US email: john@example.com items: - links: - default: true icon: icon id: id label: label confirmation: confirmation type: page target: target - default: true icon: icon id: id label: label confirmation: confirmation type: page target: target fields: key: name: name formattedValue: formattedValue icons: - name: name label: label - name: name label: label value: '{}' selected: true - links: - default: true icon: icon id: id label: label confirmation: confirmation type: page target: target - default: true icon: icon id: id label: label confirmation: confirmation type: page target: target fields: key: name: name formattedValue: formattedValue icons: - name: name label: label - name: name label: label value: '{}' selected: true action: appVersion: "" appNGVersion: "" title: title permissions: - mode: READ ref: ref value: true - mode: READ ref: ref value: true messages: - level: OK text: text key: key - level: OK text: text key: key _self: _self id: id fields: - visible: true readonly: true name: name format: format options: entries: - hits: 0 options: - null - null label: label value: value selected: true - hits: 0 options: - null - null label: label value: value selected: true multiple: true formattedValue: formattedValue messages: - level: OK text: text key: key - level: OK text: text key: key rules: - messageKey: messageKey options: key: options active: true type: type message: message - messageKey: messageKey options: key: options active: true type: type message: message label: label fields: - null - null value: '{}' - visible: true readonly: true name: name format: format options: entries: - hits: 0 options: - null - null label: label value: value selected: true - hits: 0 options: - null - null label: label value: value selected: true multiple: true formattedValue: formattedValue messages: - level: OK text: text key: key - level: OK text: text key: key rules: - messageKey: messageKey options: key: options active: true type: type message: message - messageKey: messageKey options: key: options active: true type: type message: message label: label fields: - null - null value: '{}' event-id: event-id parameters: key: parameters user: authenticated: true decimalSeparator: "." nickName: nickName timezone: Europe/Berlin name: name groupingSeparator: ',' locale: en_US email: john@example.com _execute: _execute onSuccess: onSuccess title: title _self: _self id: id title: value: value - hidden: true elements: - collapsed: true datasource: item: links: - default: true icon: icon id: id label: label confirmation: confirmation type: page target: target - default: true icon: icon id: id label: label confirmation: confirmation type: page target: target fields: key: name: name formattedValue: formattedValue icons: - name: name label: label - name: name label: label value: '{}' selected: true appVersion: "" appNGVersion: "" filters: - name: name options: entries: - hits: 0 options: - null - null label: label value: value selected: true - hits: 0 options: - null - null label: label value: value selected: true multiple: true label: label - name: name options: entries: - hits: 0 options: - null - null label: label value: value selected: true - hits: 0 options: - null - null label: label value: value selected: true multiple: true label: label title: title filterResetPath: filterResetPath permissions: - mode: READ ref: ref value: true - mode: READ ref: ref value: true messages: - level: OK text: text key: key - level: OK text: text key: key links: - default: true icon: icon id: id label: label confirmation: confirmation type: page target: target - default: true icon: icon id: id label: label confirmation: confirmation type: page target: target _self: _self id: id page: number: 6 isFirst: true totalItems: 5 pageSizes: - path: path size: 2 - path: path size: 2 size: 1 isLast: true _last: _last totalPages: 5 _first: _first _next: _next _previous: _previous fields: - name: name format: format rules: - messageKey: messageKey options: key: options active: true type: type message: message - messageKey: messageKey options: key: options active: true type: type message: message label: label sort: pathDesc: pathDesc prio: 0 pathAsc: pathAsc order: asc fields: {} - name: name format: format rules: - messageKey: messageKey options: key: options active: true type: type message: message - messageKey: messageKey options: key: options active: true type: type message: message label: label sort: pathDesc: pathDesc prio: 0 pathAsc: pathAsc order: asc fields: {} parameters: key: parameters user: authenticated: true decimalSeparator: "." nickName: nickName timezone: Europe/Berlin name: name groupingSeparator: ',' locale: en_US email: john@example.com items: - links: - default: true icon: icon id: id label: label confirmation: confirmation type: page target: target - default: true icon: icon id: id label: label confirmation: confirmation type: page target: target fields: key: name: name formattedValue: formattedValue icons: - name: name label: label - name: name label: label value: '{}' selected: true - links: - default: true icon: icon id: id label: label confirmation: confirmation type: page target: target - default: true icon: icon id: id label: label confirmation: confirmation type: page target: target fields: key: name: name formattedValue: formattedValue icons: - name: name label: label - name: name label: label value: '{}' selected: true action: appVersion: "" appNGVersion: "" title: title permissions: - mode: READ ref: ref value: true - mode: READ ref: ref value: true messages: - level: OK text: text key: key - level: OK text: text key: key _self: _self id: id fields: - visible: true readonly: true name: name format: format options: entries: - hits: 0 options: - null - null label: label value: value selected: true - hits: 0 options: - null - null label: label value: value selected: true multiple: true formattedValue: formattedValue messages: - level: OK text: text key: key - level: OK text: text key: key rules: - messageKey: messageKey options: key: options active: true type: type message: message - messageKey: messageKey options: key: options active: true type: type message: message label: label fields: - null - null value: '{}' - visible: true readonly: true name: name format: format options: entries: - hits: 0 options: - null - null label: label value: value selected: true - hits: 0 options: - null - null label: label value: value selected: true multiple: true formattedValue: formattedValue messages: - level: OK text: text key: key - level: OK text: text key: key rules: - messageKey: messageKey options: key: options active: true type: type message: message - messageKey: messageKey options: key: options active: true type: type message: message label: label fields: - null - null value: '{}' event-id: event-id parameters: key: parameters user: authenticated: true decimalSeparator: "." nickName: nickName timezone: Europe/Berlin name: name groupingSeparator: ',' locale: en_US email: john@example.com _execute: _execute onSuccess: onSuccess title: title - collapsed: true datasource: item: links: - default: true icon: icon id: id label: label confirmation: confirmation type: page target: target - default: true icon: icon id: id label: label confirmation: confirmation type: page target: target fields: key: name: name formattedValue: formattedValue icons: - name: name label: label - name: name label: label value: '{}' selected: true appVersion: "" appNGVersion: "" filters: - name: name options: entries: - hits: 0 options: - null - null label: label value: value selected: true - hits: 0 options: - null - null label: label value: value selected: true multiple: true label: label - name: name options: entries: - hits: 0 options: - null - null label: label value: value selected: true - hits: 0 options: - null - null label: label value: value selected: true multiple: true label: label title: title filterResetPath: filterResetPath permissions: - mode: READ ref: ref value: true - mode: READ ref: ref value: true messages: - level: OK text: text key: key - level: OK text: text key: key links: - default: true icon: icon id: id label: label confirmation: confirmation type: page target: target - default: true icon: icon id: id label: label confirmation: confirmation type: page target: target _self: _self id: id page: number: 6 isFirst: true totalItems: 5 pageSizes: - path: path size: 2 - path: path size: 2 size: 1 isLast: true _last: _last totalPages: 5 _first: _first _next: _next _previous: _previous fields: - name: name format: format rules: - messageKey: messageKey options: key: options active: true type: type message: message - messageKey: messageKey options: key: options active: true type: type message: message label: label sort: pathDesc: pathDesc prio: 0 pathAsc: pathAsc order: asc fields: {} - name: name format: format rules: - messageKey: messageKey options: key: options active: true type: type message: message - messageKey: messageKey options: key: options active: true type: type message: message label: label sort: pathDesc: pathDesc prio: 0 pathAsc: pathAsc order: asc fields: {} parameters: key: parameters user: authenticated: true decimalSeparator: "." nickName: nickName timezone: Europe/Berlin name: name groupingSeparator: ',' locale: en_US email: john@example.com items: - links: - default: true icon: icon id: id label: label confirmation: confirmation type: page target: target - default: true icon: icon id: id label: label confirmation: confirmation type: page target: target fields: key: name: name formattedValue: formattedValue icons: - name: name label: label - name: name label: label value: '{}' selected: true - links: - default: true icon: icon id: id label: label confirmation: confirmation type: page target: target - default: true icon: icon id: id label: label confirmation: confirmation type: page target: target fields: key: name: name formattedValue: formattedValue icons: - name: name label: label - name: name label: label value: '{}' selected: true action: appVersion: "" appNGVersion: "" title: title permissions: - mode: READ ref: ref value: true - mode: READ ref: ref value: true messages: - level: OK text: text key: key - level: OK text: text key: key _self: _self id: id fields: - visible: true readonly: true name: name format: format options: entries: - hits: 0 options: - null - null label: label value: value selected: true - hits: 0 options: - null - null label: label value: value selected: true multiple: true formattedValue: formattedValue messages: - level: OK text: text key: key - level: OK text: text key: key rules: - messageKey: messageKey options: key: options active: true type: type message: message - messageKey: messageKey options: key: options active: true type: type message: message label: label fields: - null - null value: '{}' - visible: true readonly: true name: name format: format options: entries: - hits: 0 options: - null - null label: label value: value selected: true - hits: 0 options: - null - null label: label value: value selected: true multiple: true formattedValue: formattedValue messages: - level: OK text: text key: key - level: OK text: text key: key rules: - messageKey: messageKey options: key: options active: true type: type message: message - messageKey: messageKey options: key: options active: true type: type message: message label: label fields: - null - null value: '{}' event-id: event-id parameters: key: parameters user: authenticated: true decimalSeparator: "." nickName: nickName timezone: Europe/Berlin name: name groupingSeparator: ',' locale: en_US email: john@example.com _execute: _execute onSuccess: onSuccess title: title _self: _self id: id title: value: value _userUrl: _userUrl getParameters: key: getParameters messages: - level: OK text: text key: key - level: OK text: text key: key links: - default: true icon: icon id: id label: label confirmation: confirmation type: page target: target - default: true icon: icon id: id label: label confirmation: confirmation type: page target: target _self: _self id: id urlParameters: - name: name value: value - name: name value: value user: authenticated: true decimalSeparator: "." nickName: nickName timezone: Europe/Berlin name: name groupingSeparator: ',' locale: en_US email: john@example.com properties: _self: description: The URL of the page type: string _userUrl: description: The URL of the page represented to the user type: string user: $ref: '#/components/schemas/User' id: type: string messages: items: $ref: '#/components/schemas/Message' type: array urlPath: description: the current URL path type: string urlParameters: items: $ref: '#/components/schemas/Parameter' type: array urlTemplate: description: A complete template for teh full path this page can handle type: string getParameters: additionalProperties: type: string type: object sessionParameters: additionalProperties: type: string type: object title: $ref: '#/components/schemas/Label' links: items: $ref: '#/components/schemas/Link' type: array sections: items: $ref: '#/components/schemas/Section' type: array appNGVersion: description: The version of appNG type: String appVersion: description: The version of the application type: String required: - _self - id type: object Section: example: hidden: true elements: - collapsed: true datasource: item: links: - default: true icon: icon id: id label: label confirmation: confirmation type: page target: target - default: true icon: icon id: id label: label confirmation: confirmation type: page target: target fields: key: name: name formattedValue: formattedValue icons: - name: name label: label - name: name label: label value: '{}' selected: true appVersion: "" appNGVersion: "" filters: - name: name options: entries: - hits: 0 options: - null - null label: label value: value selected: true - hits: 0 options: - null - null label: label value: value selected: true multiple: true label: label - name: name options: entries: - hits: 0 options: - null - null label: label value: value selected: true - hits: 0 options: - null - null label: label value: value selected: true multiple: true label: label title: title filterResetPath: filterResetPath permissions: - mode: READ ref: ref value: true - mode: READ ref: ref value: true messages: - level: OK text: text key: key - level: OK text: text key: key links: - default: true icon: icon id: id label: label confirmation: confirmation type: page target: target - default: true icon: icon id: id label: label confirmation: confirmation type: page target: target _self: _self id: id page: number: 6 isFirst: true totalItems: 5 pageSizes: - path: path size: 2 - path: path size: 2 size: 1 isLast: true _last: _last totalPages: 5 _first: _first _next: _next _previous: _previous fields: - name: name format: format rules: - messageKey: messageKey options: key: options active: true type: type message: message - messageKey: messageKey options: key: options active: true type: type message: message label: label sort: pathDesc: pathDesc prio: 0 pathAsc: pathAsc order: asc fields: {} - name: name format: format rules: - messageKey: messageKey options: key: options active: true type: type message: message - messageKey: messageKey options: key: options active: true type: type message: message label: label sort: pathDesc: pathDesc prio: 0 pathAsc: pathAsc order: asc fields: {} parameters: key: parameters user: authenticated: true decimalSeparator: "." nickName: nickName timezone: Europe/Berlin name: name groupingSeparator: ',' locale: en_US email: john@example.com items: - links: - default: true icon: icon id: id label: label confirmation: confirmation type: page target: target - default: true icon: icon id: id label: label confirmation: confirmation type: page target: target fields: key: name: name formattedValue: formattedValue icons: - name: name label: label - name: name label: label value: '{}' selected: true - links: - default: true icon: icon id: id label: label confirmation: confirmation type: page target: target - default: true icon: icon id: id label: label confirmation: confirmation type: page target: target fields: key: name: name formattedValue: formattedValue icons: - name: name label: label - name: name label: label value: '{}' selected: true action: appVersion: "" appNGVersion: "" title: title permissions: - mode: READ ref: ref value: true - mode: READ ref: ref value: true messages: - level: OK text: text key: key - level: OK text: text key: key _self: _self id: id fields: - visible: true readonly: true name: name format: format options: entries: - hits: 0 options: - null - null label: label value: value selected: true - hits: 0 options: - null - null label: label value: value selected: true multiple: true formattedValue: formattedValue messages: - level: OK text: text key: key - level: OK text: text key: key rules: - messageKey: messageKey options: key: options active: true type: type message: message - messageKey: messageKey options: key: options active: true type: type message: message label: label fields: - null - null value: '{}' - visible: true readonly: true name: name format: format options: entries: - hits: 0 options: - null - null label: label value: value selected: true - hits: 0 options: - null - null label: label value: value selected: true multiple: true formattedValue: formattedValue messages: - level: OK text: text key: key - level: OK text: text key: key rules: - messageKey: messageKey options: key: options active: true type: type message: message - messageKey: messageKey options: key: options active: true type: type message: message label: label fields: - null - null value: '{}' event-id: event-id parameters: key: parameters user: authenticated: true decimalSeparator: "." nickName: nickName timezone: Europe/Berlin name: name groupingSeparator: ',' locale: en_US email: john@example.com _execute: _execute onSuccess: onSuccess title: title - collapsed: true datasource: item: links: - default: true icon: icon id: id label: label confirmation: confirmation type: page target: target - default: true icon: icon id: id label: label confirmation: confirmation type: page target: target fields: key: name: name formattedValue: formattedValue icons: - name: name label: label - name: name label: label value: '{}' selected: true appVersion: "" appNGVersion: "" filters: - name: name options: entries: - hits: 0 options: - null - null label: label value: value selected: true - hits: 0 options: - null - null label: label value: value selected: true multiple: true label: label - name: name options: entries: - hits: 0 options: - null - null label: label value: value selected: true - hits: 0 options: - null - null label: label value: value selected: true multiple: true label: label title: title filterResetPath: filterResetPath permissions: - mode: READ ref: ref value: true - mode: READ ref: ref value: true messages: - level: OK text: text key: key - level: OK text: text key: key links: - default: true icon: icon id: id label: label confirmation: confirmation type: page target: target - default: true icon: icon id: id label: label confirmation: confirmation type: page target: target _self: _self id: id page: number: 6 isFirst: true totalItems: 5 pageSizes: - path: path size: 2 - path: path size: 2 size: 1 isLast: true _last: _last totalPages: 5 _first: _first _next: _next _previous: _previous fields: - name: name format: format rules: - messageKey: messageKey options: key: options active: true type: type message: message - messageKey: messageKey options: key: options active: true type: type message: message label: label sort: pathDesc: pathDesc prio: 0 pathAsc: pathAsc order: asc fields: {} - name: name format: format rules: - messageKey: messageKey options: key: options active: true type: type message: message - messageKey: messageKey options: key: options active: true type: type message: message label: label sort: pathDesc: pathDesc prio: 0 pathAsc: pathAsc order: asc fields: {} parameters: key: parameters user: authenticated: true decimalSeparator: "." nickName: nickName timezone: Europe/Berlin name: name groupingSeparator: ',' locale: en_US email: john@example.com items: - links: - default: true icon: icon id: id label: label confirmation: confirmation type: page target: target - default: true icon: icon id: id label: label confirmation: confirmation type: page target: target fields: key: name: name formattedValue: formattedValue icons: - name: name label: label - name: name label: label value: '{}' selected: true - links: - default: true icon: icon id: id label: label confirmation: confirmation type: page target: target - default: true icon: icon id: id label: label confirmation: confirmation type: page target: target fields: key: name: name formattedValue: formattedValue icons: - name: name label: label - name: name label: label value: '{}' selected: true action: appVersion: "" appNGVersion: "" title: title permissions: - mode: READ ref: ref value: true - mode: READ ref: ref value: true messages: - level: OK text: text key: key - level: OK text: text key: key _self: _self id: id fields: - visible: true readonly: true name: name format: format options: entries: - hits: 0 options: - null - null label: label value: value selected: true - hits: 0 options: - null - null label: label value: value selected: true multiple: true formattedValue: formattedValue messages: - level: OK text: text key: key - level: OK text: text key: key rules: - messageKey: messageKey options: key: options active: true type: type message: message - messageKey: messageKey options: key: options active: true type: type message: message label: label fields: - null - null value: '{}' - visible: true readonly: true name: name format: format options: entries: - hits: 0 options: - null - null label: label value: value selected: true - hits: 0 options: - null - null label: label value: value selected: true multiple: true formattedValue: formattedValue messages: - level: OK text: text key: key - level: OK text: text key: key rules: - messageKey: messageKey options: key: options active: true type: type message: message - messageKey: messageKey options: key: options active: true type: type message: message label: label fields: - null - null value: '{}' event-id: event-id parameters: key: parameters user: authenticated: true decimalSeparator: "." nickName: nickName timezone: Europe/Berlin name: name groupingSeparator: ',' locale: en_US email: john@example.com _execute: _execute onSuccess: onSuccess title: title _self: _self id: id title: value: value properties: _self: description: the API path to this section type: string id: type: string title: $ref: '#/components/schemas/Label' hidden: description: Whether the section is hidden or not type: boolean elements: items: $ref: '#/components/schemas/SectionElement' type: array required: - _self - id type: object SectionElement: example: collapsed: true datasource: item: links: - default: true icon: icon id: id label: label confirmation: confirmation type: page target: target - default: true icon: icon id: id label: label confirmation: confirmation type: page target: target fields: key: name: name formattedValue: formattedValue icons: - name: name label: label - name: name label: label value: '{}' selected: true appVersion: "" appNGVersion: "" filters: - name: name options: entries: - hits: 0 options: - null - null label: label value: value selected: true - hits: 0 options: - null - null label: label value: value selected: true multiple: true label: label - name: name options: entries: - hits: 0 options: - null - null label: label value: value selected: true - hits: 0 options: - null - null label: label value: value selected: true multiple: true label: label title: title filterResetPath: filterResetPath permissions: - mode: READ ref: ref value: true - mode: READ ref: ref value: true messages: - level: OK text: text key: key - level: OK text: text key: key links: - default: true icon: icon id: id label: label confirmation: confirmation type: page target: target - default: true icon: icon id: id label: label confirmation: confirmation type: page target: target _self: _self id: id page: number: 6 isFirst: true totalItems: 5 pageSizes: - path: path size: 2 - path: path size: 2 size: 1 isLast: true _last: _last totalPages: 5 _first: _first _next: _next _previous: _previous fields: - name: name format: format rules: - messageKey: messageKey options: key: options active: true type: type message: message - messageKey: messageKey options: key: options active: true type: type message: message label: label sort: pathDesc: pathDesc prio: 0 pathAsc: pathAsc order: asc fields: {} - name: name format: format rules: - messageKey: messageKey options: key: options active: true type: type message: message - messageKey: messageKey options: key: options active: true type: type message: message label: label sort: pathDesc: pathDesc prio: 0 pathAsc: pathAsc order: asc fields: {} parameters: key: parameters user: authenticated: true decimalSeparator: "." nickName: nickName timezone: Europe/Berlin name: name groupingSeparator: ',' locale: en_US email: john@example.com items: - links: - default: true icon: icon id: id label: label confirmation: confirmation type: page target: target - default: true icon: icon id: id label: label confirmation: confirmation type: page target: target fields: key: name: name formattedValue: formattedValue icons: - name: name label: label - name: name label: label value: '{}' selected: true - links: - default: true icon: icon id: id label: label confirmation: confirmation type: page target: target - default: true icon: icon id: id label: label confirmation: confirmation type: page target: target fields: key: name: name formattedValue: formattedValue icons: - name: name label: label - name: name label: label value: '{}' selected: true action: appVersion: "" appNGVersion: "" title: title permissions: - mode: READ ref: ref value: true - mode: READ ref: ref value: true messages: - level: OK text: text key: key - level: OK text: text key: key _self: _self id: id fields: - visible: true readonly: true name: name format: format options: entries: - hits: 0 options: - null - null label: label value: value selected: true - hits: 0 options: - null - null label: label value: value selected: true multiple: true formattedValue: formattedValue messages: - level: OK text: text key: key - level: OK text: text key: key rules: - messageKey: messageKey options: key: options active: true type: type message: message - messageKey: messageKey options: key: options active: true type: type message: message label: label fields: - null - null value: '{}' - visible: true readonly: true name: name format: format options: entries: - hits: 0 options: - null - null label: label value: value selected: true - hits: 0 options: - null - null label: label value: value selected: true multiple: true formattedValue: formattedValue messages: - level: OK text: text key: key - level: OK text: text key: key rules: - messageKey: messageKey options: key: options active: true type: type message: message - messageKey: messageKey options: key: options active: true type: type message: message label: label fields: - null - null value: '{}' event-id: event-id parameters: key: parameters user: authenticated: true decimalSeparator: "." nickName: nickName timezone: Europe/Berlin name: name groupingSeparator: ',' locale: en_US email: john@example.com _execute: _execute onSuccess: onSuccess title: title properties: title: type: string collapsed: description: Whether the element is collapsed type: boolean datasource: $ref: '#/components/schemas/Datasource' action: $ref: '#/components/schemas/Action' type: object Action: description: An action, representing an executable operation. example: appVersion: "" appNGVersion: "" title: title permissions: - mode: READ ref: ref value: true - mode: READ ref: ref value: true messages: - level: OK text: text key: key - level: OK text: text key: key _self: _self id: id fields: - visible: true readonly: true name: name format: format options: entries: - hits: 0 options: - null - null label: label value: value selected: true - hits: 0 options: - null - null label: label value: value selected: true multiple: true formattedValue: formattedValue messages: - level: OK text: text key: key - level: OK text: text key: key rules: - messageKey: messageKey options: key: options active: true type: type message: message - messageKey: messageKey options: key: options active: true type: type message: message label: label fields: - null - null value: '{}' - visible: true readonly: true name: name format: format options: entries: - hits: 0 options: - null - null label: label value: value selected: true - hits: 0 options: - null - null label: label value: value selected: true multiple: true formattedValue: formattedValue messages: - level: OK text: text key: key - level: OK text: text key: key rules: - messageKey: messageKey options: key: options active: true type: type message: message - messageKey: messageKey options: key: options active: true type: type message: message label: label fields: - null - null value: '{}' event-id: event-id parameters: key: parameters user: authenticated: true decimalSeparator: "." nickName: nickName timezone: Europe/Berlin name: name groupingSeparator: ',' locale: en_US email: john@example.com _execute: _execute onSuccess: onSuccess properties: _self: description: The URL of the action type: string _execute: description: The URL to execute the action type: string id: description: The Id of the action. type: string event-id: description: The event-Id of the action. type: string title: description: The title of the datasource. type: string parameters: additionalProperties: type: string description: A list of parameters for the action type: object user: $ref: '#/components/schemas/User' messages: description: A list of messages. items: $ref: '#/components/schemas/Message' type: array fields: description: A list of action-fields. items: $ref: '#/components/schemas/ActionField' type: array permissions: description: The permissions for this action. items: $ref: '#/components/schemas/Permission' type: array onSuccess: type: string appNGVersion: description: The version of appNG type: String appVersion: description: The version of the application type: String required: - _self - event-id - id type: object Datasource: description: A datasource, represented by either a page (of elements) or a single element. example: item: links: - default: true icon: icon id: id label: label confirmation: confirmation type: page target: target - default: true icon: icon id: id label: label confirmation: confirmation type: page target: target fields: key: name: name formattedValue: formattedValue icons: - name: name label: label - name: name label: label value: '{}' selected: true appVersion: "" appNGVersion: "" filters: - name: name options: entries: - hits: 0 options: - null - null label: label value: value selected: true - hits: 0 options: - null - null label: label value: value selected: true multiple: true label: label - name: name options: entries: - hits: 0 options: - null - null label: label value: value selected: true - hits: 0 options: - null - null label: label value: value selected: true multiple: true label: label title: title filterResetPath: filterResetPath permissions: - mode: READ ref: ref value: true - mode: READ ref: ref value: true messages: - level: OK text: text key: key - level: OK text: text key: key links: - default: true icon: icon id: id label: label confirmation: confirmation type: page target: target - default: true icon: icon id: id label: label confirmation: confirmation type: page target: target _self: _self id: id page: number: 6 isFirst: true totalItems: 5 pageSizes: - path: path size: 2 - path: path size: 2 size: 1 isLast: true _last: _last totalPages: 5 _first: _first _next: _next _previous: _previous fields: - name: name format: format rules: - messageKey: messageKey options: key: options active: true type: type message: message - messageKey: messageKey options: key: options active: true type: type message: message label: label sort: pathDesc: pathDesc prio: 0 pathAsc: pathAsc order: asc fields: {} - name: name format: format rules: - messageKey: messageKey options: key: options active: true type: type message: message - messageKey: messageKey options: key: options active: true type: type message: message label: label sort: pathDesc: pathDesc prio: 0 pathAsc: pathAsc order: asc fields: {} parameters: key: parameters user: authenticated: true decimalSeparator: "." nickName: nickName timezone: Europe/Berlin name: name groupingSeparator: ',' locale: en_US email: john@example.com items: - links: - default: true icon: icon id: id label: label confirmation: confirmation type: page target: target - default: true icon: icon id: id label: label confirmation: confirmation type: page target: target fields: key: name: name formattedValue: formattedValue icons: - name: name label: label - name: name label: label value: '{}' selected: true - links: - default: true icon: icon id: id label: label confirmation: confirmation type: page target: target - default: true icon: icon id: id label: label confirmation: confirmation type: page target: target fields: key: name: name formattedValue: formattedValue icons: - name: name label: label - name: name label: label value: '{}' selected: true properties: _self: description: The URL of the datasource type: string id: description: The unique ID of the datasource. type: string title: description: The title of the datasource. type: string parameters: additionalProperties: type: string description: The parameters for the datasource. type: object user: $ref: '#/components/schemas/User' links: description: A list of links. items: $ref: '#/components/schemas/Link' type: array messages: description: A list of messages. items: $ref: '#/components/schemas/Message' type: array fields: description: A list of fields. items: $ref: '#/components/schemas/Field' type: array filters: description: A list of filters. items: $ref: '#/components/schemas/Filter' type: array filterResetPath: description: the path to be called to reset the filter type: string page: $ref: '#/components/schemas/Page' item: $ref: '#/components/schemas/Item' items: description: The items of this page. items: $ref: '#/components/schemas/Item' type: array permissions: description: The permissions for this datasource. items: $ref: '#/components/schemas/Permission' type: array appNGVersion: description: The version of appNG type: String appVersion: description: The version of the application type: String required: - _self - id type: object ErrorModel: properties: code: format: int32 type: integer message: type: string required: - code - message type: object Field: description: A field that is part of a datasource. example: name: name format: format rules: - messageKey: messageKey options: key: options active: true type: type message: message - messageKey: messageKey options: key: options active: true type: type message: message label: label sort: pathDesc: pathDesc prio: 0 pathAsc: pathAsc order: asc fields: {} properties: name: description: The name for this field. type: string label: description: The label for this field. type: string fieldType: $ref: '#/components/schemas/FieldType' sort: $ref: '#/components/schemas/Sort' format: description: The format for this field, depending on its type. type: string rules: description: The validation rules that should be applied for this field. items: $ref: '#/components/schemas/ValidationRule' type: array fields: additionalProperties: $ref: '#/components/schemas/Field' description: The child fields of this field. type: object required: - fieldType - name type: object Icon: description: an icon example: name: name label: label properties: name: type: string label: type: string type: object FieldValue: description: The value of a field within a datasource. example: name: name formattedValue: formattedValue icons: - name: name label: label - name: name label: label value: '{}' properties: name: description: The name of the field. type: string value: description: "The value of the field.\nThis can be a simple string,integer,number\ \ or boolean value (for simple FieldTypes), \nor an object (namely: an\ \ associative array of FieldValues for FieldType.OBJECT)\nor an array\ \ of objects (namely: an array of associative arrays of FieldValues for\ \ for FieldType.LIST_OBJECT).\n" type: object formattedValue: description: The formatted value of the field (only applies for "simple" FieldTypes). type: string icons: items: $ref: '#/components/schemas/Icon' type: array required: - name type: object Page: description: A page that contains paging information an a list of elements. example: number: 6 isFirst: true totalItems: 5 pageSizes: - path: path size: 2 - path: path size: 2 size: 1 isLast: true _last: _last totalPages: 5 _first: _first _next: _next _previous: _previous properties: _first: description: path to the first page type: string _previous: description: path to the previous page type: string _next: description: path to the next page type: string _last: description: path to the last page type: string number: description: The 0-based number of the current page. format: int32 type: integer size: description: The number of items per page. format: int32 type: integer totalPages: description: The number of total pages. format: int32 type: integer totalItems: description: The total number of items. format: int32 type: integer isFirst: description: If this is the first page. type: boolean isLast: description: If this is the last page. type: boolean pageSizes: items: $ref: '#/components/schemas/PageSize' type: array required: - _first - _last - _next - _previous - isFirst - isLast - number - size - totalItems - totalPages type: object PageSize: description: describes the size and path for setting a page size example: path: path size: 2 properties: size: description: the number of items to show format: int32 type: integer path: description: the path type: string type: object Sort: description: Marks a field as sortable, properties are filled only when sorting has been applied. example: pathDesc: pathDesc prio: 0 pathAsc: pathAsc order: asc properties: prio: description: The priority for this sort, important when a multi-field sort is applied. type: integer order: description: The order for this sort (ascending or descending). enum: - asc - desc type: string pathAsc: description: the path to sort ascending type: string pathDesc: description: the path to sort descending type: string type: object Item: description: A single item of a page. example: links: - default: true icon: icon id: id label: label confirmation: confirmation type: page target: target - default: true icon: icon id: id label: label confirmation: confirmation type: page target: target fields: key: name: name formattedValue: formattedValue icons: - name: name label: label - name: name label: label value: '{}' selected: true properties: fields: additionalProperties: $ref: '#/components/schemas/FieldValue' description: The list of field-values of the item. type: object selected: description: Whether this item is selected/active. type: boolean links: description: A list of links. items: $ref: '#/components/schemas/Link' type: array type: object Link: description: A link. discriminator: propertyName: linkType example: default: true icon: icon id: id label: label confirmation: confirmation type: page target: target properties: type: description: | * page - Links to a page. * extern - Links to an external resource. * intern - Links to an internal resource. * action - Links to an action. * datasource - Links to a datasource enum: - page - extern - intern - action - datasource type: string id: description: The ID for this link. type: string label: description: The label for the link. type: string target: description: The target for the link. type: string icon: description: A descriptive name for an icon that should be used for this link. type: string default: description: Whether or not this link should be considered as default. type: boolean confirmation: description: A confirmation message that should be displayed to the user before following this link. type: string required: - type type: object ActionLink: allOf: - $ref: '#/components/schemas/Link' - $ref: '#/components/schemas/ActionLink_allOf' Filter: description: A filter that applies to a datasource. example: name: name options: entries: - hits: 0 options: - null - null label: label value: value selected: true - hits: 0 options: - null - null label: label value: value selected: true multiple: true label: label properties: name: description: The name of the filter. type: string label: description: The label iof the filter. type: string type: $ref: '#/components/schemas/OptionType' options: $ref: '#/components/schemas/Options' type: object Options: description: A set of selectable options example: entries: - hits: 0 options: - null - null label: label value: value selected: true - hits: 0 options: - null - null label: label value: value selected: true multiple: true properties: multiple: description: Whether or not this filter allows multiple options to be selected. type: boolean entries: description: A list of options for this filter. items: $ref: '#/components/schemas/Option' type: array type: object Option: description: A single option, used in a filter or an action-field. example: hits: 0 options: - null - null label: label value: value selected: true properties: value: description: The value for this option. type: string label: description: The label for this option. type: string selected: description: Whether or not this option is selected. type: boolean hits: description: Tells how many hits there are for this option. type: integer options: description: An option can act as a group and thus can itself own a list of options. items: $ref: '#/components/schemas/Option' type: array type: object FieldType: description: The possible types for a field/action-field. enum: - text - longtext - richtext - password - url - int - long - decimal - checkbox - coordinate - date - file - file_multiple - image - linkpanel - list_checkbox - list_radio - list_select - list_text - object - list_object type: string OptionType: description: The possible types for an option. enum: - select - select_multiple - radio - checkbox - text - date type: string ActionField: description: A single field as a part of an action. example: visible: true readonly: true name: name format: format options: entries: - hits: 0 options: - null - null label: label value: value selected: true - hits: 0 options: - null - null label: label value: value selected: true multiple: true formattedValue: formattedValue messages: - level: OK text: text key: key - level: OK text: text key: key rules: - messageKey: messageKey options: key: options active: true type: type message: message - messageKey: messageKey options: key: options active: true type: type message: message label: label fields: - null - null value: '{}' properties: name: description: The name of the field. type: string value: description: The value of the field. The concrete type of that object depends on the fieldType of this field. type: object label: description: The label for the field. type: string fieldType: $ref: '#/components/schemas/FieldType' readonly: description: Whether or not this field is read-only. type: boolean visible: description: Whether or not this field should be visible. type: boolean format: description: The format for this field, depending on its type. type: string formattedValue: description: The formatted value for this field. type: string options: $ref: '#/components/schemas/Options' rules: description: The validation rules that should be applied for this field. items: $ref: '#/components/schemas/ValidationRule' type: array messages: description: The messages related to this field. items: $ref: '#/components/schemas/Message' type: array fields: description: The child fields of this fieldValue. items: $ref: '#/components/schemas/ActionField' type: array type: object ValidationRule: description: A validation rule that can be bound to an action-field. example: messageKey: messageKey options: key: options active: true type: type message: message properties: type: description: The type of the rule. type: string message: description: The error message displayed when the rule isn't fulfilled. type: string active: description: Whether or not this rule is active, meaning it should be applied. type: boolean messageKey: description: The message key for this rule type: string options: additionalProperties: type: string description: An array defining the custom parameters for this rule. type: object type: object User: example: authenticated: true decimalSeparator: "." nickName: nickName timezone: Europe/Berlin name: name groupingSeparator: ',' locale: en_US email: john@example.com properties: name: description: the user's real name type: string nickName: description: the user's nickname type: string authenticated: type: boolean email: description: The email address of the user. example: john@example.com type: string locale: description: The IETF BCP 47 language tag for the user. example: en_US type: string timezone: description: The name of the IANA time zone the user is located at. example: Europe/Berlin type: string decimalSeparator: description: The charactor used as a decimal separator. example: "." type: string groupingSeparator: description: The charactor used when grouping numbers. example: ',' type: string type: object Message: description: A textual message with a certain level. example: level: OK text: text key: key properties: level: description: The level of the message. enum: - OK - NOTICE - INVALID - ERROR type: string text: description: The actual message. type: string key: description: A key for this message type: string type: object Permission: description: A permission. example: mode: READ ref: ref value: true properties: mode: description: The mode enum: - READ - SET type: string ref: description: The reference id of the permission. type: string value: description: The value, true if the permission is present. type: boolean type: object Parameter: description: A single parameter. example: name: name value: value properties: name: description: The name of the parameter. type: string value: description: The value of the parameter. type: string required: - name type: object Label: example: value: value properties: value: type: string type: object Navigation: example: appNGVersion: "" loginAction: appVersion: "" appNGVersion: "" title: title permissions: - mode: READ ref: ref value: true - mode: READ ref: ref value: true messages: - level: OK text: text key: key - level: OK text: text key: key _self: _self id: id fields: - visible: true readonly: true name: name format: format options: entries: - hits: 0 options: - null - null label: label value: value selected: true - hits: 0 options: - null - null label: label value: value selected: true multiple: true formattedValue: formattedValue messages: - level: OK text: text key: key - level: OK text: text key: key rules: - messageKey: messageKey options: key: options active: true type: type message: message - messageKey: messageKey options: key: options active: true type: type message: message label: label fields: - null - null value: '{}' - visible: true readonly: true name: name format: format options: entries: - hits: 0 options: - null - null label: label value: value selected: true - hits: 0 options: - null - null label: label value: value selected: true multiple: true formattedValue: formattedValue messages: - level: OK text: text key: key - level: OK text: text key: key rules: - messageKey: messageKey options: key: options active: true type: type message: message - messageKey: messageKey options: key: options active: true type: type message: message label: label fields: - null - null value: '{}' event-id: event-id parameters: key: parameters user: authenticated: true decimalSeparator: "." nickName: nickName timezone: Europe/Berlin name: name groupingSeparator: ',' locale: en_US email: john@example.com _execute: _execute onSuccess: onSuccess user: authenticated: true decimalSeparator: "." nickName: nickName timezone: Europe/Berlin name: name groupingSeparator: ',' locale: en_US email: john@example.com items: - path: path default: true name: name active: true _self: _self type: SITE items: - null - null - path: path default: true name: name active: true _self: _self type: SITE items: - null - null properties: user: $ref: '#/components/schemas/User' items: items: $ref: '#/components/schemas/NavigationItem' type: array loginAction: $ref: '#/components/schemas/Action' appNGVersion: description: The version of appNG type: String type: object NavigationItem: example: path: path default: true name: name active: true _self: _self type: SITE items: - null - null properties: _self: description: the API path (type PAGE only) type: string name: type: string default: description: if this is the default page? (type PAGE only) type: boolean path: type: string active: type: boolean type: enum: - SITE - APP - PAGE type: string items: items: $ref: '#/components/schemas/NavigationItem' type: array type: object ActionLink_allOf: properties: id: description: ID of the action type: string event-id: description: Event-ID of the action type: string interactive: description: Wether or not this action requires additional user-input type: boolean parameters: items: $ref: '#/components/schemas/Parameter' type: array type: object securitySchemes: appNGCookie: in: cookie name: JSESSIONID type: apiKey