get:
  tags:
    - Notification
  summary: Return a notification type.
  x-role: notification-type-api-admin
  operationId: getNotificationType
  parameters:
    - name: typeId
      in: path
      description: Id of the notification type
      required: true
      schema:
        type: integer
  responses:
    200:
      description: OK
      content:
        application/json:
          schema:
            $ref: '../../schemas/notification/notification_type_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 type.
  x-role: notification-type-api-admin
  operationId: updateNotificationType
  parameters:
    - $ref: '#/get/parameters/0'
  requestBody:
    required: true
    content:
      application/json:
        schema:
          $ref: '../../schemas/notification/notification_type.yaml'
  responses:
    200:
      description: OK
      content:
        application/json:
          schema:
            $ref: '../../schemas/notification/notification_type_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 type
  description: >
    Require the role **notification-type-api-admin** assigned.
  operationId: deleteNotificationType
  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'