---
title: "Replay one of this database's own backup files (server path) into it: exact name, a backup from the last hour and, from the dashboard, a recent sign-in; owner/admin only. Prefer POST /databases/{id}/backups/restore"
method: POST
path: "/databases/{databaseId}/restore"
tags: ["Databases"]
---

# Replay one of this database's own backup files (server path) into it: exact name, a backup from the last hour and, from the dashboard, a recent sign-in; owner/admin only. Prefer POST /databases/{id}/backups/restore

`POST /databases/{databaseId}/restore`

## Request

- Base URL: `https://hostingsurge.com/api/v1`
- URL: `https://hostingsurge.com/api/v1/databases/{databaseId}/restore`
- Auth: one of:
  - HTTP bearer
  - API key in cookie `__Host-hs_session`

## Path parameters

- `databaseId` string, uuid, required

## Request body

- object
  - `source` union, required: server-file with the path of one of this database's own backup files on the server (/data/coolify/backups/databases/…, e.g. brought back from the off-site copy). s3 sources are refused: restore a copy in backup storage with POST /databases/{id}/backups/restore
    - object
      - `type` 'server-file', required
      - `path` string, required
    - object
      - `type` 's3', required
      - `storageId` string, required
      - `path` string, required
  - `replaceExisting` boolean
  - `dumpAll` boolean
  - `confirm` string, required: must equal the database name. Needs a successful backup of this database from the last hour (take one with POST /databases/{id}/backups/run first) and, from the dashboard, a sign-in within the last 5 minutes

## Response `202`

Restore queued

- object
  - `importId` string, required
  - `state` 'queued' | 'running' | 'success' | 'failed', required
  - `exitCode` integer, nullable, required
  - `output` string, required
  - `finishedAt` string, nullable, required: ISO-8601 timestamp

## Other responses

- `400`: Invalid request (code invalid_request)
- `401`: Missing or invalid session/token (code unauthorized)
- `403`: Authenticated but not permitted (code forbidden)
- `404`: Not found or not visible to the caller (code not_found)
- `409`: Conflicting state (code conflict)
- `429`: Too many requests (code rate_limited); see Retry-After
- `503`: Hosting engine unavailable (code provider_unavailable)

---

[API](https://skmtc.dev/hostingsurge/apis/hostingsurge-platform-api.md) · [All operations](https://skmtc.dev/hostingsurge/apis/hostingsurge-platform-api/llms.txt) · [OpenAPI document](https://skmtc.dev/hostingsurge/apis/hostingsurge-platform-api/revisions/4d08337cdff1?raw)
