openapi: 3.0.1
info:
  title: seal-rest
  version: 11.2.0
  contact:
    name: SEAL Systems AG
    email: support@sealsystems.de
    url: http://www.sealsystems.de
  license:
    name: SEAL End User License
components:
  securitySchemes:
    BasicAuth:
      type: http
      scheme: basic
    BearerAuth:
      type: http
      scheme: bearer
security:
  - BearerAuth: []
    BasicAuth: []
paths:
  /:
    parameters: []
    get:
      summary: GET /
      responses:
        '200':
          description: 200 OK
        '401':
          description: 401 Unauthorized
        '403':
          description: 403 Forbidden
        '404':
          description: 404 Not Found
        '500':
          description: 500 Internal Server Error
  /v3/:
    parameters: []
    get:
      summary: GET /v3/
      responses:
        '200':
          description: 200 OK
        '401':
          description: 401 Unauthorized
        '403':
          description: 403 Forbidden
        '404':
          description: 404 Not Found
        '500':
          description: 500 Internal Server Error
  /v3/auth/userroles:
    parameters: []
    get:
      summary: GET /v3/auth/userroles
      responses:
        '200':
          description: 200 OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  admin:
                    type: object
                    properties:
                      areas:
                        type: object
                        properties:
                          dashboard:
                            type: object
                          jobs:
                            type: object
                          printers:
                            type: object
                      set-all:
                        type: object
                        properties:
                          views:
                            type: array
                            items:
                              type: string
                          permissions:
                            type: array
                            items:
                              type: string
        '401':
          description: 401 Unauthorized
        '403':
          description: 403 Forbidden
        '404':
          description: 404 Not Found
        '500':
          description: 500 Internal Server Error
  /v3/configs/:
    parameters: []
    get:
      summary: GET /v3/configs/
      responses:
        '200':
          description: 200 OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    key:
                      type: string
                      format: uri
                    value:
                      type: object
        '401':
          description: 401 Unauthorized
        '403':
          description: 403 Forbidden
        '404':
          description: 404 Not Found
        '500':
          description: 500 Internal Server Error
    put:
      summary: PUT /v3/configs/
      responses:
        '200':
          description: 200 OK
        '401':
          description: 401 Unauthorized
        '403':
          description: 403 Forbidden
        '404':
          description: 404 Not Found
        '500':
          description: 500 Internal Server Error
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                key:
                  type: string
                  format: uri
                value:
                  type: object
    delete:
      summary: DELETE /v3/configs/
      responses:
        '200':
          description: 200 OK
        '401':
          description: 401 Unauthorized
        '403':
          description: 403 Forbidden
        '404':
          description: 404 Not Found
        '500':
          description: 500 Internal Server Error
  /v3/flows/:
    parameters: []
    get:
      summary: GET /v3/flows/
      responses:
        '200':
          description: 200 OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    name:
                      type: string
                    standard:
                      type: boolean
                    flow:
                      type: string
                      format: style
        '401':
          description: 401 Unauthorized
        '403':
          description: 403 Forbidden
        '404':
          description: 404 Not Found
        '500':
          description: 500 Internal Server Error
    post:
      summary: POST /v3/flows/
      responses:
        '200':
          description: 200 OK
        '400':
          description: 400 Bad Request
        '401':
          description: 401 Unauthorized
        '403':
          description: 403 Forbidden
        '404':
          description: 404 Not Found
        '500':
          description: 500 Internal Server Error
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                standard:
                  type: boolean
                flow:
                  type: string
                  format: style
  /v3/flows/{name}:
    parameters:
      - name: name
        in: path
        required: true
        schema:
          type: string
    get:
      summary: GET /v3/flows/:name
      responses:
        '200':
          description: 200 OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  name:
                    type: string
                  standard:
                    type: boolean
                  flow:
                    type: string
                    format: style
        '401':
          description: 401 Unauthorized
        '403':
          description: 403 Forbidden
        '404':
          description: 404 Not Found
        '500':
          description: 500 Internal Server Error
    delete:
      summary: DELETE /v3/flows/:name
      responses:
        '200':
          description: 200 OK
        '401':
          description: 401 Unauthorized
        '403':
          description: 403 Forbidden
        '404':
          description: 404 Not Found
        '500':
          description: 500 Internal Server Error
  /v3/jobs/:
    parameters: []
    get:
      summary: GET /v3/jobs/
      responses:
        '200':
          description: 200 OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    _id:
                      type: string
                    orig:
                      type: object
                      properties:
                        jobName:
                          type: string
                        printerName:
                          type: string
                        userName:
                          type: string
                        fileName:
                          type: string
                        fileFormat:
                          type: string
                        copies:
                          type: integer
                        checkinType:
                          type: string
                        server:
                          type: string
                        creator:
                          type: string
                        arrivedTime:
                          type: integer
                        checkinTime:
                          type: integer
                        fileSize:
                          type: integer
                    current:
                      type: object
                      properties:
                        jobName:
                          type: string
                        printerName:
                          type: string
                        userName:
                          type: string
                        fileName:
                          type: string
                        fileFormat:
                          type: string
                        copies:
                          type: integer
                        checkinType:
                          type: string
                        server:
                          type: string
                        creator:
                          type: string
                        arrivedTime:
                          type: integer
                        checkinTime:
                          type: integer
                        fileSize:
                          type: integer
                    refId:
                      type: string
                    fileName:
                      type: array
                      items:
                        type: string
                    status:
                      type: string
                    stages:
                      type: array
                      items:
                        type: object
                        properties:
                          fileName:
                            type: string
                          mimeType:
                            type: string
                          createdBy:
                            type: string
                          createdAt:
                            type: integer
                          context:
                            type: object
                            properties:
                              type:
                                type: string
                    lcCurrent:
                      type: object
                      properties:
                        jobName:
                          type: string
                        printerName:
                          type: string
                        userName:
                          type: string
                        fileName:
                          type: string
                        fileFormat:
                          type: string
                        copies:
                          type: integer
                        checkinType:
                          type: string
                        server:
                          type: string
                        creator:
                          type: string
                        arrivedTime:
                          type: integer
                        checkinTime:
                          type: integer
                        fileSize:
                          type: integer
        '401':
          description: 401 Unauthorized
        '403':
          description: 403 Forbidden
        '404':
          description: 404 Not Found
        '500':
          description: 500 Internal Server Error
      parameters:
        - in: query
          name: $filter
          schema:
            type: string
          required: false
        - in: query
          name: $top
          schema:
            type: string
          required: false
        - in: query
          name: $skip
          schema:
            type: string
          required: false
        - in: query
          name: $select
          schema:
            type: string
          required: false
        - in: query
          name: $inlinecount
          schema:
            type: string
          required: false
        - in: query
          name: $orderby
          schema:
            type: string
          required: false
  /v3/jobs/{id}:
    parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
    get:
      summary: GET /v3/jobs/:id
      responses:
        '200':
          description: 200 OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  _id:
                    type: string
                  orig:
                    type: object
                    properties:
                      jobName:
                        type: string
                      printerName:
                        type: string
                      userName:
                        type: string
                      fileName:
                        type: string
                      fileFormat:
                        type: string
                      copies:
                        type: integer
                      checkinType:
                        type: string
                      server:
                        type: string
                      creator:
                        type: string
                      arrivedTime:
                        type: integer
                      checkinTime:
                        type: integer
                      fileSize:
                        type: integer
                  current:
                    type: object
                    properties:
                      jobName:
                        type: string
                      printerName:
                        type: string
                      userName:
                        type: string
                      fileName:
                        type: string
                      fileFormat:
                        type: string
                      copies:
                        type: integer
                      checkinType:
                        type: string
                      server:
                        type: string
                      creator:
                        type: string
                      arrivedTime:
                        type: integer
                      checkinTime:
                        type: integer
                      fileSize:
                        type: integer
                  refId:
                    type: string
                  fileName:
                    type: array
                    items:
                      type: string
                  status:
                    type: string
                  stages:
                    type: array
                    items:
                      type: object
                      properties:
                        fileName:
                          type: string
                        mimeType:
                          type: string
                        createdBy:
                          type: string
                        createdAt:
                          type: integer
                        context:
                          type: object
                          properties:
                            type:
                              type: string
                  lcCurrent:
                    type: object
                    properties:
                      jobName:
                        type: string
                      printerName:
                        type: string
                      userName:
                        type: string
                      fileName:
                        type: string
                      fileFormat:
                        type: string
                      copies:
                        type: integer
                      checkinType:
                        type: string
                      server:
                        type: string
                      creator:
                        type: string
                      arrivedTime:
                        type: integer
                      checkinTime:
                        type: integer
                      fileSize:
                        type: integer
        '401':
          description: 401 Unauthorized
        '403':
          description: 403 Forbidden
        '404':
          description: 404 Not Found
        '500':
          description: 500 Internal Server Error
    delete:
      summary: DELETE /v3/jobs/:id
      responses:
        '200':
          description: 200 OK
        '401':
          description: 401 Unauthorized
        '403':
          description: 403 Forbidden
        '404':
          description: 404 Not Found
        '500':
          description: 500 Internal Server Error
  /v3/jobs/{id}/cancel:
    parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
    put:
      summary: PUT /v3/jobs/:id/cancel
      responses:
        '200':
          description: 200 OK
        '401':
          description: 401 Unauthorized
        '403':
          description: 403 Forbidden
        '404':
          description: 404 Not Found
        '412':
          description: 412 Precondition Failed
        '500':
          description: 500 Internal Server Error
  /v3/jobs/{id}/collect:
    parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
    get:
      summary: GET /v3/jobs/:id/collect
      responses:
        '200':
          description: 200 OK
          content:
            application/gzip: {}
        '401':
          description: 401 Unauthorized
        '403':
          description: 403 Forbidden
        '404':
          description: 404 Not Found
        '500':
          description: 500 Internal Server Error
  /v3/jobs/{id}/logs:
    parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
    get:
      summary: GET /v3/jobs/:id/logs
      responses:
        '200':
          description: 200 OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  messages:
                    type: array
                    items:
                      type: object
                      properties:
                        '@timestamp':
                          type: string
                          format: date-time
                        timestamp:
                          type: integer
                        level:
                          type: string
                        message:
                          type: string
                        metadata:
                          type: object
                        application:
                          type: object
                        host:
                          type: object
                          properties:
                            name:
                              type: string
                        id:
                          type: integer
        '401':
          description: 401 Unauthorized
        '403':
          description: 403 Forbidden
        '404':
          description: 404 Not Found
        '500':
          description: 500 Internal Server Error
  /v3/jobs/{id}/move:
    parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
    put:
      summary: PUT /v3/jobs/:id/move
      responses:
        '200':
          description: 200 OK
        '401':
          description: 401 Unauthorized
        '403':
          description: 403 Forbidden
        '404':
          description: 404 Not Found
        '412':
          description: 412 Precondition Failed
        '500':
          description: 500 Internal Server Error
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                targetPrinter:
                  type: string
                targetServer:
                  type: string
  /v3/jobs/{id}/pause:
    parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
    put:
      summary: PUT /v3/jobs/:id/pause
      responses:
        '200':
          description: 200 OK
        '401':
          description: 401 Unauthorized
        '403':
          description: 403 Forbidden
        '404':
          description: 404 Not Found
        '412':
          description: 412 Precondition Failed
        '500':
          description: 500 Internal Server Error
  /v3/jobs/{id}/repeat:
    parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
    put:
      summary: PUT /v3/jobs/:id/repeat
      responses:
        '200':
          description: 200 OK
        '401':
          description: 401 Unauthorized
        '403':
          description: 403 Forbidden
        '404':
          description: 404 Not Found
        '412':
          description: 412 Precondition Failed
        '500':
          description: 500 Internal Server Error
  /v3/jobs/{id}/resume:
    parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
    put:
      summary: PUT /v3/jobs/:id/resume
      responses:
        '200':
          description: 200 OK
        '401':
          description: 401 Unauthorized
        '403':
          description: 403 Forbidden
        '404':
          description: 404 Not Found
        '412':
          description: 412 Precondition Failed
        '500':
          description: 500 Internal Server Error
  /v3/jobs/{id}/tempfiles:
    parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
    put:
      summary: PUT /v3/jobs/:id/tempfiles
      responses:
        '200':
          description: 200 OK
        '401':
          description: 401 Unauthorized
        '403':
          description: 403 Forbidden
        '404':
          description: 404 Not Found
        '500':
          description: 500 Internal Server Error
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                saveTempFiles:
                  type: boolean
  /v3/jobs/{id}/pageinfo:
    parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
    get:
      summary: GET /v3/jobs/:id/pageinfo
      responses:
        '200':
          description: 200 OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
        '401':
          description: 401 Unauthorized
        '403':
          description: 403 Forbidden
        '404':
          description: 404 Not Found
        '500':
          description: 500 Internal Server Error
  /v3/jobs/metadata:
    parameters: []
    get:
      summary: GET /v3/jobs/metadata
      responses:
        '200':
          description: 200 OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
        '401':
          description: 401 Unauthorized
        '403':
          description: 403 Forbidden
        '404':
          description: 404 Not Found
        '500':
          description: 500 Internal Server Error
  /v3/printers/:
    parameters: []
    get:
      summary: GET /v3/printers/
      responses:
        '200':
          description: 200 OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    _id:
                      type: string
                    config:
                      type: object
                      properties:
                        connection:
                          type: string
                          format: uri
                        printer:
                          type: string
                        printerDepartment:
                          type: string
                        pickup:
                          type: boolean
                        printerComment:
                          type: string
                        useCopier:
                          type: string
                        template:
                          type: object
                        nativeQueue:
                          type: boolean
                        printerLocation:
                          type: string
                        monitorConnection:
                          type: string
                          format: uri
                        rotateLandscapeA3:
                          type: boolean
                        adjustStapleType:
                          type: boolean
                        colorType:
                          type: string
                        adjustPunchType:
                          type: boolean
                        type:
                          type: object
                          properties:
                            manufacturer:
                              type: string
                            model:
                              type: string
                            name:
                              type: string
                            pdl:
                              type: object
                              properties:
                                version:
                                  type: string
                                  format: utc-millisec
                                name:
                                  type: string
                        config:
                          type: string
                        monitorMode:
                          type: string
                        server:
                          type: string
                        webUrl:
                          type: string
                          format: uri
                        connectionHostname:
                          type: string
                          format: ip-address
                    runtime:
                      type: object
                      properties:
                        status:
                          type: string
                        currentPrintingJob:
                          type: string
                        lastPrintedJobTime:
                          type: integer
                        queuedJobs:
                          type: integer
                        redirectedTo:
                          type: object
                          properties:
                            targetPrinter:
                              type: string
                            targetServer:
                              type: string
        '401':
          description: 401 Unauthorized
        '403':
          description: 403 Forbidden
        '404':
          description: 404 Not Found
        '500':
          description: 500 Internal Server Error
      parameters:
        - in: query
          name: $filter
          schema:
            type: string
          required: false
        - in: query
          name: $top
          schema:
            type: string
          required: false
        - in: query
          name: $skip
          schema:
            type: string
          required: false
        - in: query
          name: $select
          schema:
            type: string
          required: false
        - in: query
          name: $inlinecount
          schema:
            type: string
          required: false
        - in: query
          name: $orderby
          schema:
            type: string
          required: false
    post:
      summary: POST /v3/printers/
      responses:
        '200':
          description: 200 OK
        '401':
          description: 401 Unauthorized
        '403':
          description: 403 Forbidden
        '404':
          description: 404 Not Found
        '500':
          description: 500 Internal Server Error
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                _id:
                  type: string
                config:
                  type: object
                  properties:
                    connection:
                      type: string
                      format: uri
                    printer:
                      type: string
                    printerDepartment:
                      type: string
                    pickup:
                      type: boolean
                    printerComment:
                      type: string
                    useCopier:
                      type: string
                    template:
                      type: object
                    nativeQueue:
                      type: boolean
                    printerLocation:
                      type: string
                    monitorConnection:
                      type: string
                      format: uri
                    rotateLandscapeA3:
                      type: boolean
                    adjustStapleType:
                      type: boolean
                    colorType:
                      type: string
                    adjustPunchType:
                      type: boolean
                    type:
                      type: object
                      properties:
                        manufacturer:
                          type: string
                        model:
                          type: string
                        name:
                          type: string
                        pdl:
                          type: object
                          properties:
                            version:
                              type: string
                              format: utc-millisec
                            name:
                              type: string
                    config:
                      type: string
                    monitorMode:
                      type: string
                    server:
                      type: string
                    webUrl:
                      type: string
                      format: uri
                    connectionHostname:
                      type: string
                      format: ip-address
                runtime:
                  type: object
                  properties:
                    status:
                      type: string
                    currentPrintingJob:
                      type: string
                    lastPrintedJobTime:
                      type: integer
                    queuedJobs:
                      type: integer
                    redirectedTo:
                      type: object
                      properties:
                        targetPrinter:
                          type: string
                        targetServer:
                          type: string
  /v3/printers/{printerName}:
    parameters:
      - name: printerName
        in: path
        required: true
        schema:
          type: string
    get:
      summary: GET /v3/printers/:printerName
      responses:
        '200':
          description: 200 OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  _id:
                    type: string
                  config:
                    type: object
                    properties:
                      connection:
                        type: string
                        format: uri
                      printer:
                        type: string
                      printerDepartment:
                        type: string
                      pickup:
                        type: boolean
                      printerComment:
                        type: string
                      useCopier:
                        type: string
                      template:
                        type: object
                      nativeQueue:
                        type: boolean
                      printerLocation:
                        type: string
                      monitorConnection:
                        type: string
                        format: uri
                      rotateLandscapeA3:
                        type: boolean
                      adjustStapleType:
                        type: boolean
                      colorType:
                        type: string
                      adjustPunchType:
                        type: boolean
                      type:
                        type: object
                        properties:
                          manufacturer:
                            type: string
                          model:
                            type: string
                          name:
                            type: string
                          pdl:
                            type: object
                            properties:
                              version:
                                type: string
                                format: utc-millisec
                              name:
                                type: string
                      config:
                        type: string
                      monitorMode:
                        type: string
                      server:
                        type: string
                      webUrl:
                        type: string
                        format: uri
                      connectionHostname:
                        type: string
                        format: ip-address
                  runtime:
                    type: object
                    properties:
                      status:
                        type: string
                      currentPrintingJob:
                        type: string
                      lastPrintedJobTime:
                        type: integer
                      queuedJobs:
                        type: integer
                      redirectedTo:
                        type: object
                        properties:
                          targetPrinter:
                            type: string
                          targetServer:
                            type: string
        '401':
          description: 401 Unauthorized
        '403':
          description: 403 Forbidden
        '404':
          description: 404 Not Found
        '500':
          description: 500 Internal Server Error
    put:
      summary: PUT /v3/printers/:printerName
      responses:
        '200':
          description: 200 OK
        '401':
          description: 401 Unauthorized
        '403':
          description: 403 Forbidden
        '404':
          description: 404 Not Found
        '500':
          description: 500 Internal Server Error
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                _id:
                  type: string
                config:
                  type: object
                  properties:
                    connection:
                      type: string
                      format: uri
                    printer:
                      type: string
                    printerDepartment:
                      type: string
                    pickup:
                      type: boolean
                    printerComment:
                      type: string
                    useCopier:
                      type: string
                    template:
                      type: object
                    nativeQueue:
                      type: boolean
                    printerLocation:
                      type: string
                    monitorConnection:
                      type: string
                      format: uri
                    rotateLandscapeA3:
                      type: boolean
                    adjustStapleType:
                      type: boolean
                    colorType:
                      type: string
                    adjustPunchType:
                      type: boolean
                    type:
                      type: object
                      properties:
                        manufacturer:
                          type: string
                        model:
                          type: string
                        name:
                          type: string
                        pdl:
                          type: object
                          properties:
                            version:
                              type: string
                              format: utc-millisec
                            name:
                              type: string
                    config:
                      type: string
                    monitorMode:
                      type: string
                    server:
                      type: string
                    webUrl:
                      type: string
                      format: uri
                    connectionHostname:
                      type: string
                      format: ip-address
                runtime:
                  type: object
                  properties:
                    status:
                      type: string
                    currentPrintingJob:
                      type: string
                    lastPrintedJobTime:
                      type: integer
                    queuedJobs:
                      type: integer
                    redirectedTo:
                      type: object
                      properties:
                        targetPrinter:
                          type: string
                        targetServer:
                          type: string
    delete:
      summary: DELETE /v3/printers/:printerName
      responses:
        '200':
          description: 200 OK
        '401':
          description: 401 Unauthorized
        '403':
          description: 403 Forbidden
        '404':
          description: 404 Not Found
        '500':
          description: 500 Internal Server Error
  /v3/printers/{printerName}/checkPhysical:
    parameters:
      - name: printerName
        in: path
        required: true
        schema:
          type: string
    put:
      summary: PUT /v3/printers/:printerName/checkPhysical
      responses:
        '200':
          description: 200 OK
        '401':
          description: 401 Unauthorized
        '403':
          description: 403 Forbidden
        '404':
          description: 404 Not Found
        '500':
          description: 500 Internal Server Error
  /v3/printers/{printerName}/createTestJob:
    parameters:
      - name: printerName
        in: path
        required: true
        schema:
          type: string
    put:
      summary: PUT /v3/printers/:printerName/createTestJob
      responses:
        '200':
          description: 200 OK
        '401':
          description: 401 Unauthorized
        '403':
          description: 403 Forbidden
        '404':
          description: 404 Not Found
        '500':
          description: 500 Internal Server Error
  /v3/printers/{printerName}/logs:
    parameters:
      - name: printerName
        in: path
        required: true
        schema:
          type: string
    get:
      summary: GET /v3/printers/:printerName/logs
      responses:
        '200':
          description: 200 OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  messages:
                    type: array
                    items:
                      type: object
                      properties:
                        '@timestamp':
                          type: string
                          format: date-time
                        timestamp:
                          type: integer
                        level:
                          type: string
                        message:
                          type: string
                        metadata:
                          type: object
                        application:
                          type: object
                        host:
                          type: object
                          properties:
                            name:
                              type: string
                        id:
                          type: integer
        '401':
          description: 401 Unauthorized
        '403':
          description: 403 Forbidden
        '404':
          description: 404 Not Found
        '500':
          description: 500 Internal Server Error
  /v3/printers/{printerName}/message:
    parameters:
      - name: printerName
        in: path
        required: true
        schema:
          type: string
    put:
      summary: PUT /v3/printers/:printerName/message
      responses:
        '200':
          description: 200 OK
        '401':
          description: 401 Unauthorized
        '403':
          description: 403 Forbidden
        '404':
          description: 404 Not Found
        '500':
          description: 500 Internal Server Error
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                message:
                  type: object
                  properties:
                    message:
                      type: string
                    username:
                      type: string
                    date:
                      type: integer
    delete:
      summary: DELETE /v3/printers/:printerName/message
      responses:
        '200':
          description: 200 OK
        '401':
          description: 401 Unauthorized
        '403':
          description: 403 Forbidden
        '404':
          description: 404 Not Found
        '500':
          description: 500 Internal Server Error
  /v3/printers/{printerName}/pause:
    parameters:
      - name: printerName
        in: path
        required: true
        schema:
          type: string
    put:
      summary: PUT /v3/printers/:printerName/pause
      responses:
        '200':
          description: 200 OK
        '401':
          description: 401 Unauthorized
        '403':
          description: 403 Forbidden
        '404':
          description: 404 Not Found
        '412':
          description: 412 Precondition Failed
        '500':
          description: 500 Internal Server Error
  /v3/printers/{printerName}/redirect:
    parameters:
      - name: printerName
        in: path
        required: true
        schema:
          type: string
    put:
      summary: PUT /v3/printers/:printerName/redirect
      responses:
        '200':
          description: 200 OK
        '401':
          description: 401 Unauthorized
        '403':
          description: 403 Forbidden
        '404':
          description: 404 Not Found
        '412':
          description: 412 Precondition Failed
        '500':
          description: 500 Internal Server Error
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                targetPrinter:
                  type: string
                targetServer:
                  type: string
  /v3/printers/{printerName}/resume:
    parameters:
      - name: printerName
        in: path
        required: true
        schema:
          type: string
    put:
      summary: PUT /v3/printers/:printerName/resume
      responses:
        '200':
          description: 200 OK
        '401':
          description: 401 Unauthorized
        '403':
          description: 403 Forbidden
        '404':
          description: 404 Not Found
        '412':
          description: 412 Precondition Failed
        '500':
          description: 500 Internal Server Error
  /v3/printers/{printerName}/runtime:
    parameters:
      - name: printerName
        in: path
        required: true
        schema:
          type: string
    put:
      summary: PUT /v3/printers/:printerName/runtime
      responses:
        '200':
          description: 200 OK
        '401':
          description: 401 Unauthorized
        '403':
          description: 403 Forbidden
        '404':
          description: 404 Not Found
        '500':
          description: 500 Internal Server Error
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                status:
                  type: string
  /v3/printers/metadata:
    parameters: []
    get:
      summary: GET /v3/printers/metadata
      responses:
        '200':
          description: 200 OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
        '401':
          description: 401 Unauthorized
        '403':
          description: 403 Forbidden
        '404':
          description: 404 Not Found
        '500':
          description: 500 Internal Server Error
  /v3/statistics/job-count:
    parameters: []
    get:
      summary: GET /v3/statistics/job-count
      responses:
        '200':
          description: 200 OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    status:
                      type: string
                    count:
                      type: integer
        '401':
          description: 401 Unauthorized
        '403':
          description: 403 Forbidden
        '404':
          description: 404 Not Found
        '500':
          description: 500 Internal Server Error
  /v3/statistics/job-series:
    parameters: []
    get:
      summary: GET /v3/statistics/job-series
      responses:
        '200':
          description: 200 OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    status:
                      type: string
                    series:
                      type: array
                      items:
                        type: object
                        properties:
                          count:
                            type: integer
                          timestamp:
                            type: integer
        '401':
          description: 401 Unauthorized
        '403':
          description: 403 Forbidden
        '404':
          description: 404 Not Found
        '500':
          description: 500 Internal Server Error
  /v3/statistics/metadata:
    parameters: []
    get:
      summary: GET /v3/statistics/metadata
      responses:
        '200':
          description: 200 OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  rows:
                    type: integer
                  columns:
                    type: integer
                  availableWidgetSizes:
                    type: array
                    items:
                      type: array
                      items:
                        type: integer
                  widgets:
                    type: array
                    items:
                      type: object
                      properties:
                        type:
                          type: string
                        size:
                          type: array
                          items:
                            type: integer
                        pollingTime:
                          type: integer
                        states:
                          type: array
                          items:
                            type: string
        '401':
          description: 401 Unauthorized
        '403':
          description: 403 Forbidden
        '404':
          description: 404 Not Found
        '500':
          description: 500 Internal Server Error
  /v3/statistics/printer-count:
    parameters: []
    get:
      summary: GET /v3/statistics/printer-count
      responses:
        '200':
          description: 200 OK
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    status:
                      type: string
                    count:
                      type: integer
        '401':
          description: 401 Unauthorized
        '403':
          description: 403 Forbidden
        '404':
          description: 404 Not Found
        '500':
          description: 500 Internal Server Error
