Skip to content

Health check

GET
/health
curl --request GET \
--url 'https://example.com/api/v1/health?verbose=false'

Returns the health status of the application and its components.

Status values:

  • healthy: All components functioning normally
  • degraded: Core functionality works but some components have issues
  • unhealthy: Core functionality is broken

Use ?verbose=true for detailed component information.

verbose
boolean

Include detailed component information

Health check response

Media typeapplication/json
object
status
required

Overall health status

string
Allowed values: healthy degraded unhealthy
timestamp
required

Current server time

string format: date-time
version
required

Application version

string
uptime
required

Server uptime in seconds

integer
components
required
object
sqlite
required
object
status
required

Individual component health status

string
Allowed values: healthy degraded unhealthy
responseTimeMs
required

Database query response time in milliseconds

number
migration
required

Current migration version

integer
message

Error message if unhealthy

string
repos
required
object
status
required

Individual component health status

string
Allowed values: healthy degraded unhealthy
message

Additional status information

string
total

Total number of PCD repos configured (verbose only)

integer
enabled

Number of enabled repos (verbose only)

integer
cached

Number of repos with compiled cache (verbose only)

integer
disabled

Number of disabled repos (verbose only)

integer
jobs
required
object
status
required

Individual component health status

string
Allowed values: healthy degraded unhealthy
message

Additional status information

string
lastRun

Last run time for each job (verbose only)

object
key
additional properties
string format: date-time
nullable
backups
required
object
status
required

Individual component health status

string
Allowed values: healthy degraded unhealthy
enabled
required

Whether backups are enabled

boolean
message

Additional status information

string
lastBackup

Timestamp of last backup (verbose only)

string format: date-time
nullable
count

Number of backup files (verbose only)

integer
totalSize

Human-readable total size of all backups (verbose only)

string
retentionDays

Configured retention period in days (verbose only)

integer
logs
required
object
status
required

Individual component health status

string
Allowed values: healthy degraded unhealthy
message

Additional status information

string
totalSize

Human-readable total size of log files (verbose only)

string
fileCount

Number of log files (verbose only)

integer
oldestLog

Date of oldest log file (verbose only)

string format: date
nullable
newestLog

Date of newest log file (verbose only)

string format: date
nullable
Example
{
"status": "healthy",
"components": {
"sqlite": {
"status": "healthy"
},
"repos": {
"status": "healthy"
},
"jobs": {
"status": "healthy"
},
"backups": {
"status": "healthy"
},
"logs": {
"status": "healthy"
}
}
}