Health Check API

Streamwell provides an API endpoint that allows you to check the health of the server and some other helpful statistics 🩺

The endpoint is: /api/healthcheck.php

To run a healthcheck, send a GET or POST request containing a plaintext or base64-encoded "key" value that matches the system key you set when you installed Streamwell. For example, if your server is at 192.168.0.100 and your system key is "nevergonnagiveyouup", you would send a GET request to this URL (or visit it with a web browser):

http://192.168.0.100/api/healthcheck.php?key=bmV2ZXJnb25uYWdpdmV5b3V1cA

... or a POST request to the healthcheck endpoint with a JSON-encoded POST body of:

{"key":"nevergonnagiveyouup"}

The value can be plaintext or base64-encoded. You can also specify a HEALTHCHECK_KEY environment variable in your Docker compose file or run command if you want to use a separate key for the healthcheck.

Streamwell will validate your key then gather some statistics and check on a few things like:

1) The Apache, PHP and database services are running properly (we treat these as one service because they all need each other to do anything useful)

2) The streaming engine is online and responding (the star of the show)

If these conditions are true, you will receive a 200 response with some current statistics.

Sample response:

{
    "cpu_cores": 12,
    "cpu_load_percent": 3,
    "ram_total_kb": 8026484,
    "ram_total_gb": 8.03,
    "ram_used_kb": 1239776,
    "ram_used_percent": 15,
    "server_id": "D0CC078720CD48DCECC400DBD2ACE53B",
    "registered_user": "Demo",
    "live_streams": 0,
    "live_viewers": 0,
    "user_count": 1,
    "channel_count": 15,
    "startup_time": "Fri Oct 3 14:37:43 UTC 2025",
    "startup_timestamp": 1759502263,
    "version": "1.8.4 DEV",
    "version_date": "Fri Oct 3 14:37:43 UTC 2025",
    "version_date_timestamp": 1759502263
}

Otherwise, you would receive a 400 if the request did not include a key, 401 if the key is incorrect, and a 418 if the engine is offline. If you receive no response at all, there's a good chance that either your server or networking has gone offline entirely 😅

You can also view a nice-looking HTML version of the healthcheck by appending an argument of "&type=html" to the URL:

Hot tip: If you are looking for a self-hosted solution to monitor Streamwell, we recommend checking out Uptime Kuma on GitHub.

Last updated