FTP & SFTP logins
Logins for desktop FTP and SFTP clients, each kept to one site’s files. There are none by default, and nothing FTP runs on a server until one of its sites has a login.
Reading needs Read only and changes need Manage, unless an endpoint says otherwise. How to read this page.
GET /api/sites/:slug/ftp
Section titled “GET /api/sites/:slug/ftp”How to connect (host, ports, fingerprints), the server’s FTP status, and the site’s logins.
- Level: Read only
- Returns:
{enabled, serverId, serverName, endpoint, status, applied, paused, users[]}
POST /api/sites/:slug/ftp/users
Section titled “POST /api/sites/:slug/ftp/users”Create a login; leave out the password to have one generated and returned this once.
- Level: Manage
- Input:
{username, password?, folder?: "", expiresAt?: <unix ms>|null} - Returns:
201 {user, password} (password null when you chose it); 409 when the username is taken
PATCH /api/sites/:slug/ftp/users/:id
Section titled “PATCH /api/sites/:slug/ftp/users/:id”Move a login to another folder or change its expiry; ends the site’s open FTP sessions.
- Level: Manage
- Input:
{folder?, expiresAt?} - Returns:
{user}
POST /api/sites/:slug/ftp/users/:id/password
Section titled “POST /api/sites/:slug/ftp/users/:id/password”Set a new password, or leave it out to have one generated; ends the site’s open FTP sessions.
- Level: Manage
- Notes: Destructive
- Input:
{password?} - Returns:
{user, password}
DELETE /api/sites/:slug/ftp/users/:id
Section titled “DELETE /api/sites/:slug/ftp/users/:id”Delete a login; it cannot sign in again, and the site’s open FTP sessions end.
- Level: Manage
- Notes: Destructive
GET /api/servers/:id/ftp
Section titled “GET /api/servers/:id/ftp”A server’s FTP gateway: status, ports, fingerprints and how many logins it serves.
- Level: Read only
- Returns:
{serverId, enabled, endpoint, status, sites, logins, activeLogins}