blob: c38b40a1f73d8eeb8e7c36b1e33d9fc1fe486f88 [file] [log] [blame]
openapi: 3.0.0
info:
description: "REST interface description of the openKONSEQUENZ module statement-public-affairs backend."
version: "0.0.1"
title: "OpenKONSEQUENZ Module Statement-Public-Affairs back-end"
license:
name: "EPL-2.0"
url: "http://www.eclipse.org/legal/epl-2.0"
tags:
-
name: basic
description: Basic interfaces
paths:
/admin/departments:
get:
tags:
- "admin"
summary: "Get department and sector configuration"
responses:
200:
description: "Latest department and sector configuration"
content:
application/json:
schema:
$ref: '#/components/schemas/DepartmentStructure'
403:
description: "Forbidden"
security:
- JWT:
- spa_access
put:
tags:
- "admin"
summary: "Set department and sector configuration"
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DepartmentStructure'
responses:
204:
description: "Successfully set"
400:
description: "Bad Request"
403:
description: "Forbidden"
security:
- JWT:
- spa_access
/admin/textblockconfig:
get:
tags:
- "admin"
summary: "Get latest Textblock Configuration"
responses:
200:
description: "Latest Textblock Configuration"
content:
application/json:
schema:
$ref: '#/components/schemas/TextblockConfiguration'
403:
description: "Forbidden"
security:
- JWT:
- spa_access
put:
tags:
- "admin"
summary: "Set Textblock Configuration"
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TextblockConfiguration'
responses:
204:
description: "Successfully set"
400:
description: "Bad Request"
403:
description: "Forbidden"
security:
- JWT:
- spa_access
/admin/users-sync:
post:
tags:
- "admin"
summary: "Sync users from auth-n-auth"
responses:
204:
description: "Successful"
403:
description: "Forbidden"
security:
- JWT:
- spa_access
/admin/users:
get:
tags:
- "admin"
summary: "Get user list"
responses:
200:
description: "List of all users"
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/User'
403:
description: "Forbidden"
security:
- JWT:
- spa_access
/admin/users/{userId}/settings:
post:
tags:
- "admin"
summary: "Set user detail settings"
parameters:
- name: userId
in: path
description: User ID
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UserSettings'
responses:
204:
description: "Successfully set"
400:
description: "Bad Request, maybe malformed email"
403:
description: "Forbidden"
404:
description: "User not found"
424:
description: "Departement not found"
security:
- JWT:
- spa_access
/logout:
get:
tags:
- "basic"
summary: "Logout of the service"
description: "Invalidate the access token"
responses:
204:
description: "Logout successful"
401:
description: "Not Authorized - Please provide a security token"
security:
- JWT:
- spa_access
/geo-coordinate-transform:
post:
tags:
- "map"
summary: "Transform geo coordinates"
description: "Transform geo coordinates"
parameters:
- name: from
in: query
description: "Input position format"
required: true
schema:
type: string
- name: to
in: query
description: "Output position format"
required: true
schema:
type: string
requestBody:
description: "Geo coordinates dictionary"
content:
application/json:
schema:
$ref: '#/components/schemas/GeoPositions'
responses:
200:
description: "Transformed Geo Positions"
content:
application/json:
schema:
$ref: '#/components/schemas/GeoPositions'
400:
description: "Bad Request"
/keepalive-session:
get:
tags:
- "basic"
summary: "Extend session validity"
description: "Should be called every minute to ensure that the session for the given token identifer is not "
responses:
204:
description: "Successfully extended"
401:
description: "Not Authorized - Please provide a security token"
403:
description: "Forbidden"
security:
- JWT:
- spa_access
/version:
get:
tags:
- "basic"
summary: "Service version"
description: "Application name, build version, etc."
responses:
200:
description: "Version response"
content:
application/json:
schema:
$ref: '#/components/schemas/VersionModel'
401:
description: "Not Authorized - Please provide a security token"
403:
description: "Forbidden"
security:
- JWT:
- spa_access
/contacts:
get:
tags:
- "contacts"
summary: "Get contact details for contact with given contactId"
description: "Get contact details for contact with given contactId"
parameters:
- name: q
in: query
description: "Search string"
required: true
schema:
type: string
- name: size
in: query
description: "Page size"
required: false
schema:
type: integer
- name: page
in: query
description: "Page number"
required: false
schema:
type: integer
- name: sort
in: query
description: "Sort parameter"
required: false
schema:
type: string
example: "name|email|firstName|lastName"
responses:
200:
description: "Paged list of matching contacts"
content:
application/json:
schema:
$ref: '#/components/schemas/PagedContacts'
401:
description: "Not Authorized - Please provide a security token"
403:
description: "Forbidden, maybe not enough rights to access contact module."
security:
- JWT:
- spa_access
/contacts/{contactId}:
get:
tags:
- "contacts"
summary: "Get contact details for contact with given contactId"
description: "Get contact details for contact with given contactId"
parameters:
- name: contactId
in: path
description: Contact ID
required: true
schema:
type: string
format: uuid
responses:
200:
description: "Contact details"
content:
application/json:
schema:
$ref: '#/components/schemas/ContactDetails'
401:
description: "Not Authorized - Please provide a security token"
403:
description: "Forbidden, maybe not enough rights to access contact module."
404:
description: "Not Found - Contact with given contactId could not be found."
security:
- JWT:
- spa_access
/sectors:
get:
tags:
- "statement"
summary: "Get all sectors"
responses:
200:
description: "Map of sectors by location."
content:
application/json:
schema:
$ref: '#/components/schemas/Sectors'
401:
description: "Not Authorized - Please provide a security token"
403:
description: "Forbidden"
security:
- JWT:
- spa_access
/statements/{statementId}/sectors:
get:
tags:
- "statement"
summary: "Get all sectors"
parameters:
- name: statementId
in: path
description: Statement ID
required: true
schema:
type: integer
format: int64
responses:
200:
description: "Map of sectors by location."
content:
application/json:
schema:
$ref: '#/components/schemas/Sectors'
401:
description: "Not Authorized - Please provide a security token"
403:
description: "Forbidden"
security:
- JWT:
- spa_access
/statementpositionsearch:
get:
tags:
- "statement"
summary: "Search statementpositions with queries"
parameters:
- name: dueDateFrom
in: query
description: "Search substrings of city, district or type"
required: false
schema:
type: string
- name: dueDateTo
in: query
description: "Search substrings of city, district or type"
required: false
schema:
type: string
- name: typeId
in: query
description: "Search substrings of city, district or type"
required: false
schema:
type: integer
responses:
200:
description: "List of searched Statements filtered according to url parameters"
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/StatementPositionModel'
401:
description: "Not Authorized - Please provide a security token"
403:
description: "Forbidden"
security:
- JWT:
- spa_access
/statementsearch:
get:
tags:
- "statement"
summary: "Search statements with queries"
parameters:
- name: q
in: query
description: "Search substrings of city, district or type"
required: false
schema:
type: array
items:
type: string
- name: dueDateFrom
in: query
description: "Search substrings of city, district or type"
required: false
schema:
type: string
- name: dueDateTo
in: query
description: "Search substrings of city, district or type"
required: false
schema:
type: string
- name: receiptDateFrom
in: query
description: "Search substrings of city, district or type"
required: false
schema:
type: string
- name: receiptDateTo
in: query
description: "Search substrings of city, district or type"
required: false
schema:
type: string
- name: creationDateFrom
in: query
description: "Search substrings of city, district or type"
required: false
schema:
type: string
- name: creationDateTo
in: query
description: "Search substrings of city, district or type"
required: false
schema:
type: string
- name: city
in: query
description: "Search substrings of city, district or type"
required: false
schema:
type: string
- name: district
in: query
description: "Search substrings of city, district or type"
required: false
schema:
type: string
- name: typeId
in: query
description: "Search substrings of city, district or type"
required: false
schema:
type: integer
- name: finished
in: query
description: "Search substrings of city, district or type"
required: false
schema:
type: boolean
- name: editedByMe
in: query
description: "Search substrings of city, district or type"
required: false
schema:
type: boolean
- name: size
in: query
description: "Page size"
required: false
schema:
type: integer
- name: page
in: query
description: "Page number"
required: false
schema:
type: integer
- name: sort
in: query
description: "Sort parameter sortkey,[asc|desc]"
required: false
schema:
type: string
example: "dueDate,asc | dueDate,desc"
responses:
200:
description: "List of searched Statements filtered according to url parameters"
content:
application/json:
schema:
$ref: '#/components/schemas/ListStatementModel'
401:
description: "Not Authorized - Please provide a security token"
403:
description: "Forbidden"
security:
- JWT:
- spa_access
/statements:
get:
tags:
- "statement"
summary: "List all Statements"
description: "List all Statements. Filtering by statement Ids via query parameter"
parameters:
- name: ids
in: query
description: Statement IDs
required: false
schema:
type: array
items:
type: integer
responses:
200:
description: "List of all Statements filtered according to url parameters"
content:
application/json:
schema:
$ref: '#/components/schemas/ListStatementModel'
401:
description: "Not Authorized - Please provide a security token"
403:
description: "Forbidden"
security:
- JWT:
- spa_access
post:
tags:
- "statement"
summary: "Create a new Statement"
description: "Create a new Statement."
requestBody:
description: "New Statement. Fields like id, finished and taskId are overridden by the backend."
content:
application/json:
schema:
$ref: '#/components/schemas/StatementModel'
responses:
200:
description: "New Staetement with correct id and other additional information added by the creation process"
content:
application/json:
schema:
$ref: '#/components/schemas/StatementModel'
401:
description: "Not Authorized - Please provide a security token"
403:
description: "Forbidden"
security:
- JWT:
- spa_access
/process/statements/{statementId}/task/{taskId}/statement:
post:
tags:
- "process"
summary: "Update a Statement"
description: "Update a Statement."
parameters:
- name: statementId
in: path
description: Statement ID
required: true
schema:
type: integer
format: int64
- name: taskId
in: path
description: Task ID
required: true
schema:
type: string
format: uuid
requestBody:
description: "Updated Statement."
content:
application/json:
schema:
$ref: '#/components/schemas/StatementModel'
responses:
204:
description: "Successful"
400:
description: "Bad Request - Invalid statement model"
401:
description: "Not Authorized - Please provide a security token"
403:
description: "Forbidden"
security:
- JWT:
- spa_access
/statement-data/types:
get:
tags:
- "statement"
summary: "Get List of available Statement types"
description: "Get List of available Statement types"
responses:
200:
description: "List of Statement Types"
content:
application/json:
schema:
$ref: '#/components/schemas/ListStatementType'
401:
description: "Not Authorized - Please provide a security token"
403:
description: "Forbidden"
security:
- JWT:
- spa_access
/statements/{statementId}:
get:
tags:
- "statement"
summary: "Get Statement with statementId"
description: "Get Statement with statementId"
parameters:
- name: statementId
in: path
description: Statement ID
required: true
schema:
type: integer
format: int64
responses:
200:
description: "Statement with statementId"
content:
application/json:
schema:
$ref: '#/components/schemas/StatementModel'
401:
description: "Not Authorized - Please provide a security token"
403:
description: "Forbidden"
404:
description: "Not Found - Statement with given statementId does not exist"
security:
- JWT:
- spa_access
/statements/{statementId}/contact:
get:
tags:
- "statement"
summary: "Get statement contact"
description: "Get statement contact"
parameters:
- name: statementId
in: path
description: Statement ID
required: true
schema:
type: integer
format: int64
responses:
200:
description: "Contact details"
content:
application/json:
schema:
$ref: '#/components/schemas/ContactDetails'
401:
description: "Not Authorized - Please provide a security token"
403:
description: "Forbidden"
404:
description: "Not Found - Statement with given statementId does not exist"
security:
- JWT:
- spa_access
/statements/{statementId}/workflowmodel:
get:
tags:
- "statement"
summary: "Get Statement with statementId"
description: "Get Statement with statementId"
parameters:
- name: statementId
in: path
description: Statement ID
required: true
schema:
type: integer
format: int64
responses:
200:
description: "Statement with statementId"
content:
application/xml:
schema:
type: string
401:
description: "Not Authorized - Please provide a security token"
403:
description: "Forbidden"
404:
description: "Not Found - Statement with given statementId does not exist"
security:
- JWT:
- spa_access
/statements/{statementId}/attachments:
parameters:
- name: statementId
in: path
description: Statement ID
required: true
schema:
type: integer
format: int64
get:
tags:
- "attachment"
summary: "List Attachments for Statement with statementId"
description: "List Attachments for Statement with statementId"
responses:
200:
description: "List of Attachments"
content:
application/json:
schema:
$ref: '#/components/schemas/ListAttachmentModel'
401:
description: "Not Authorized - Please provide a security token"
403:
description: "Forbidden"
404:
description: "Not Found - Statement with given statementId does not exist"
security:
- JWT:
- spa_access
/process/statements/{statementId}/task/{taskId}/transfermailtext:
parameters:
- name: statementId
in: path
description: Statement ID
required: true
schema:
type: integer
format: int64
- name: taskId
in: path
description: Task ID
required: true
schema:
type: string
format: uuid
post:
tags:
- "attachment"
- "mail"
summary: "Transfer mail text to statement attachment"
responses:
200:
description: "successful"
401:
description: "Not Authorized - Please provide a security token"
403:
description: "Forbidden"
404:
description: "Not Found - Statement with given statementId or task with taskId does not exist"
security:
- JWT:
- spa_access
/process/statements/{statementId}/task/{taskId}/transfermailattachments:
parameters:
- name: statementId
in: path
description: Statement ID
required: true
schema:
type: integer
format: int64
- name: taskId
in: path
description: Task ID
required: true
schema:
type: string
format: uuid
post:
tags:
- "attachment"
- "mail"
summary: "Transfer mail attachments to statement attachment"
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ListTransferAttachments'
responses:
200:
description: "successful"
content:
application/json:
schema:
$ref: '#/components/schemas/ListAttachmentModel'
401:
description: "Not Authorized - Please provide a security token"
403:
description: "Forbidden"
404:
description: "Not Found - Statement with given statementId or task with taskId does not exist"
security:
- JWT:
- spa_access
/process/statements/{statementId}/task/{taskId}/attachments:
parameters:
- name: statementId
in: path
description: Statement ID
required: true
schema:
type: integer
format: int64
- name: taskId
in: path
description: Task ID
required: true
schema:
type: string
format: uuid
- name: tagId
in: query
description: Tag ID
required: false
schema:
type: string
post:
tags:
- "attachment"
summary: "Create a new Attachment"
description: "Create a new Attachment."
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
attachment:
type: array
items:
type: string
format: binary
responses:
200:
description: "New Attachment with correct id and other additional information added by the creation process"
content:
application/json:
schema:
$ref: '#/components/schemas/AttachmentModel'
401:
description: "Not Authorized - Please provide a security token"
403:
description: "Forbidden"
404:
description: "Not Found - Statement with given statementId does not exist"
security:
- JWT:
- spa_access
/process/statements/{statementId}/task/{taskId}/attachments/{attachmentId}:
parameters:
- name: statementId
in: path
description: Statement ID
required: true
schema:
type: integer
format: int64
- name: taskId
in: path
description: Task ID
required: true
schema:
type: string
format: uuid
- name: attachmentId
in: path
description: Attachment ID
required: true
schema:
type: integer
format: int64
delete:
tags:
- "attachment"
summary: "Delete Attachment with Id"
description: "Delete Attachment with Id"
responses:
204:
description: "Deletion successful."
401:
description: "Not Authorized - Please provide a security token"
403:
description: "Forbidden"
404:
description: "Not Found - Attachment not found"
security:
- JWT:
- spa_access
/statements/{statementId}/consideration:
parameters:
- name: statementId
in: path
description: Statement ID
required: true
schema:
type: integer
format: int64
post:
tags:
- "attachment"
summary: "Create a new Attachment with consideration tag only allowed when statement is finished."
description: "Create a new Attachment with consideration tag only allowed when statement is finished."
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
attachment:
type: array
items:
type: string
format: binary
responses:
200:
description: "New Attachment with correct id and other additional information added by the creation process"
content:
application/json:
schema:
$ref: '#/components/schemas/AttachmentModel'
401:
description: "Not Authorized - Please provide a security token"
403:
description: "Forbidden"
404:
description: "Not Found - Statement with given statementId does not exist"
security:
- JWT:
- spa_access
/statements/{statementId}/attachments/{attachmentId}:
get:
tags:
- "attachment"
summary: "Get Attachment details with attachmentId for Statement with statementId"
description: "Get Attachment details with attachmentId for Statement with statementId"
parameters:
- name: statementId
in: path
description: Statement ID
required: true
schema:
type: integer
format: int64
- name: attachmentId
in: path
description: Attachment ID
required: true
schema:
type: integer
format: int64
responses:
200:
description: "Requested Attachment"
content:
application/json:
schema:
$ref: '#/components/schemas/AttachmentModel'
401:
description: "Not Authorized - Please provide a security token"
403:
description: "Forbidden"
404:
description: "Not Found - Attachment with given statementId and attachmentId does not exist"
security:
- JWT:
- spa_access
/process/statements/{statementId}/task/{taskId}/attachments/{attachmentId}/tags:
parameters:
- name: statementId
in: path
description: Statement ID
required: true
schema:
type: integer
format: int64
- name: taskId
in: path
description: Task ID
required: true
schema:
type: string
format: uuid
- name: attachmentId
in: path
description: Task ID
required: true
schema:
type: integer
format: int64
post:
tags:
- "attachment"
summary: "Set Attachment tags"
description: "Set Attachment tags"
requestBody:
description: "Taglist"
content:
application/json:
schema:
type: array
items:
type: string
responses:
204:
description: "Attachment tags set"
401:
description: "Not Authorized - Please provide a security token"
403:
description: "Forbidden"
404:
description: "Not Found - Statement with given statementId does not exist"
security:
- JWT:
- spa_access
/tags:
get:
tags:
- "attachment"
summary: "Get list of available tags"
responses:
200:
description: "Tag list"
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Tag'
put:
tags:
- "attachment"
summary: "Add a new tag"
parameters:
- name: "label"
in: query
required: true
schema:
type: string
responses:
201:
description: "Successfully added"
401:
description: "Not Authorized - Please provide a security token"
403:
description: "Forbidden"
404:
description: "Not Found - Attachment with given statementId and attachmentId does not exist"
409:
description: "Tag already exists"
security:
- JWT:
- spa_access
/statements/{statementId}/attachments/{attachmentId}/file:
get:
tags:
- "attachment"
summary: "Get Attachment file for Attachmetn with attachmentId for Statement with statementId"
description: "Get Attachment file for Attachmetn with attachmentId for Statement with statementId"
parameters:
- name: statementId
in: path
description: Statement ID
required: true
schema:
type: integer
format: int64
- name: attachmentId
in: path
description: Attachment ID
required: true
schema:
type: integer
format: int64
- name: accessToken
in: query
required: true
schema:
type: string
responses:
200:
description: "Requested Attachment File"
content:
application/pdf:
schema:
type: string
format: binary
401:
description: "Not Authorized - Please provide a security token"
403:
description: "Forbidden"
404:
description: "Not Found - Attachment with given statementId and attachmentId does not exist"
/process/statements/{statementId}/task:
get:
tags:
- "process"
summary: "Get all current workflow tasks for Statement with statementId"
description: "Get all current workflow tasks for Statement with statementId"
parameters:
- name: statementId
in: path
description: Statement ID
required: true
schema:
type: integer
format: int64
responses:
200:
description: "List of Current Statement Tasks"
content:
application/json:
schema:
$ref: '#/components/schemas/ListTaskModel'
401:
description: "Not Authorized - Please provide a security token"
403:
description: "Forbidden"
404:
description: "Not Found - Task with given taskId of Statement with given statementId does not exist"
security:
- JWT:
- spa_access
/process/statements/{statementId}/task/{taskId}/claim:
post:
tags:
- "process"
summary: "Claim task with taskId of Statement with statementId"
description: "Claim task with taskId of Statement with statementId"
parameters:
- name: statementId
in: path
description: Statement ID
required: true
schema:
type: integer
format: int64
- name: taskId
in: path
description: Task ID
required: true
schema:
type: string
format: uuid
responses:
200:
description: "Statement Task"
content:
application/json:
schema:
$ref: '#/components/schemas/TaskModel'
400:
description: "Bad Request - Invalid parameters or already claimed"
401:
description: "Not Authorized - Please provide a security token"
403:
description: "Forbidden"
404:
description: "Not Found - Statement with given statementId does not exist"
security:
- JWT:
- spa_access
/process/statements/{statementId}/task/{taskId}/unclaim:
post:
tags:
- "process"
summary: "Unclaim task with taskId of Statement with statementId"
description: "Unclaim task with taskId of Statement with statementId"
parameters:
- name: statementId
in: path
description: Statement ID
required: true
schema:
type: integer
format: int64
- name: taskId
in: path
description: Task ID
required: true
schema:
type: string
format: uuid
responses:
200:
description: "Statement Task"
content:
application/json:
schema:
$ref: '#/components/schemas/TaskModel'
400:
description: "Bad Request - Invalid parameters or not claimed"
401:
description: "Not Authorized - Please provide a security token"
403:
description: "Forbidden"
404:
description: "Not Found - Statement with given statementId does not exist"
security:
- JWT:
- spa_access
/process/statements/{statementId}/workflow:
get:
tags:
- "process"
summary: "Get workflow data in task context of task with taskId of Statement with statementId"
description: "Get workflow data in task context of task with taskId of Statement with statementId"
parameters:
- name: statementId
in: path
description: Statement ID
required: true
schema:
type: integer
format: int64
- name: taskId
in: path
description: Task ID
required: true
schema:
type: string
format: uuid
responses:
200:
description: "WorkflowDataModel"
content:
application/json:
schema:
$ref: '#/components/schemas/WorkflowDataModel'
400:
description: "Bad Request - Invalid parameters"
401:
description: "Not Authorized - Please provide a security token"
403:
description: "Forbidden"
404:
description: "Not Found - Statement with given statementId does not exist"
security:
- JWT:
- spa_access
/process/statements/{statementId}/workflow/children:
get:
tags:
- "process"
summary: "Get children of Statement with statementId"
description: "Get children of Statement with statementId"
parameters:
- name: statementId
in: path
description: Statement ID
required: true
schema:
type: integer
format: int64
responses:
200:
description: "Children statement ids"
content:
application/json:
schema:
$ref: '#/components/schemas/StatementIds'
400:
description: "Bad Request - Invalid parameters"
401:
description: "Not Authorized - Please provide a security token"
403:
description: "Forbidden"
404:
description: "Not Found - Statement with given statementId does not exist"
security:
- JWT:
- spa_access
/process/statements/{statementId}/workflow/parents:
get:
tags:
- "process"
summary: "Get Statement parents of Statement with statementId"
description: "Get Statement parents of Statement with statementId"
parameters:
- name: statementId
in: path
description: Statement ID
required: true
schema:
type: integer
format: int64
responses:
200:
description: "Parent statement ids"
content:
application/json:
schema:
$ref: '#/components/schemas/StatementIds'
400:
description: "Bad Request - Invalid parameters"
401:
description: "Not Authorized - Please provide a security token"
403:
description: "Forbidden"
404:
description: "Not Found - Statement with given statementId does not exist"
security:
- JWT:
- spa_access
/process/statements/{statementId}/task/{taskId}/workflow/parents:
post:
tags:
- "process"
summary: "Set Statement parents of Statement with statementId"
description: "Set Statement parents of Statement with statementId"
parameters:
- name: statementId
in: path
description: Statement ID
required: true
schema:
type: integer
format: int64
- name: taskId
in: path
description: Task ID
required: true
schema:
type: string
format: uuid
requestBody:
description: "Statement parent statement Ids."
content:
application/json:
schema:
$ref: '#/components/schemas/StatementIds'
responses:
200:
description: "Parent statement ids"
content:
application/json:
schema:
$ref: '#/components/schemas/StatementIds'
400:
description: "Bad Request - Invalid parameters"
401:
description: "Not Authorized - Please provide a security token"
403:
description: "Forbidden"
404:
description: "Not Found - Statement with given statementId does not exist"
security:
- JWT:
- spa_access
/process/statements/{statementId}/departmentconfig:
get:
tags:
- "process"
summary: "Get department configuration of the Statement with statementId"
description: "Get department configuration of the Statement with statementId"
parameters:
- name: statementId
in: path
description: Statement ID
required: true
schema:
type: integer
format: int64
responses:
200:
description: "Comments"
content:
application/json:
schema:
$ref: '#/components/schemas/DepartmentConfiguration'
400:
description: "Bad Request - Invalid parameters"
401:
description: "Not Authorized - Please provide a security token"
403:
description: "Forbidden"
404:
description: "Not Found - Statement with given statementId does not exist"
security:
- JWT:
- spa_access
/process/statements/{statementId}/comments:
get:
tags:
- "process"
summary: "Get comments of Statement with statementId"
description: "Get commetns of Statement with statementId"
parameters:
- name: statementId
in: path
description: Statement ID
required: true
schema:
type: integer
format: int64
responses:
200:
description: "Comments"
content:
application/json:
schema:
$ref: '#/components/schemas/CommentList'
400:
description: "Bad Request - Invalid parameters"
401:
description: "Not Authorized - Please provide a security token"
403:
description: "Forbidden"
404:
description: "Not Found - Statement with given statementId does not exist"
security:
- JWT:
- spa_access
put:
tags:
- "process"
summary: "Put comment of Statement with statementId"
description: "Put comment of Statement with statementId"
parameters:
- name: statementId
in: path
description: Statement ID
required: true
schema:
type: integer
format: int64
requestBody:
content:
text/plain:
schema:
type: string
example: "I have a comment."
responses:
204:
description: "Successful"
400:
description: "Bad Request - Invalid parameters"
401:
description: "Not Authorized - Please provide a security token"
403:
description: "Forbidden"
404:
description: "Not Found - Statement with given statementId does not exist"
security:
- JWT:
- spa_access
/process/statements/{statementId}/comments/{commentId}:
delete:
tags:
- "process"
summary: "Delete Comment with commentId of Statement with statementId"
description: "Delete Comment with commentId of Statement with statementId"
parameters:
- name: statementId
in: path
description: Statement ID
required: true
schema:
type: integer
format: int64
- name: commentId
in: path
description: Comment ID
required: true
schema:
type: integer
format: int64
responses:
204:
description: "Successful"
400:
description: "Bad Request - Invalid parameters"
401:
description: "Not Authorized - Please provide a security token"
403:
description: "Forbidden"
404:
description: "Not Found - Statement with given statementId or Commetn with given commentId does not exist"
security:
- JWT:
- spa_access
/process/statements/{statementId}/task/{taskId}/complete:
post:
tags:
- "process"
summary: "Complete task with taskId of Statement with statementId"
description: "Complete task with taskId of Statement with statementId"
parameters:
- name: statementId
in: path
description: Statement ID
required: true
schema:
type: integer
format: int64
- name: taskId
in: path
description: Task ID
required: true
schema:
type: string
format: uuid
requestBody:
description: "Required variables to successfully complete the task."
content:
application/json:
schema:
$ref: '#/components/schemas/MapCompleteVariable'
responses:
204:
description: "Complete sucessful"
400:
description: "Bad Request - Invalid parameters or not claimed"
401:
description: "Not Authorized - Please provide a security token"
403:
description: "Forbidden"
404:
description: "Not Found - Statement with given statementId does not exist"
security:
- JWT:
- spa_access
/process/statements/{statementId}/task/{taskId}/workflow:
get:
tags:
- "process"
summary: "Get workflow data in task context of task with taskId of Statement with statementId"
description: "Get workflow data in task context of task with taskId of Statement with statementId"
parameters:
- name: statementId
in: path
description: Statement ID
required: true
schema:
type: integer
format: int64
- name: taskId
in: path
description: Task ID
required: true
schema:
type: string
format: uuid
responses:
200:
description: "WorkflowDataModel"
content:
application/json:
schema:
$ref: '#/components/schemas/WorkflowDataModel'
400:
description: "Bad Request - Invalid parameters"
401:
description: "Not Authorized - Please provide a security token"
403:
description: "Forbidden"
404:
description: "Not Found - Statement with given statementId does not exist"
security:
- JWT:
- spa_access
post:
tags:
- "process"
summary: "Set workflow data in task context of task with taskId of Statement with statementId"
description: "Set workflow data in task context of task with taskId of Statement with statementId"
parameters:
- name: statementId
in: path
description: Statement ID
required: true
schema:
type: integer
format: int64
- name: taskId
in: path
description: Task ID
required: true
schema:
type: string
format: uuid
requestBody:
description: "Required variables to successfully complete the task."
content:
application/json:
schema:
$ref: '#/components/schemas/WorkflowDataModel'
responses:
204:
description: "Successful"
400:
description: "Bad Request - Invalid parameters"
401:
description: "Not Authorized - Please provide a security token"
403:
description: "Forbidden"
404:
description: "Not Found - Statement with given statementId does not exist"
security:
- JWT:
- spa_access
/process/statements/{statementId}/workflow/textblockconfig:
get:
tags:
- "process"
- "textblock"
summary: "Get Textblock configuration of version assigned for statement with statementId"
parameters:
- name: statementId
in: path
description: Statement ID
required: true
schema:
type: integer
format: int64
responses:
200:
description: "TextblockConfigModel"
content:
application/json:
schema:
$ref: '#/components/schemas/TextConfig'
400:
description: "Bad Request - Invalid parameters"
401:
description: "Not Authorized - Please provide a security token"
403:
description: "Forbidden"
404:
description: "Not Found - Statement with given statementId does not exist"
security:
- JWT:
- spa_access
/process/statements/{statementId}/workflow/textarrangement:
get:
tags:
- "process"
- "textblock"
summary: "Get TextArrangement of statement with statementId"
description: "Get TextArrangement of statement with statementId"
parameters:
- name: statementId
in: path
description: Statement ID
required: true
schema:
type: integer
format: int64
responses:
200:
description: "Current TextArrangement"
content:
application/json:
schema:
$ref: '#/components/schemas/TextArrangementModel'
400:
description: "Bad Request - Invalid parameters"
401:
description: "Not Authorized - Please provide a security token"
403:
description: "Forbidden"
404:
description: "Not Found - Statement with given statementId does not exist"
security:
- JWT:
- spa_access
/process/statements/{statementId}/workflow/contributions:
get:
tags:
- "process"
- "contributions"
summary: "Get Contribution status"
parameters:
- name: statementId
in: path
description: Statement ID
required: true
schema:
type: integer
format: int64
responses:
200:
description: "Current Contribution status"
content:
application/json:
schema:
$ref: '#/components/schemas/DepartmentGroup'
400:
description: "Bad Request - Invalid parameters"
401:
description: "Not Authorized - Please provide a security token"
403:
description: "Forbidden"
404:
description: "Not Found - Statement with given statementId does not exist"
security:
- JWT:
- spa_access
/process/statements/{statementId}/task/{taskId}/workflow/contribute:
patch:
tags:
- "process"
- "contributions"
summary: "Set contribution status to contributed for division of requested user"
parameters:
- name: statementId
in: path
description: Statement ID
required: true
schema:
type: integer
format: int64
- name: taskId
in: path
description: Task ID
required: true
schema:
type: string
format: uuid
responses:
204:
description: "Ok"
400:
description: "Bad Request - Invalid parameters"
401:
description: "Not Authorized - Please provide a security token"
403:
description: "Forbidden"
404:
description: "Not Found - Statement with given statementId does not exist"
security:
- JWT:
- spa_access
/process/statements/{statementId}/task/{taskId}/workflow/contributions:
post:
tags:
- "process"
- "contributions"
summary: "Get Contribution status"
parameters:
- name: statementId
in: path
description: Statement ID
required: true
schema:
type: integer
format: int64
- name: taskId
in: path
description: Task ID
required: true
schema:
type: string
format: uuid
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DepartmentGroup'
responses:
204:
description: "Ok"
400:
description: "Bad Request - Invalid parameters"
401:
description: "Not Authorized - Please provide a security token"
403:
description: "Forbidden"
404:
description: "Not Found - Statement with given statementId does not exist"
security:
- JWT:
- spa_access
/process/statements/{statementId}/task/{taskId}/workflow/textarrangement:
post:
tags:
- "process"
- "textblock"
summary: "Post TextArrangement for statement with statementId"
description: "Post TextArrangement for statement with statementId"
parameters:
- name: statementId
in: path
description: Statement ID
required: true
schema:
type: integer
format: int64
- name: taskId
in: path
description: Task ID
required: true
schema:
type: string
format: uuid
requestBody:
description: "New TextArrangement"
content:
application/json:
schema:
$ref: '#/components/schemas/TextArrangementModel'
responses:
204:
description: "Successfully set"
400:
description: "Bad Request - Invalid parameters"
401:
description: "Not Authorized - Please provide a security token"
403:
description: "Forbidden"
404:
description: "Not Found - Statement with given statementId does not exist"
security:
- JWT:
- spa_access
/process/statements/{statementId}/workflow/textarrangement/validate:
post:
tags:
- "process"
- "textblock"
summary: "Post TextArrangement for validation statement with statementId, without storing"
description: "Post TextArrangement for validation statement with statementId, without storing"
parameters:
- name: statementId
in: path
description: Statement ID
required: true
schema:
type: integer
format: int64
requestBody:
description: "New TextArrangement"
content:
application/json:
schema:
$ref: '#/components/schemas/TextArrangementModel'
responses:
200:
description: "Validation result"
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationResultModel'
400:
description: "Bad Request - Invalid parameters"
401:
description: "Not Authorized - Please provide a security token"
403:
description: "Forbidden"
404:
description: "Not Found - Statement with given statementId does not exist"
security:
- JWT:
- spa_access
/process/statements/{statementId}/workflow/textarrangement/compile:
post:
tags:
- "process"
- "textblock"
summary: "Post TextArrangement for validation statement with statementId and compile statement response pdf"
description: "Post TextArrangement for validation statement with statementId and compile statement response pdf"
parameters:
- name: statementId
in: path
description: Statement ID
required: true
schema:
type: integer
format: int64
requestBody:
description: "New TextArrangement"
content:
application/json:
schema:
$ref: '#/components/schemas/TextArrangementModel'
responses:
200:
description: "Statement pdf"
content:
application/pdf:
schema:
type: string
format: binary
400:
description: "Bad Request - Invalid parameters or invalid text arrangement"
401:
description: "Not Authorized - Please provide a security token"
403:
description: "Forbidden"
404:
description: "Not Found - Statement with given statementId does not exist"
422:
description: "Validation result"
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationResultModel'
security:
- JWT:
- spa_access
/process/statements/{statementId}/task/{taskId}/mailAndComplete:
post:
tags:
- "process"
- "mail"
summary: "Send statement response via mail and complete task"
description: "Send statement response via mail and complete task"
parameters:
- name: statementId
in: path
description: Statement ID
required: true
schema:
type: integer
format: int64
- name: taskId
in: path
description: Task ID
required: true
schema:
type: string
format: uuid
responses:
200:
description: "Sending mail without errors and complete"
content:
application/json:
schema:
$ref: '#/components/schemas/MailSendReport'
424:
description: "Send mail failed"
content:
application/json:
schema:
$ref: '#/components/schemas/MailSendReport'
401:
description: "Not Authorized - Please provide a security token"
403:
description: "Forbidden"
404:
description: "Not Found - Statement with given statementId does not exist"
security:
- JWT:
- spa_access
/mail/inbox:
get:
tags:
- "mail"
summary: "Show mail inbox"
responses:
200:
description: "Sending mail without errors"
content:
application/json:
schema:
$ref: '#/components/schemas/EmailModelList'
401:
description: "Not Authorized - Please provide a security token"
403:
description: "Forbidden"
security:
- JWT:
- spa_access
/mail/inbox/{mailId}:
delete:
tags:
- "mail"
summary: "Delete mail with mailId from inbox"
parameters:
- name: mailId
in: path
description: Mail ID
required: true
schema:
type: string
format: uuid
responses:
200:
description: "Deleted"
404:
description: "Mail with id does not exist in inbox"
401:
description: "Not Authorized - Please provide a security token"
403:
description: "Forbidden"
security:
- JWT:
- spa_access
patch:
tags:
- "mail"
summary: "Move mail with mailId from inbox to processed statements"
parameters:
- name: mailId
in: path
description: Mail ID
required: true
schema:
type: string
format: uuid
responses:
200:
description: "Moved"
404:
description: "Mail with id does not exist in inbox"
401:
description: "Not Authorized - Please provide a security token"
403:
description: "Forbidden"
security:
- JWT:
- spa_access
/mail/identifier/{mailId}:
get:
tags:
- "mail"
summary: "Show mail with identifier"
parameters:
- name: mailId
in: path
description: Mail ID
required: true
schema:
type: string
format: mailid
responses:
200:
description: "Mail details"
content:
application/json:
schema:
$ref: '#/components/schemas/EmailModel'
401:
description: "Not Authorized - Please provide a security token"
403:
description: "Forbidden"
404:
description: "Not Found - Mail with given mailId does not exist"
security:
- JWT:
- spa_access
/mail/identifier/{mailId}/{attachmentName}:
get:
tags:
- "mail"
summary: "Get mail attachment file by mailId and attachmentName"
parameters:
- name: mailId
in: path
description: Mail ID
required: true
schema:
type: string
format: mailid
- name: attachmentName
in: path
description: "Attachment file name"
required: true
schema:
type: string
- name: accessToken
in: query
required: true
schema:
type: string
responses:
200:
description: "Requested Attachment File"
content:
application/pdf:
schema:
type: string
format: binary
401:
description: "Not Authorized - Please provide a security token"
403:
description: "Forbidden"
404:
description: "Not Found - Attachment with given attachmentName or Mail with given mailId does not exist"
/dashboard/statements:
get:
tags:
- "statement"
summary: "Get dashboard statements"
responses:
200:
description: "Dashboard statements"
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/DashboardStatement'
401:
description: "Not Authorized - Please provide a security token"
403:
description: "Forbidden"
404:
description: "Not Found - Attachment with given attachmentName or Mail with given mailId does not exist"
components:
securitySchemes:
JWT:
type: oauth2
flows:
implicit:
authorizationUrl: http://localhost/portal/rest/beservice/login
scopes:
spa_access: Grant basic access the statement public affairs back-end interfaces
schemas:
VersionModel:
type: "object"
properties:
buildVersion:
type: "string"
applicationName:
type: "string"
xml:
name: "VersionModel"
ListStatementModel:
type: "array"
items:
$ref: '#/components/schemas/StatementModel'
StatementModel:
type: "object"
properties:
id:
type: integer
format: int64
title:
type: "string"
dueDate:
type: "string"
example: "2020-04-22"
format: date
pattern: "YYYY-MM-DD"
receiptDate:
type: "string"
example: "2020-04-22"
format: date
pattern: "YYYY-MM-DD"
creationDate:
type: "string"
example: "2020-04-22"
format: date
pattern: "YYYY-MM-DD"
taskId:
type: "string"
example: "123e4567-e89b-12d3-a456-426655440000"
format: uuid
pattern: "xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx"
finished:
type: "boolean"
typeId:
type: integer
format: int64
city:
type: "string"
customerReference:
type: "string"
district:
type: "string"
contactId:
type: string
mailId:
type: string
DashboardStatement:
type: "object"
properties:
info:
$ref: '#/components/schemas/StatementModel'
tasks:
$ref: '#/components/schemas/ListTaskModel'
editedByMe:
type: boolean
mandatoryDepartmentsCount:
type: integer
mandatoryContributionsCount:
type: integer
optionalForMyDepartment:
type: boolean
completedForMyDepartment:
type: boolean
ListAttachmentModel:
type: "array"
items:
$ref: '#/components/schemas/AttachmentModel'
AttachmentModel:
type: "object"
properties:
id:
type: integer
format: int64
name:
type: "string"
type:
type: "string"
tagIds:
type: array
items:
type: integer
format: int64
size:
type: integer
timestamp:
type: string
Tag:
type: "object"
properties:
id:
type: string
name:
type: string
ListStatementType:
type: "array"
items:
$ref: '#/components/schemas/StatementType'
StatementType:
type: "object"
properties:
id:
type: integer
format: int64
name:
type: "string"
ListTaskModel:
type: "array"
items:
$ref: '#/components/schemas/TaskModel'
TaskModel:
type: "object"
properties:
statementId:
type: integer
format: int64
taskId:
type: string
example: "123e4567-e89b-12d3-a456-426655440000"
format: uuid
pattern: "xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx"
taskDefinitionKey:
type: string
processDefinitionKey:
type: string
assignee:
type: string
authorized:
type: boolean
name:
type: string
requiredVariables:
$ref: '#/components/schemas/TaskModelRequiredVariables'
TaskModelRequiredVariables:
type: "object"
properties:
name:
type: string
enum:
- Boolean
MapCompleteVariable:
type: "object"
properties:
name:
$ref: '#/components/schemas/CompleteVariable'
CompleteVariable:
type: "object"
properties:
type:
type: string
enum:
- Boolean
value:
type: boolean
DepartmentGroup:
type: object
properties:
groupname:
type: array
items:
type: string
WorkflowDataModel:
type: "object"
properties:
geoPosition:
type: string
mandatoryDepartments:
$ref: '#/components/schemas/DepartmentGroup'
optionalDepartments:
$ref: '#/components/schemas/DepartmentGroup'
DepartmentConfiguration:
type: "object"
properties:
suggestedDepartments:
$ref: '#/components/schemas/DepartmentGroup'
allDepartments:
$ref: '#/components/schemas/DepartmentGroup'
CommentList:
type: array
items:
type: object
properties:
id:
type: integer
text:
type: string
userName:
type: string
firstName:
type: string
lastName:
type: string
timestamp:
type: string
PagedContacts:
type: object
properties:
content:
$ref: '#/components/schemas/Contacts'
totalElements:
type: integer
totalPages:
type: integer
last:
type: boolean
numberOfElements:
type: integer
first:
type: boolean
size:
type: integer
number:
type: integer
empty:
type: boolean
Contacts:
type: array
items:
type: object
properties:
id:
type: string
email:
type: string
firstName:
type: string
lastName:
type: string
companyId:
type: string
companyName:
type: string
ContactDetails:
type: object
properties:
company:
type: string
salutation:
type: string
title:
type: string
firstName:
type: string
lastName:
type: string
email:
type: string
street:
type: string
houseNumber:
type: string
postCode:
type: string
community:
type: string
communitySuffix:
type: string
StatementIds:
type: array
items:
type: integer
Sectors:
type: object
properties:
city#district:
type: array
items:
type: string
example: Strom
TextConfig:
type: object
properties:
configuration:
$ref: '#/components/schemas/TextblockConfig'
replacements:
type: object
properties:
key:
type: string
example: "value"
TextblockConfig:
type: object
properties:
selects:
type: object
properties:
key:
type: array
items:
type: string
groups:
type: array
items:
type: object
properties:
groupName:
type: string
textBlocks:
type: array
items:
$ref: '#/components/schemas/TextblockItem'
negativeGroups:
type: array
items:
type: object
properties:
groupName:
type: string
textBlocks:
type: array
items:
$ref: '#/components/schemas/TextblockItem'
TextblockItem:
type: object
properties:
id:
type: string
text:
type: string
excludes:
type: array
items:
type: string
requires:
type: array
items:
type: object
properties:
ids:
type: array
items:
type: string
type:
type: string
example: "and|xor|or"
TextArrangementModel:
type: array
items:
type: object
properties:
type:
type: string
example: "block|text|newline|pagebreak"
textblockId:
type: string
addNewline:
type: boolean
placeholderValues:
type: object
properties:
varname:
type: string
example: "value or id"
replacement:
type: string
ValidationResultModel:
type: object
properties:
valid:
type: boolean
errors:
type: array
items:
type: object
properties:
arrangementId:
type: integer
textblockId:
type: string
textblockGroup:
type: string
missingVariables:
type: array
items:
type: string
requires:
type: array
items:
type: object
properties:
ids:
type: array
items:
type: string
type:
type: string
example: "and|xor|or"
excludes:
type: array
items:
type: string
after:
type: string
MailSendReport:
type: object
properties:
successful:
type: boolean
reason:
type: string
EmailModelList:
type: array
items:
$ref: '#/components/schemas/EmailModel'
EmailModel:
type: object
properties:
identifier:
type: string
subject:
type: string
date:
type: string
example: "date-time-format"
from:
type: string
textplain:
type: string
texthtml:
type: string
attachments:
type: array
items:
type: object
properties:
name:
type: string
size:
type: integer
type:
type: string
ListTransferAttachments:
type: array
items:
type: object
properties:
name:
type: string
tagIds:
type: array
items:
type: string
StatementPositionModel:
type: object
properties:
id:
type: integer
title:
type: string
geoPosition:
type: string
typeId:
type: integer
GeoPositions:
type: object
properties:
position1:
type: object
properties:
x:
type: number
y:
type: number
DepartmentStructure:
type: object
properties:
city#district:
type: object
properties:
provides:
type: array
items:
type: string
departments:
type: object
properties:
groupKey:
type: array
items:
type: string
TextblockConfiguration:
type: object
properties:
groups:
type: array
items:
type: object
properties:
groupName:
type: string
textBlocks:
type: array
items:
type: object
properties:
id:
type: string
requires:
type: array
items:
type: object
properties:
ids:
type: array
items:
type: string
type:
type: string
example: "xor"
excludes:
type: array
items:
type: string
text:
type: string
negativeGroups:
type: array
items:
type: object
properties:
groupName:
type: string
textBlocks:
type: array
items:
type: object
properties:
id:
type: string
requires:
type: array
items:
type: object
properties:
ids:
type: array
items:
type: string
type:
type: string
example: "xor"
excludes:
type: array
items:
type: string
text:
type: string
selects:
type: object
properties:
name:
type: array
items:
type: string
UserSettings:
type: object
properties:
email:
type: string
department:
type: object
properties:
group:
type: string
name:
type: string
User:
type: object
properties:
id:
type: integer
userName:
type: string
firstName:
type: string
lastName:
type: string
roles:
type: array
items:
type: string
settings:
$ref: '#/components/schemas/UserSettings'
externalDocs:
description: "Find out more about OpenKONSEQUENZ"
url: "https://www.openkonsequenz.de/"