---
title: "Service: /dbmonitor [GET]"
source: https://dev.pageseeder.com/api/services/dbmonitor-GET.html
description: "The /dbmonitor GET service checks PageSeeder's database connectivity and system health. It returns status 200 if connected successfully, 502 for database errors, or 500 for internal errors, and reports initialization progress during upgrades."
last_updated: 2026-08-11T16:07:12+10:00
document_type: api_endpoint
operation_id: system-GET
resource_id: system
path_template: /dbmonitor
http_method: GET
api_category: system
implementation_version: 6.2000
api_since: 3.3300
deprecated_since: null
obsolete_since: null
api_support: experimental
cache_control: null
generated_at: 2025-08-04
tokens: ~778
---

# /dbmonitor \[GET\]

## Description

Tries to connect to the database using the current database settings or if PageSeeder is initializing returns progress information.

### Usage

Unless prevented by firewall or other network security, the DBMonitor URL is publicly accessible on any PageSeeder server as:

`/ps/api/dbmonitor`

While getting the standard response doesn’t mean the system is free from problems, not getting it guarantees there are problems.

Successfully getting a response means that PageSeeder’s key infrastructure (servlet container, web server, database) is live and communicating.

## Parameters

This service does not require any parameter.

## Permission

This service is public – no specific permissions are required.

## Response

All responses are text only (`text/plain`). HTTP Status codes can be used to help diagnosing problems.

### 200 OK

If DBMonitor is able to connect and use the PageSeeder database, it returns the HTTP status code 200 (OK) and a message. For example:

```xml
<monitor message="Connected to database and accessed a group OK"/>
```

It means that the DBMonitor was able to connect to the database using the current [database properties](../../guide/configuration/properties/database_properties.md) and that it was able to make a query.

If PageSeeder is being upgraded, it also returns the HTTP status code 200 (OK) but instead of a `@message` attribute it will contain a `<thread>` element with upgrade progress information. For example:

```xml
<monitor>
  <thread id="47eccb9932c590a449bb4b64ca8ea74f"
          name="Initializing PageSeeder"
          username=""
          groupid="-1"
          started="2025-04-01T15:58:54+11:00"
          status="inprogress">
    <message>Executing database update 620 to 630 MySQL</message>
    <progress total="8" current="5"/>
  </thread>
</monitor>
```

> **Note:** DBMonitor does not verify the integrity of the database. It can only assert that PageSeeder created a connection to the database successfully. A successful response doesn’t necessarily guarantee that the database is setup properly.

### 502 Bad Gateway

The HTTP status code 502 (Bad Gateway) is returned if there is any error related to the database. A message indicating the possible cause *might* be included in the response.

This error might occur because:

- The database properties are incorrect.
- The database service is not started.
- The database server is unreachable (if on a different host).
- The database server was not setup properly.

### 500 Internal Server Error

The HTTP status code 500 (Internal Server Error) is only returned if the DBMonitor itself is in an error state. This rarely occurs and it means that the DBMonitor is unable to provide any information about the system.

### Server Timeout / Unreachable

When no status code is returned, it might be indicative of a more serious problem such as:

- PageSeeder itself is not configured properly.
- PageSeeder is too busy and has become unresponsive.
- A network error (DNS, firewall, network security).
- The entire system is down.

## Error handling

See above.

