External Services

Upgrade external service to new Docker image with data migration This endpoint uses service-specific upgrade procedures (e.g., pg_upgrade for PostgreSQL)

Changed on
post/external-services/{id}/upgrade

Request

  • Base URL: /api (relative, and the document was published on a file host, not at the API’s origin)
  • URL: /api/external-services/{id}/upgrade
  • Auth: none declared

Path parameters

idinteger required

External service ID

Request body

docker_imagestring required

Docker image to upgrade to (e.g., "gotempsh/postgres-walg:18-bookworm") This will trigger pg_upgrade for PostgreSQL or equivalent upgrade procedures for other services

Example request

{
  "docker_image": "gotempsh/postgres-walg:18-bookworm"
}

Response

Service upgraded successfully

connection_infostring nullable
continuous_archive_pinned_atstring nullable

When continuous_archive_s3_source_id was last set. Null alongside a non-null source id means it was set by the original provisioning flow rather than an explicit repoint.

continuous_archive_s3_source_idinteger nullable

S3 source ID that this service's continuous archiving (Postgres/ Timescale WAL-G archive_command, or MariaDB's binlog shipper) currently writes to. Null for service types with no continuous archiving concept, or a Postgres/MariaDB service that has never had one provisioned. Change it with repoint_continuous_archive_source.

created_atstring required
error_messagestring nullable

Error message from failed initialization.

idinteger required
metrics_enabledboolean

Whether metric collection is enabled for this service. The UI uses this to decide whether to poll the monitoring endpoints.

namestring required
node_idinteger nullable

Node ID where the service runs. Null means control plane (local).

service_type'mariadb' | 'mongodb' | 'postgres' | 'redis' | 's3' | 'kv' | 'blob' | 'rustfs' | 'minio' required
statusstring required
topologystring required

Service topology: "standalone" (single container) or "cluster" (HA multi-member).

updated_atstring required
versionstring nullable

Example response

{
  "topology": "standalone"
}

Changes