get:
  tags:
    - Notification
  summary: Return a notification.
  x-role: notification-api-admin
  operationId: getNotification
  parameters:
    - name: notificationId
      in: path
      description: Id of the notification
      required: true
      schema:
        type: integer
  responses:
    200:
      description: OK
      content:
        application/json:
          schema:
            $ref: '../../schemas/notification/notification_response.yaml'
    401:
      $ref: '../../openapi.yaml#/components/responses/Unauthorized'
    403:
      $ref: '../../openapi.yaml#/components/responses/Forbidden'
    404:
      $ref: '../../openapi.yaml#/components/responses/NotFound'

put:
  tags:
    - Notification
  summary: Update a notification.
  x-role: notification-api-admin
  operationId: updateNotification
  parameters:
    - $ref: '#/get/parameters/0'
  requestBody:
    required: true
    content:
      application/json:
        schema:
          $ref: '../../schemas/notification/notification_request.yaml'
  responses:
    200:
      description: OK
      content:
        application/json:
          schema:
            $ref: '../../schemas/notification/notification_response.yaml'
    400:
      $ref: '../../openapi.yaml#/components/responses/BadRequest'
    401:
      $ref: '../../openapi.yaml#/components/responses/Unauthorized'
    403:
      $ref: '../../openapi.yaml#/components/responses/Forbidden'
    404:
      $ref: '../../openapi.yaml#/components/responses/NotFound'

delete:
  tags:
    - Notification
  summary: Remove a notification
  x-role: notification-api-admin
  operationId: deleteNotification
  parameters:
    - $ref: '#/get/parameters/0'
  responses:
    200:
      description: OK
      content:
        application/json: { }
    401:
      $ref: '../../openapi.yaml#/components/responses/Unauthorized'
    403:
      $ref: '../../openapi.yaml#/components/responses/Forbidden'
    404:
      $ref: '../../openapi.yaml#/components/responses/NotFound'