RWTH Aachen University SystemStatus API

Endpoints for system status messages.

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

rwth-aachen-university-systemstatus-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Coscine Web Admin SystemStatus API
  description: Coscine (short for <b>CO</b>llaborative <b>SC</b>ientific <b>IN</b>tegration <b>E</b>nvironment) 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