Skip to content

Status API

The Status API allows you to check the health of your Qualytics deployment and manage the dataplane lifecycle programmatically.

Tip

For complete API documentation, including request/response schemas, visit the API docs.

All endpoints are served from your Qualytics deployment (e.g., https://your-instance.qualytics.io). The paths below include the /api prefix.


Get Platform Info

Retrieve the platform version, cloud provider, engine type, and deployment size.

Endpoint: GET /api

Permission: Member user role

Example request and response

Request:

curl -X GET "https://your-instance.qualytics.io/api" \
  -H "Authorization: Bearer YOUR_TOKEN"

Response:

{
  "application": "Qualytics",
  "description": "Data Quality Platform",
  "version": "20260404-5def6ae",
  "platform": "aws",
  "engine": "kubernetes",
  "size": "medium",
  "jwt_ttl_seconds": 3600
}

Response Schema

Field Type Description
application string The application name.
description string The application description.
version string The controlplane version, in date-based format.
platform string The cloud provider (e.g., aws, gcp, azure, local).
engine string The compute engine (e.g., kubernetes, databricks, local).
size string The deployment size (e.g., small, medium, large, xlarge).
jwt_ttl_seconds integer The JWT token time-to-live in seconds.

Info

For the UI equivalent, see the Platform Status — Details section.


Get Platform Status

Check the health of all backend services: database, RabbitMQ, dataplane, and private routes.

Endpoint: GET /api/status

Permission: Member user role

Example request and response

Request:

curl -X GET "https://your-instance.qualytics.io/api/status" \
  -H "Authorization: Bearer YOUR_TOKEN"

Response (healthy dataplane):

{
  "database_connection": "OK",
  "rabbitmq_connection": "OK",
  "dataplane_healthcheck": {
    "build_date": "2026-03-28",
    "implementation_version": "2.8.1",
    "git_hash": "60de4a5",
    "spark_version": "3.5.1",
    "driver_free_memory_mb": 4096,
    "max_executors": 8,
    "max_memory_per_executor_mb": 8192,
    "cores_per_executor": 4,
    "max_dataframe_size_mb": 2048,
    "thread_pool_parallelism": 16,
    "thread_pool_state": "2 running operations [op-48291, op-48305] with 3 queued requests and 8 provisioned channels"
  },
  "private_routes": {
    "healthcare-db.internal:5432": "OK",
    "hr-db.internal:3306": "OK"
  }
}

Response (unhealthy dataplane) — when the dataplane is unreachable, dataplane_healthcheck degrades to a simple "UNHEALTHY" string:

{
  "database_connection": "OK",
  "rabbitmq_connection": "OK",
  "dataplane_healthcheck": "UNHEALTHY"
}

Response Schema

Field Type Description
database_connection string Database connectivity status (OK or UNHEALTHY).
rabbitmq_connection string RabbitMQ connectivity status (OK or UNHEALTHY).
dataplane_healthcheck string or object Either UNHEALTHY (string) or a DataplaneStatus object with the fields below.
private_routes object or null Dictionary of host:port to status message. Only present when private connections exist.

DataplaneStatus Fields

Field Type Description
build_date string The date the dataplane was built.
implementation_version string The version of the dataplane.
git_hash string The git commit hash of the dataplane build.
spark_version string The Apache Spark version.
driver_free_memory_mb integer Free memory available on the Spark driver (in MB).
max_executors integer Maximum number of executor nodes.
max_memory_per_executor_mb integer Maximum memory per executor (in MB).
cores_per_executor integer Number of CPU cores per executor.
max_dataframe_size_mb integer Maximum dataframe size (in MB).
thread_pool_parallelism integer Thread pool parallelism level.
thread_pool_state string Current thread pool state with running operations, queued requests, and provisioned channels.

Note

The git_hash, driver_free_memory_mb, and thread_pool_parallelism fields are available only through the API and are not displayed in the UI.

Info

For the UI equivalent, see the Platform Status page.


Restart Dataplane

Send a graceful shutdown signal to the dataplane. In a properly configured deployment, this triggers an immediate restart of the engine.

Endpoint: PUT /api/admin/restart

Permission: Admin user role

Note

This endpoint does not require a request body. The restart is triggered by the request itself — the controlplane sends a shutdown message to the dataplane through RabbitMQ, and the orchestration platform (Kubernetes, Databricks) handles the actual restart.

Example request

Request:

curl -X PUT "https://your-instance.qualytics.io/api/admin/restart" \
  -H "Authorization: Bearer YOUR_TOKEN"

Response: 200 OK (empty body)

Warning

Restarting the dataplane interrupts all in-flight operations. See Restart Dataplane for details on the impact.

Info

The endpoint returns 200 OK once the shutdown message is sent — it does not wait for the restart to complete. There is no check for an in-progress restart, so calling this endpoint multiple times will send multiple shutdown signals. Use GET /api/status to poll the dataplane health after triggering a restart.


Error Responses

Status Code Description
401 Unauthorized Missing or invalid API token.
403 Forbidden User does not have the required role.
Error response examples

403 Forbidden:

{ "detail": "Not enough permissions" }

Permission Summary

Operation Minimum Permission
Get platform info Member user role
Get platform status Member user role
Restart dataplane Admin user role

Note

The Status page in the UI requires the Manager role to access, but the underlying API endpoints (GET /api and GET /api/status) only require the Member role. See the Permissions page for details.