For the complete documentation index, see llms.txt. This page is also available as Markdown.

Database

List database presets

get

Returns the Dispack catalog of available engines (versions, ports, volumes), random name/password suggestions, and per-engine vars with required/optional env keys plus fromSuggestions (suggested* → env) so clients can build the POST /database body without hardcoding env names.

Authorizations
api-tokenstringRequired
Responses
200

Presets loaded successfully

application/json
objectOptional
get/database/presets

Create database

post

Starts asynchronous provisioning of a managed database. Returns HTTP 200 immediately with the new id. Poll GET /database/{dbID} until the resource exists and is online. Minimum plan Diamond (4). Optional projectID bills quota to the project owner and requires project admin access.

Authorizations
api-tokenstringRequired
Body
displayNamestringRequired

Friendly name (required)

totalRaminteger · min: 100Required

RAM in MB (minimum 100)

projectIDstringOptional

Optional project to link

autoRestartbooleanOptional
Responses
200

Creation started

application/json
objectOptional
post/database

Database details and status

get

Returns live container status plus plaintext vars (decrypted). Same access model as the dashboard: owner or team member with access to the linked project.

Authorizations
api-tokenstringRequired
Path parameters
dbIDstringRequired

Database ID

Responses
200

Database status loaded

application/json
objectOptional
get/database/{dbID}

Delete database

delete

Permanently removes the database record and its infrastructure. Requires delete_app.

Authorizations
api-tokenstringRequired
Path parameters
dbIDstringRequired

Database ID

Responses
200

Database deleted

application/json
objectOptional
delete/database/{dbID}

Update database

patch

Updates displayName, hostname and/or totalRam. Requires commit_app; changing totalRam also requires edit_ram. Hostname requires owner plan > 3. Changing hostname or RAM triggers an async infrastructure rebuild (rebuilding=true + opId); poll GET /database/{dbID}.

Authorizations
api-tokenstringRequired
Path parameters
dbIDstringRequired

Database ID

Body
displayNamestringOptional
hostnamestringOptional

Private hostname (1–2 segments a-z0-9_ joined by -, max 25)

totalRaminteger · min: 100 · max: 16384Optional
Responses
200

Database updated (optionally rebuilding)

application/json
objectOptional
patch/database/{dbID}

Start database

put

Starts the database container. Requires start_app. Subject to RAM/slot checks.

Authorizations
api-tokenstringRequired
Path parameters
dbIDstringRequired

Database ID

Responses
200

Started (or already running with status error)

application/json
objectOptional
put/database/{dbID}/start

Stop database

put

Stops the database container. Requires stop_app.

Authorizations
api-tokenstringRequired
Path parameters
dbIDstringRequired

Database ID

Responses
200

Stopped (or already stopped with status error)

application/json
objectOptional
put/database/{dbID}/stop

Restart database

put

Restarts the database container. Requires restart_app.

Authorizations
api-tokenstringRequired
Path parameters
dbIDstringRequired

Database ID

Responses
200

Restarted successfully

application/json
objectOptional
put/database/{dbID}/restart

Create database backup

post

Creates a backup of the managed database (synchronous). Requires backup_app. Returns download metadata; S3 keys are stripped from the response.

Authorizations
api-tokenstringRequired
Path parameters
dbIDstringRequired

Database ID

Body
gzipbooleanOptionalDefault: true
Responses
200

Backup created

application/json
objectOptional
post/database/{dbID}/backup

List database backups

get

Lists backups stored in S3 for this database. Requires status_app.

Authorizations
api-tokenstringRequired
Path parameters
dbIDstringRequired

Database ID

Query parameters
limitintegerOptional

Page size (1–1000, default 50). Alias maxKeys also accepted.

cursorstringOptional

Continuation token from a previous response

detailstring · enumOptional

minimal (default) or full

Possible values:
Responses
200

Backups listed

application/json
objectOptional
get/database/{dbID}/backups

Get backup download URL

get

Returns a presigned URL for the backup dump. Requires backup_app.

Authorizations
api-tokenstringRequired
Path parameters
dbIDstringRequired

Database ID

backupIdstringRequired

Backup ID

Query parameters
expiresInDaysinteger · min: 1 · max: 14Optional

URL validity in days (1–14)

Responses
200

Download URL generated

application/json
objectOptional
get/database/{dbID}/backups/{backupId}/download

Restore backup as a new database

post

Creates a new managed database from an existing backup (asynchronous). Requires backup_app on the source database. Minimum plan Diamond (4). Returns the new id immediately; poll GET /database/{id}.

Authorizations
api-tokenstringRequired
Path parameters
dbIDstringRequired

Source database ID (backup owner)

Body
backupIdstringRequired
totalRaminteger · min: 100Required
displayNamestringOptional
projectIDstringOptional
varsEncryptedstringOptional

Mutually exclusive with vars

autoRestartbooleanOptional
Responses
200

Restore started

application/json
objectOptional
post/database/{dbID}/restore

Get database logs

get

Returns recent container logs (same shape as app logs). Requires logs_app.

Authorizations
api-tokenstringRequired
Path parameters
dbIDstringRequired

Database ID

Responses
200

Logs loaded

application/json
objectOptional
get/database/{dbID}/logs

Delete database logs

delete

Purges stored logs for the database. Requires logs_app.

Authorizations
api-tokenstringRequired
Path parameters
dbIDstringRequired

Database ID

Responses
200

Logs deleted

application/json
objectOptional
delete/database/{dbID}/logs

Last updated