openapi: 3.0.1
info:
title: Coscine Web Admin SystemStatus API
description: Coscine (short for COllaborative SCientific INtegration Environment) is the research data management platform for your research project.
termsOfService: https://about.coscine.de/en/termsofuse/
contact:
name: Coscine Team
email: servicedesk@rwth-aachen.de
version: '2.0'
servers:
- url: https://coscine.rwth-aachen.de/coscine
security:
- Bearer: []
tags:
- name: SystemStatus
description: Endpoints for system status messages.
paths:
/api/v2/system/status/internal:
get:
tags:
- SystemStatus
summary: Retrieves the internal messages.
operationId: GetInternalMessages
parameters:
- name: StartDateAfter
in: query
description: Will only return messages that have their start date after this date (UTC).
schema:
type: string
format: date-time
- name: StartDateBefore
in: query
description: Will only return messages that have their start date before this date (UTC).
schema:
type: string
format: date-time
- name: EndDateAfter
in: query
description: Will only return messages that have their end date after this date (UTC).
schema:
type: string
format: date-time
- name: EndDateBefore
in: query
description: Will only return messages that have their end date before this date (UTC).
schema:
type: string
format: date-time
- name: Type
in: query
description: Filter messages by their type (e.g. information, warning, error).
schema:
$ref: '#/components/schemas/MessageType'
- name: SearchTerm
in: query
description: Filter messages by text contained in the messages or title.
schema:
type: string
- name: PageNumber
in: query
description: Gets or sets the desired page number. Should be greater than or equal to 1. Default is 1.
schema:
type: integer
format: int32
- name: PageSize
in: query
description: Gets or sets the desired page size. Should be between 1 and the maximum allowed page size (50). Default is 10.
schema:
type: integer
format: int32
- name: OrderBy
in: query
description: "Gets or sets the field name used for ordering the results.\r\nThe order is constructed by an order string.\r\nUse the property followed by \"asc\" or \"desc\" and separate properties by commas. Default is asc.\r\nCan be used like this: \"propertyA asc, propertyB desc\"."
schema:
type: string
- name: Accept-Language
in: header
description: The desired language.
schema:
$ref: '#/components/schemas/AcceptedLanguage'
responses:
'200':
description: Returns the internal message.
content:
application/json:
schema:
$ref: '#/components/schemas/MessageDtoPagedResponse'
text/json:
schema:
$ref: '#/components/schemas/MessageDtoPagedResponse'
/api/v2/system/status/noc:
get:
tags:
- SystemStatus
summary: Retrieves the NOC messages.
operationId: GetNocMessages
parameters:
- name: PageNumber
in: query
description: Gets or sets the desired page number. Should be greater than or equal to 1. Default is 1.
schema:
type: integer
format: int32
- name: PageSize
in: query
description: Gets or sets the desired page size. Should be between 1 and the maximum allowed page size (50). Default is 10.
schema:
type: integer
format: int32
- name: OrderBy
in: query
description: "Gets or sets the field name used for ordering the results.\r\nThe order is constructed by an order string.\r\nUse the property followed by \"asc\" or \"desc\" and separate properties by commas. Default is asc.\r\nCan be used like this: \"propertyA asc, propertyB desc\"."
schema:
type: string
- name: Accept-Language
in: header
description: The desired language.
schema:
$ref: '#/components/schemas/AcceptedLanguage'
responses:
'200':
description: Returns the NOC messages.
content:
application/json:
schema:
$ref: '#/components/schemas/MessageDtoPagedResponse'
text/json:
schema:
$ref: '#/components/schemas/MessageDtoPagedResponse'
/api/v2/system/status/noc/active:
get:
tags:
- SystemStatus
summary: Retrieves the NOC messages.
operationId: GetActiveNocMessages
parameters:
- name: Accept-Language
in: header
description: The desired language.
schema:
$ref: '#/components/schemas/AcceptedLanguage'
responses:
'200':
description: Returns the active NOC messages.
content:
application/json:
schema:
$ref: '#/components/schemas/MessageDtoIEnumerableResponse'
text/json:
schema:
$ref: '#/components/schemas/MessageDtoIEnumerableResponse'
/api/v2/system/status:
options:
tags:
- SystemStatus
summary: Responds with the HTTP methods allowed for the endpoint.
responses:
'200':
description: OK
components:
schemas:
MessageDtoPagedResponse:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/MessageDto'
nullable: true
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
pagination:
$ref: '#/components/schemas/Pagination'
additionalProperties: false
AcceptedLanguage:
enum:
- de
- en
type: string
description: Accepted languages by the API.
MessageDtoIEnumerableResponse:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/MessageDto'
nullable: true
isSuccess:
type: boolean
readOnly: true
statusCode:
type: integer
format: int32
nullable: true
traceId:
type: string
nullable: true
additionalProperties: false
Pagination:
type: object
properties:
currentPage:
type: integer
description: Gets or sets the current page number.
format: int32
totalPages:
type: integer
description: Gets or sets the total number of pages.
format: int32
pageSize:
type: integer
description: Gets or sets the number of items per page.
format: int32
totalCount:
type: integer
description: Gets or sets the total count of items across all pages.
format: int64
hasPrevious:
type: boolean
description: Gets a value indicating whether there is a previous page.
readOnly: true
hasNext:
type: boolean
description: Gets a value indicating whether there is a next page.
readOnly: true
additionalProperties: false
description: Represents pagination information for a collection of items.
MessageDto:
required:
- id
type: object
properties:
id:
type: string
description: ID of the message.
body:
type: object
additionalProperties:
type: string
description: "Message body in multiple languages as key-value pairs. \r\nThe key is the ISO 639-1 Alpha-2 two-letter language code, and the value is the message in that language."
nullable: true
type:
$ref: '#/components/schemas/MessageType'
title:
type: string
description: Title of the message.
nullable: true
href:
type: string
description: URL related to the message.
format: uri
nullable: true
startDate:
type: string
description: Start date of the message (UTC).
format: date-time
nullable: true
endDate:
type: string
description: End date of the message (UTC).
format: date-time
nullable: true
additionalProperties: false
MessageType:
enum:
- Disturbance
- PartialDisturbance
- Maintenance
- PartialMaintenance
- LimitedOperation
- Interruption
- Change
- Hint
- Warning
- Information
type: string
description: Defines the various types of messages.
securitySchemes:
Bearer:
type: apiKey
description: JWT Authorization header using the Bearer scheme.
name: Authorization
in: header