v32

latestOpenAPI 3.1.0raw.githubusercontent.com2026-05-151,1412,2144.5 MB
SFTP Storage

Create SFTP storage

Creates a new SFTP storage instance in the specified location and returns the storage details including credentials.

post/storage/v4/sftp_storages

Request body

expiresstring

Duration when the storage should expire (e.g., "2 years 6 months"). Omit for no expiration.

has_custom_config_fileboolean

Whether this storage should use a custom configuration file

is_http_disabledboolean

Whether HTTP access should be disabled (HTTPS only)

location_namestring required

Location code where the storage should be created

namestring required

User-defined name for the storage instance

password_mode'auto' | 'set' | 'none' required

Password handling mode for SFTP access: 'auto': generate a random password (returned in the response) 'set': use the password provided in sftp_password 'none': no password (SSH-key-only access)

server_aliasstring

Custom domain alias for accessing the storage. Omit for no alias.

sftp_passwordstring

SFTP password (8-63 chars). Required when password_mode is 'set'. Must be omitted when password_mode is 'auto' or 'none'.

ssh_key_idsinteger[]

SSH key IDs to associate with this storage at creation time. If omitted, no keys are linked.

Example request

{
  "expires": "2 years 6 months",
  "location_name": "s-region-1",
  "name": "my-sftp-storage",
  "password_mode": "auto",
  "server_alias": "my-storage.example.com",
  "ssh_key_ids": [
    1,
    2,
    3
  ]
}

Response

SFTPStorageItemV4

addressstring required

Full hostname/address for accessing the storage endpoint

created_atstring date-time required

ISO 8601 timestamp when the storage was created

expiresstring required

Duration when the storage will expire. Null if no expiration is set.

full_namestring required

Read-only internal full name of the storage, composed as "{client_id}-{name}". Used by the SFTP backend as the login username. Clients should use this value when connecting but should continue to identify the storage by name in their own configuration.

has_custom_config_fileboolean required

Whether this storage uses a custom configuration file

has_passwordboolean required

Whether password authentication is configured for this storage

idinteger required

Unique identifier for the storage instance

is_http_disabledboolean required

Whether HTTP access is disabled for this storage (HTTPS only)

location_namestring required

Geographic location code where the storage is provisioned

namestring required

User-defined name for the storage instance, as supplied at creation time.

passwordstring

SFTP password. Only returned when newly generated or set (create/patch). Omitted in GET/list responses.

provisioning_status'creating' | 'active' | 'updating' | 'deleting' | 'deleted' required

Lifecycle status of the storage. Use this to check readiness before operations.

server_aliasstring required

Custom domain alias for accessing the storage. Null if no alias is configured.

ssh_key_idsinteger[] required

IDs of SSH keys associated with this SFTP storage

Example response

{
  "address": "luxembourg-2.storage.example.com",
  "created_at": "2025-08-05T09:17:02Z",
  "expires": "2 years 6 months",
  "full_name": "696-my-sftp-storage",
  "has_password": true,
  "id": 1,
  "location_name": "luxembourg-2",
  "name": "my-sftp-storage",
  "password": "Xy9$mN2p!qR8",
  "provisioning_status": "active",
  "server_alias": "my-storage.example.com",
  "ssh_key_ids": [
    1,
    2
  ]
}