Kiteworks system API
The system API from Kiteworks — 6 operation(s) for system.
The system API from Kiteworks — 6 operation(s) for system.
openapi: 3.0.2
info:
version: '28'
title: Kiteworks API Documentation activities system API
tags:
- name: system
paths:
/rest/nodeHealth/status:
get:
summary: Get node health status for system monitoring
description: "### Description:\n Retrieves node health status information for system components including MariaDB cluster status, required services status, memory usage, and system load average.\n### Precondition:\n This endpoint is restricted by IP whitelist and rate limiting.\n### Response:\n Returns the overall node health status.\n"
tags:
- system
responses:
'200':
description: Node health status returned successfully - all components are healthy.
content:
application/json:
schema:
$ref: '#/components/schemas/NodeHealthStatusResponse'
example:
ok: 1
'503':
description: Service unavailable - one or more components are unhealthy.
content:
application/json:
schema:
$ref: '#/components/schemas/NodeHealthStatusResponse'
example:
ok: 0
'490':
description: Request blocked by WAF
'500':
description: ERR_INTERNAL_SERVER_ERROR
/rest/system/epgdb/import/{id}:
post:
summary: Upload EPGDB backup chunk for database restore
description: Endpoint for uploading a chunk to an existing EPGDB backup upload session, identified by its session ID.
tags:
- system
parameters:
- in: path
name: id
required: true
description: The upload session ID
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/EpgdbImportRequest'
responses:
'200':
description: Successfully received the upload
content:
application/json:
schema:
$ref: '#/components/schemas/EpgdbImportPost'
'401':
description: 'Unauthorized<br /><br /><i>Possible error codes: </i>ERR_AUTH_INVALID_CSRF, ERR_AUTH_UNAUTHORIZED'
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
examples:
ERR_AUTH_INVALID_CSRF:
summary: Invalid CSRF Authentication
description: Invalid CSRF Authentication
value:
errors:
- code: ERR_AUTH_INVALID_CSRF
message: Invalid CSRF Authentication
ERR_AUTH_UNAUTHORIZED:
summary: Unauthorized
description: Unauthorized
value:
errors:
- code: ERR_AUTH_UNAUTHORIZED
message: Unauthorized
'403':
description: 'Forbidden<br /><br /><i>Possible error codes: </i>ERR_ACCESS_DENIED, ERR_ACCESS_USER'
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
examples:
ERR_ACCESS_DENIED:
summary: Your access is denied.
description: Your access is denied.
value:
errors:
- code: ERR_ACCESS_DENIED
message: Your access is denied.
redirectUrl: /login?code=3317
ERR_ACCESS_USER:
summary: Insufficient access permissions
description: Insufficient access permissions
value:
errors:
- code: ERR_ACCESS_USER
message: Insufficient access permissions
'422':
description: 'Unprocessable Content<br /><br /><i>Possible error codes: </i>ERR_INVALID_PARAMETER, ERR_FILE_TOO_LARGE'
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
examples:
ERR_INVALID_PARAMETER:
summary: Invalid Parameter Exception
description: Invalid Parameter Exception
value:
errors:
- code: ERR_INVALID_PARAMETER
message: Invalid Parameter Exception
ERR_FILE_TOO_LARGE:
summary: Size of the file exceeds the allowed limit.
description: Size of the file exceeds the allowed limit.
value:
errors:
- code: ERR_FILE_TOO_LARGE
message: Size of the file exceeds the allowed limit.
'503':
description: 'Service Unavailable<br /><br /><i>Possible error codes: </i>ERR_SESSION_LIMIT_REACHED, ERR_UPLOAD_CHUNK_FAILED'
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
examples:
ERR_SESSION_LIMIT_REACHED:
summary: Session limit reached. Unable to create a new session.
description: Session limit reached. Unable to create a new session.
value:
errors:
- code: ERR_SESSION_LIMIT_REACHED
message: Session limit reached. Unable to create a new session.
ERR_UPLOAD_CHUNK_FAILED:
summary: Upload chunk failed.
description: Upload chunk failed.
value:
errors:
- code: ERR_UPLOAD_CHUNK_FAILED
message: Upload chunk failed.
'507':
description: 'Insufficient Storage<br /><br /><i>Possible error codes: </i>ERR_INSUFFICIENT_DISK_SPACE'
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
examples:
ERR_INSUFFICIENT_DISK_SPACE:
summary: Server does not have enough storage to process the upload.
description: Server does not have enough storage to process the upload.
value:
errors:
- code: ERR_INSUFFICIENT_DISK_SPACE
message: Server does not have enough storage to process the upload.
'490':
description: Request blocked by WAF
/rest/system/epgdb/import:
post:
summary: Upload EPGDB backup for database restore
description: Endpoint for uploading an EPGDB backup for restoring the database. Starts a new upload session.
tags:
- system
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/EpgdbImportRequest'
responses:
'200':
description: Successfully received the upload
content:
application/json:
schema:
$ref: '#/components/schemas/EpgdbImportPost'
'401':
description: 'Unauthorized<br /><br /><i>Possible error codes: </i>ERR_AUTH_INVALID_CSRF, ERR_AUTH_UNAUTHORIZED'
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
examples:
ERR_AUTH_INVALID_CSRF:
summary: Invalid CSRF Authentication
description: Invalid CSRF Authentication
value:
errors:
- code: ERR_AUTH_INVALID_CSRF
message: Invalid CSRF Authentication
ERR_AUTH_UNAUTHORIZED:
summary: Unauthorized
description: Unauthorized
value:
errors:
- code: ERR_AUTH_UNAUTHORIZED
message: Unauthorized
'403':
description: 'Forbidden<br /><br /><i>Possible error codes: </i>ERR_ACCESS_DENIED, ERR_ACCESS_USER'
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
examples:
ERR_ACCESS_DENIED:
summary: Your access is denied.
description: Your access is denied.
value:
errors:
- code: ERR_ACCESS_DENIED
message: Your access is denied.
redirectUrl: /login?code=3317
ERR_ACCESS_USER:
summary: Insufficient access permissions
description: Insufficient access permissions
value:
errors:
- code: ERR_ACCESS_USER
message: Insufficient access permissions
'422':
description: 'Unprocessable Content<br /><br /><i>Possible error codes: </i>ERR_INVALID_PARAMETER, ERR_FILE_TOO_LARGE'
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
examples:
ERR_INVALID_PARAMETER:
summary: Invalid Parameter Exception
description: Invalid Parameter Exception
value:
errors:
- code: ERR_INVALID_PARAMETER
message: Invalid Parameter Exception
ERR_FILE_TOO_LARGE:
summary: Size of the file exceeds the allowed limit.
description: Size of the file exceeds the allowed limit.
value:
errors:
- code: ERR_FILE_TOO_LARGE
message: Size of the file exceeds the allowed limit.
'503':
description: 'Service Unavailable<br /><br /><i>Possible error codes: </i>ERR_SESSION_LIMIT_REACHED, ERR_UPLOAD_CHUNK_FAILED'
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
examples:
ERR_SESSION_LIMIT_REACHED:
summary: Session limit reached. Unable to create a new session.
description: Session limit reached. Unable to create a new session.
value:
errors:
- code: ERR_SESSION_LIMIT_REACHED
message: Session limit reached. Unable to create a new session.
ERR_UPLOAD_CHUNK_FAILED:
summary: Upload chunk failed.
description: Upload chunk failed.
value:
errors:
- code: ERR_UPLOAD_CHUNK_FAILED
message: Upload chunk failed.
'507':
description: 'Insufficient Storage<br /><br /><i>Possible error codes: </i>ERR_INSUFFICIENT_DISK_SPACE'
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
examples:
ERR_INSUFFICIENT_DISK_SPACE:
summary: Server does not have enough storage to process the upload.
description: Server does not have enough storage to process the upload.
value:
errors:
- code: ERR_INSUFFICIENT_DISK_SPACE
message: Server does not have enough storage to process the upload.
'490':
description: Request blocked by WAF
get:
summary: Get EPGDB import status
description: Endpoint for polling the status of the import
tags:
- system
responses:
'200':
description: Successfully returned the import status
'401':
description: 'Unauthorized<br /><br /><i>Possible error codes: </i>ERR_AUTH_INVALID_CSRF, ERR_AUTH_UNAUTHORIZED'
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
examples:
ERR_AUTH_INVALID_CSRF:
summary: Invalid CSRF Authentication
description: Invalid CSRF Authentication
value:
errors:
- code: ERR_AUTH_INVALID_CSRF
message: Invalid CSRF Authentication
ERR_AUTH_UNAUTHORIZED:
summary: Unauthorized
description: Unauthorized
value:
errors:
- code: ERR_AUTH_UNAUTHORIZED
message: Unauthorized
'403':
description: 'Forbidden<br /><br /><i>Possible error codes: </i>ERR_ACCESS_DENIED, ERR_ACCESS_USER'
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
examples:
ERR_ACCESS_DENIED:
summary: Your access is denied.
description: Your access is denied.
value:
errors:
- code: ERR_ACCESS_DENIED
message: Your access is denied.
redirectUrl: /login?code=3317
ERR_ACCESS_USER:
summary: Insufficient access permissions
description: Insufficient access permissions
value:
errors:
- code: ERR_ACCESS_USER
message: Insufficient access permissions
'422':
description: 'Unprocessable Content<br /><br /><i>Possible error codes: </i>ERR_INVALID_PARAMETER'
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
examples:
ERR_INVALID_PARAMETER:
summary: Invalid Parameter Exception
description: Invalid Parameter Exception
value:
errors:
- code: ERR_INVALID_PARAMETER
message: Invalid Parameter Exception
'490':
description: Request blocked by WAF
delete:
summary: Cancel active EPGDB import session
description: Endpoint for cancelling the current active import session
tags:
- system
responses:
'200':
description: Successfully deleted the session
'401':
description: 'Unauthorized<br /><br /><i>Possible error codes: </i>ERR_AUTH_INVALID_CSRF, ERR_AUTH_UNAUTHORIZED'
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
examples:
ERR_AUTH_INVALID_CSRF:
summary: Invalid CSRF Authentication
description: Invalid CSRF Authentication
value:
errors:
- code: ERR_AUTH_INVALID_CSRF
message: Invalid CSRF Authentication
ERR_AUTH_UNAUTHORIZED:
summary: Unauthorized
description: Unauthorized
value:
errors:
- code: ERR_AUTH_UNAUTHORIZED
message: Unauthorized
'403':
description: 'Forbidden<br /><br /><i>Possible error codes: </i>ERR_ACCESS_DENIED, ERR_ACCESS_USER'
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
examples:
ERR_ACCESS_DENIED:
summary: Your access is denied.
description: Your access is denied.
value:
errors:
- code: ERR_ACCESS_DENIED
message: Your access is denied.
redirectUrl: /login?code=3317
ERR_ACCESS_USER:
summary: Insufficient access permissions
description: Insufficient access permissions
value:
errors:
- code: ERR_ACCESS_USER
message: Insufficient access permissions
'490':
description: Request blocked by WAF
/rest/system/epgdb/export/{filename}:
get:
summary: Download EPGDB export file
description: Get EPGDB export download
tags:
- system
parameters:
- in: path
name: filename
required: true
description: The name of the EPGDB export file to download.
schema:
type: string
responses:
'200':
description: EPGDB export download
'401':
description: 'Unauthorized<br /><br /><i>Possible error codes: </i>ERR_AUTH_INVALID_CSRF, ERR_AUTH_UNAUTHORIZED'
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
examples:
ERR_AUTH_INVALID_CSRF:
summary: Invalid CSRF Authentication
description: Invalid CSRF Authentication
value:
errors:
- code: ERR_AUTH_INVALID_CSRF
message: Invalid CSRF Authentication
ERR_AUTH_UNAUTHORIZED:
summary: Unauthorized
description: Unauthorized
value:
errors:
- code: ERR_AUTH_UNAUTHORIZED
message: Unauthorized
'403':
description: 'Forbidden<br /><br /><i>Possible error codes: </i>ERR_ACCESS_DENIED, ERR_ACCESS_USER, ERR_DB_BACKUP_FAILED'
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
examples:
ERR_ACCESS_DENIED:
summary: Your access is denied.
description: Your access is denied.
value:
errors:
- code: ERR_ACCESS_DENIED
message: Your access is denied.
redirectUrl: /login?code=3317
ERR_ACCESS_USER:
summary: Insufficient access permissions
description: Insufficient access permissions
value:
errors:
- code: ERR_ACCESS_USER
message: Insufficient access permissions
ERR_DB_BACKUP_FAILED:
summary: Database backup failed due to an unexpected error
description: Database backup failed due to an unexpected error
value:
errors:
- code: ERR_DB_BACKUP_FAILED
message: Database backup failed due to an unexpected error
'490':
description: Request blocked by WAF
/rest/system/epgdb/export:
post:
summary: Start EPGDB export
description: Start EPGDB export with precheck validation
tags:
- system
responses:
'200':
description: EPGDB export started successfully
'401':
description: 'Unauthorized<br /><br /><i>Possible error codes: </i>ERR_AUTH_INVALID_CSRF, ERR_AUTH_UNAUTHORIZED'
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
examples:
ERR_AUTH_INVALID_CSRF:
summary: Invalid CSRF Authentication
description: Invalid CSRF Authentication
value:
errors:
- code: ERR_AUTH_INVALID_CSRF
message: Invalid CSRF Authentication
ERR_AUTH_UNAUTHORIZED:
summary: Unauthorized
description: Unauthorized
value:
errors:
- code: ERR_AUTH_UNAUTHORIZED
message: Unauthorized
'403':
description: 'Forbidden<br /><br /><i>Possible error codes: </i>ERR_ACCESS_DENIED, ERR_ACCESS_USER, ERR_JOB_IN_PROGRESS'
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
examples:
ERR_ACCESS_DENIED:
summary: Your access is denied.
description: Your access is denied.
value:
errors:
- code: ERR_ACCESS_DENIED
message: Your access is denied.
redirectUrl: /login?code=3317
ERR_ACCESS_USER:
summary: Insufficient access permissions
description: Insufficient access permissions
value:
errors:
- code: ERR_ACCESS_USER
message: Insufficient access permissions
ERR_JOB_IN_PROGRESS:
summary: The job is currently still in progress
description: The job is currently still in progress
value:
errors:
- code: ERR_JOB_IN_PROGRESS
message: The job is currently still in progress
'404':
description: 'Not Found<br /><br /><i>Possible error codes: </i>ERR_EPGDB_NOT_FOUND'
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
examples:
ERR_EPGDB_NOT_FOUND:
summary: Failed to locate EPGDB
description: Failed to locate EPGDB
value:
errors:
- code: ERR_EPGDB_NOT_FOUND
message: Failed to locate EPGDB
'507':
description: 'Insufficient Storage<br /><br /><i>Possible error codes: </i>ERR_INSUFFICIENT_TMP_STORAGE'
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
examples:
ERR_INSUFFICIENT_TMP_STORAGE:
summary: Insufficient storage space in the Tmp storage partition
description: Insufficient storage space in the Tmp storage partition
value:
errors:
- code: ERR_INSUFFICIENT_TMP_STORAGE
message: Insufficient storage space in the Tmp storage partition
'490':
description: Request blocked by WAF
get:
summary: Get EPGDB export status
description: Get EPGDB export status
tags:
- system
responses:
'200':
description: EPGDB export status returned successfully
'401':
description: 'Unauthorized<br /><br /><i>Possible error codes: </i>ERR_AUTH_INVALID_CSRF, ERR_AUTH_UNAUTHORIZED'
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
examples:
ERR_AUTH_INVALID_CSRF:
summary: Invalid CSRF Authentication
description: Invalid CSRF Authentication
value:
errors:
- code: ERR_AUTH_INVALID_CSRF
message: Invalid CSRF Authentication
ERR_AUTH_UNAUTHORIZED:
summary: Unauthorized
description: Unauthorized
value:
errors:
- code: ERR_AUTH_UNAUTHORIZED
message: Unauthorized
'403':
description: 'Forbidden<br /><br /><i>Possible error codes: </i>ERR_ACCESS_DENIED, ERR_ACCESS_USER'
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
examples:
ERR_ACCESS_DENIED:
summary: Your access is denied.
description: Your access is denied.
value:
errors:
- code: ERR_ACCESS_DENIED
message: Your access is denied.
redirectUrl: /login?code=3317
ERR_ACCESS_USER:
summary: Insufficient access permissions
description: Insufficient access permissions
value:
errors:
- code: ERR_ACCESS_USER
message: Insufficient access permissions
'490':
description: Request blocked by WAF
delete:
summary: Perform cleanup for EPGDB export
description: Perform cleanup for EPGDB export
tags:
- system
responses:
'200':
description: Delete EPGDB export
'401':
description: 'Unauthorized<br /><br /><i>Possible error codes: </i>ERR_AUTH_INVALID_CSRF, ERR_AUTH_UNAUTHORIZED'
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
examples:
ERR_AUTH_INVALID_CSRF:
summary: Invalid CSRF Authentication
description: Invalid CSRF Authentication
value:
errors:
- code: ERR_AUTH_INVALID_CSRF
message: Invalid CSRF Authentication
ERR_AUTH_UNAUTHORIZED:
summary: Unauthorized
description: Unauthorized
value:
errors:
- code: ERR_AUTH_UNAUTHORIZED
message: Unauthorized
'403':
description: 'Forbidden<br /><br /><i>Possible error codes: </i>ERR_ACCESS_DENIED, ERR_ACCESS_USER, ERR_JOB_IN_PROGRESS'
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
examples:
ERR_ACCESS_DENIED:
summary: Your access is denied.
description: Your access is denied.
value:
errors:
- code: ERR_ACCESS_DENIED
message: Your access is denied.
redirectUrl: /login?code=3317
ERR_ACCESS_USER:
summary: Insufficient access permissions
description: Insufficient access permissions
value:
errors:
- code: ERR_ACCESS_USER
message: Insufficient access permissions
ERR_JOB_IN_PROGRESS:
summary: The job is currently still in progress
description: The job is currently still in progress
value:
errors:
- code: ERR_JOB_IN_PROGRESS
message: The job is currently still in progress
'490':
description: Request blocked by WAF
/rest/nodeHealth/{node_id}/metrics/{metric_name}:
get:
summary: Get node health metrics for specified metric type
description: "### Description:\n Retrieves health metrics for database, web requests, job queue, SFTP, system resources, or all metrics.\n### Precondition:\n The user must be an administrator with access to `System Services`.\n### Response:\n Returns the list of metrics for the specified metric type.\n"
tags:
- system
parameters:
- in: path
name: node_id
required: true
schema:
type: string
description: Kiteworks node id to retrieve metrics from.
- in: path
name: metric_name
required: true
schema:
type: string
enum:
- kwDatabase
- webRequests
- jobqueued
- sftp
- systemResources
- diskSpace
- mailQueues
- allMetrics
description: The type of metric to retrieve.
responses:
'200':
description: The node health metrics have been successfully returned.
content:
application/json:
schema:
$ref: '#/components/schemas/NodeHealthMetricResponse'
'401':
description: 'Unauthorized<br /><br /><i>Possible error codes: </i>ERR_ACCESS_USER, ERR_AUTH_INVALID_CSRF, ERR_AUTH_UNAUTHORIZED'
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
examples:
ERR_ACCESS_USER:
summary: Insufficient access permissions
description: Insufficient access permissions
value:
errors:
- code: ERR_ACCESS_USER
message: Insufficient access permissions
ERR_AUTH_INVALID_CSRF:
summary: Invalid CSRF Authentication
description: Invalid CSRF Authentication
value:
errors:
- code: ERR_AUTH_INVALID_CSRF
message: Invalid CSRF Authentication
ERR_AUTH_UNAUTHORIZED:
summary: Unauthorized
description: Unauthorized
value:
errors:
- code: ERR_AUTH_UNAUTHORIZED
message: Unauthorized
'422':
description: 'Unprocessable Content<br /><br /><i>Possible error codes: </i>ERR_INVALID_PARAMETER'
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
examples:
ERR_INVALID_PARAMETER:
summary: Invalid Parameter Exception
description: Invalid Parameter Exception
value:
errors:
- code: ERR_INVALID_PARAMETER
message: Invalid Parameter Exception
'500':
description: 'Internal Server Error<br /><br /><i>Possible error codes: </i>ERR_INTERNAL_SERVER_ERROR'
content:
application/json:
schema:
$ref: '#/components/schemas/Errors'
examples:
ERR_INTERNAL_SERVER_ERROR:
summary: Internal Server Error
description: Internal Server Error
value:
errors:
- code: ERR_INTERNAL_SERVER_ERROR
message: Internal Server Error
'490':
description: Request blocked by WAF
components:
schemas:
Errors:
type: object
properties:
error:
type: array
items:
$ref: '#/components/schemas/Error'
WebRequestsMetric:
type: object
properties:
status:
type: string
enum:
- unknown
- abnormal
- warn
- running
- stopped
description: The Nginx service status.<br>`active` – Service is running.<br>`inactive` – Service is not running.
active_connections:
type: integer
description: Real-time number of active connections to the local Nginx instance.
reading:
type: integer
description: Real-time number of connections currently reading the request header.
writing:
type: integer
description: Real-time number of connections currently writing a response.
connection_efficiency:
type: number
description: Ratio of handled connections to accepted connections.
avg_requests_per_connection:
type: number
description: Ratio of total requests to handled connections.
NodeHealthMetricResponse:
type: object
properties:
kw_database:
nullable: true
description: Database health metrics. Present when `metric_name` is `kwDatabase` or `allMetrics`.
allOf:
- $ref: '#/components/schemas/KwDatabaseMetric'
web_requests:
nullable: true
description: Web request health metrics. Present when `metric_name` is `webRe
# --- truncated at 32 KB (37 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/kiteworks/refs/heads/main/openapi/kiteworks-system-api-openapi.yml