Reload service

Gracefully reloads a service on your server without dropping in-flight connections, making it safe for automated workflows such as SSL renewals and deploys. Possible values: "nginx", "database", "supervisor".


POST/api/servers/{server}/services/{service}/reload

Reload a service

This endpoint allows you to gracefully reload a specific service on your server.

Under the hood, this runs:

  • nginxservice nginx reload (reloads configuration without dropping connections)
  • supervisorsupervisorctl reread && supervisorctl update (re-reads configuration and applies changes)
  • database — automatically targets whichever database engine the server is running:
    • PostgreSQLservice postgresql reload (real graceful reload via SIGHUP)
    • MySQL / MariaDB — falls back to a full restart (no graceful reload available). The response will include "fallback": true.
    • Servers without a database installed (database_type: "none") receive a 422 response.

Required scopes

Manage servers

Response fields

  • Name
    message
    Type
    string
    Description

    Human-readable description of the action that was performed.

  • Name
    fallback
    Type
    boolean
    Description

    true when the service does not support a graceful reload and a full restart was performed instead. false for services that were genuinely reloaded without dropping connections.

Request

POST
/api/servers/{server}/services/{service}/reload
curl -X POST "https://ploi.io/api/servers/{server}/services/{service}/reload" \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json"

Response

{
  "message": "Service nginx reloaded",
  "fallback": false
}

Response (fallback)

{
  "message": "Service database reloaded (fallback to restart)",
  "fallback": true
}