The Hosts API manages every server connection Termix tracks: SSH, RDP, VNC, and Telnet. You can create hosts with rich configuration — tunnels, jump hosts, SOCKS5 proxies, port-knock sequences, quick actions, and more — as well as export them and import them in bulk. File-manager state (recent files, pinned paths, and shortcuts) and per-host command history are also surfaced here.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/Termix-SSH/Termix/llms.txt
Use this file to discover all available pages before exploring further.
All endpoints require a valid
jwt session cookie or Authorization: Bearer <token> header unless stated otherwise. Sensitive fields (password, key, sudoPassword, etc.) are stripped from list responses. Use the export or password endpoints to retrieve them.Host CRUD
GET /host/db/host
Return all hosts accessible to the authenticated user. This includes hosts the user owns and any hosts that have been shared with them (directly or via role). Sensitive credential fields are stripped;hasPassword, hasKey, and hasSudoPassword booleans replace them.
Unique host identifier.
ID of the owner.
One of
ssh, rdp, vnc, telnet.Human-readable host name.
Hostname or IP address.
Target port.
Login username.
Folder the host is grouped under.
Array of tag strings.
Whether the host is pinned to the top of the list.
One of
password, key, credential.true when a password is stored (redacted from the response).true when an SSH key is stored.Tunnel configurations.
Jump host chain configuration.
true when this host was shared with the user rather than owned by them.Permission level for shared hosts.
POST /host/db/host
Create a new host. Acceptsapplication/json or multipart/form-data (when uploading an SSH key file). For multipart requests, send the full JSON body as a data field and the key file as key.
Hostname or IP address of the target server.
Target port (1–65535).
Connection protocol:
ssh, rdp, vnc, or telnet.Display name. Defaults to
username@ip when omitted.Login username.
Authentication method:
password, key, or credential. Required for SSH.Password (required when
authType is password, or for non-SSH connections).PEM-encoded SSH private key (required when
authType is key).Passphrase for an encrypted SSH key.
Key algorithm hint (e.g.
ssh-ed25519, ssh-rsa).ID of a saved credential (required when
authType is credential).When
true, use the host’s username instead of the credential’s username.Folder name to group this host.
Array of tag strings.
Pin host to the top of the sidebar.
Free-text notes about the host.
Sudo password for elevated commands.
Default directory for file manager sessions (e.g.
/var/www).Force keyboard-interactive SSH authentication.
Show terminal tab.
Show tunnel tab.
Show file manager tab.
Show Docker tab.
Array of tunnel configuration objects.
Ordered list of jump host definitions for SSH proxying.
Predefined commands or actions shown in the UI.
Route the connection through a SOCKS5 proxy.
SOCKS5 proxy hostname.
SOCKS5 proxy port.
SOCKS5 proxy username.
SOCKS5 proxy password.
Array of chained SOCKS5 proxy definitions.
Port knock sequence to send before connecting.
MAC address for Wake-on-LAN.
Windows domain (RDP only).
RDP security protocol (RDP/VNC only).
Ignore TLS certificate errors (RDP/VNC only).
Extra Guacamole connection parameters for RDP/VNC/Telnet.
Server stats widget configuration.
Docker integration configuration.
Terminal appearance and behaviour settings.
| Status | Meaning |
|---|---|
200 | Host created; full host object returned. |
400 | Invalid or missing ip, port, or malformed SSH key. |
500 | Database error. |
GET /host/db/host/:id
Return a single host by ID. Only the owning user can retrieve their own host this way.Host ID.
| Status | Meaning |
|---|---|
200 | Host object returned (sensitive fields stripped). |
400 | Invalid userId or id. |
404 | Host not found. |
500 | Database error. |
PUT /host/db/host/:id
Update an existing host. Accepts the same body fields asPOST /host/db/host. Only the host owner can change credentials or auth type; shared users with write permission can update other fields.
Host ID to update.
POST /host/db/host.
| Status | Meaning |
|---|---|
200 | Updated host returned. |
400 | Validation failure or malformed key. |
403 | No write access, or shared user tried to change credential. |
404 | Host not found. |
500 | Database error. |
DELETE /host/db/host/:id
Delete a host and all related data (file manager history, command history, session recordings, host-access grants, etc.).Host ID to delete.
| Status | Meaning |
|---|---|
200 | Host deleted. |
400 | Invalid userId or id. |
404 | Host not found. |
500 | Database error. |
Quick connect
POST /host/quick-connect
Create a temporary, in-memory host configuration for an immediate connection without persisting to the database. Returns a full host object with a negativeid (e.g. -1716000000000).
Hostname or IP address.
Target port.
Login username.
One of
password, key, credential.Password (required when
authType is password).PEM SSH private key (required when
authType is key).Passphrase for an encrypted key.
Key algorithm hint.
Saved credential ID (required when
authType is credential).Use the provided
username instead of the credential’s username.| Status | Meaning |
|---|---|
200 | Temporary host object returned. |
400 | Missing required fields. |
404 | Credential not found. |
500 | Internal error. |
Credentials & password retrieval
GET /host/db/host/:id/password
Retrieve the stored password or sudo password for a host. Used by the copy-password UI button.Host ID.
Which credential to return:
password or sudoPassword.The decrypted password string.
| Status | Meaning |
|---|---|
200 | Password value returned. |
400 | Invalid field value. |
404 | Host not found or field is empty. |
Export & import
GET /host/db/host/:id/export
Export a single host with all credentials decrypted. SSH key contents and passwords are included in the response.Host ID.
| Status | Meaning |
|---|---|
200 | Host object with decrypted secrets. |
400 | Invalid userId or id. |
404 | Host not found. |
500 | Export failed. |
GET /host/db/hosts/export
Export all hosts owned by the authenticated user with decrypted credentials.Array of fully decrypted host export objects.
| Status | Meaning |
|---|---|
200 | Array of host export objects. |
400 | Invalid userId. |
500 | Export failed. |
POST /host/bulk-import
Import up to 100 hosts in a single request. Each host follows the same schema asPOST /host/db/host. When overwrite is true, existing hosts with matching ip:port:username are updated instead of duplicated.
Array of host objects to import (max 100).
When
true, matching existing hosts are updated.Number of hosts created.
Number of hosts updated (only when
overwrite is true).Number of hosts skipped.
Number of hosts that failed validation.
Human-readable error messages for failed hosts.
| Status | Meaning |
|---|---|
200 | Import results returned. |
400 | hosts is missing, empty, or exceeds 100 items. |
PATCH /host/bulk-update
Apply partial field updates to multiple hosts at once. Only the host owner’s hosts are updated; unauthorized IDs are reported inerrors but do not cause a failure response.
Array of host IDs to update (max 1000).
Fields to update. Supported:
pin, folder, enableTerminal, enableTunnel, enableFileManager, enableDocker, statsConfig.Number of hosts updated.
Number of host IDs that were not found or not owned.
Error messages for any partial failures.
| Status | Meaning |
|---|---|
200 | Results returned. |
400 | hostIds or updates missing, or hostIds exceeds 1000. |
404 | No matching hosts found. |
Internal endpoints
GET /host/db/host/internal
Return hosts with at least one auto-start tunnel configured. Only the tunnel connections withautoStart: true are included.
Header: X-Internal-Auth-Token: <token>
| Status | Meaning |
|---|---|
200 | Array of auto-start host objects. |
403 | Invalid or missing internal token. |
GET /host/db/host/internal/all
Return all hosts across all users. Used by the stats service. Header:X-Internal-Auth-Token: <token>
| Status | Meaning |
|---|---|
200 | Array of all host objects. |
401 | Invalid or missing internal token. |
Folders
GET /host/folders
Return all folder records for the authenticated user.object[]
Array of folder objects with
id, name, color, icon, createdAt, updatedAt.PUT /host/folders/rename
Rename a folder. Updates thefolder field on all matching hosts and credentials, and the folder metadata record.
Current folder name.
New folder name.
Number of hosts updated.
Number of credentials updated.
| Status | Meaning |
|---|---|
200 | Folder renamed. |
400 | oldName or newName missing. |
PUT /host/folders/metadata
Update folder display metadata (color and icon). Creates the folder record if it does not exist.Folder name.
Hex color string (e.g.
#3B82F6).Icon identifier string.
| Status | Meaning |
|---|---|
200 | Metadata updated. |
400 | name missing. |
DELETE /host/folders/:name/hosts
Delete all hosts in a named folder, including all associated data and the folder record itself.Folder name (URL-encoded if it contains spaces or special characters).
Number of hosts deleted.
| Status | Meaning |
|---|---|
200 | Hosts deleted (or no hosts found). |
400 | name missing. |
500 | Database error. |
File manager state
GET /host/file_manager/recent
Return the 20 most recently opened files for a host.Host ID to fetch recent files for.
POST /host/file_manager/recent
Record a file as recently opened. If the path already exists, itslastOpened timestamp is updated.
Host ID.
Absolute file path on the remote host.
Display name. Defaults to the last path component.
DELETE /host/file_manager/recent
Remove a file from the recent-files list.Exact path to remove.
GET /host/file_manager/pinned
Return all pinned file paths for a host.POST /host/file_manager/pinned
Pin a file path. Returns409 if the path is already pinned.
| Status | Meaning |
|---|---|
200 | File pinned. |
409 | Already pinned. |
DELETE /host/file_manager/pinned
Unpin a file path.GET /host/file_manager/shortcuts
Return saved file manager shortcuts for a host.POST /host/file_manager/shortcuts
Add a shortcut. Returns409 if the path already has a shortcut.
| Status | Meaning |
|---|---|
200 | Shortcut added. |
409 | Shortcut already exists for this path. |
DELETE /host/file_manager/shortcuts
Remove a shortcut.Command history
GET /host/command-history/:hostId
Return up to 200 recent commands executed on a host, ordered newest-first.Host ID.
string[]
Array of command strings.
| Status | Meaning |
|---|---|
200 | Command list returned. |
400 | Invalid userId or hostId. |
DELETE /host/command-history
Remove a specific command from a host’s history.Exact command string to delete.
| Status | Meaning |
|---|---|
200 | Command removed. |
400 | Missing hostId or command. |