Secure File Transfer
Secure File Transfer enables encrypted and authenticated file transfers using FTP or FTPS protocols between remote systems.
Secure File Transfer enables reliable and encrypted file transfers using FTP and FTPS protocols. This connector allows users to automate uploading, downloading, and listing files or directories on remote servers directly from Swimlane Turbine. By integrating Secure File Transfer, security teams can streamline the movement of critical files, ensure secure data exchange, and orchestrate file-based workflows without manual intervention. The connector supports recursive operations, compression, and flexible authentication, making it ideal for automating secure data handling in incident response and operational processes.
Supported Version
- The Secure File Transfer connector supports the latest API version.
Limitations
None to date.
Prerequisites
To use the Secure File Transfer connector, ensure you have the following prerequisites:
- Authentication via username and password, requiring these parameters:
- URL: The address of the FTP or FTPS server to connect to.
- Username: The account name authorized to access the remote server.
- Password: The corresponding password for the specified username.
Capabilities
This Connector provides the following capabilities:
- Download Remote Directory files
- List Remote Directory files
- Upload Files to Remote Directory
Download Remote Directory files
Files are downloaded from a remote directory.
List Remote Directory files
Files in a remote directory are listed.
Upload Files to Remote Directory
Files are uploaded to a remote directory.
Configurations
Asset
Authenticates using username and password.
Configuration Parameters
Parameter | Description | Type | Required |
|---|---|---|---|
url | URL with FTP protocol. | string | Required |
username | Username | string | Required |
password | Password | string | Required |
verify_ssl | Verify SSL certificate | boolean | Optional |
passive_mode | When true (default), the client uses PASV/EPSV: the server returns a data host/port and the client opens the data connection (typical behind NAT/firewalls). When false, active (PORT) mode is used: the server opens the data connection to the client (requires inbound reachability on the client side). | ||
boolean | Optional | ||
http_proxy | A proxy to route requests through. | string | Optional |
Actions
Download Remote Directory files
Download files from a specified remote path via FTP or FTPS, with options to include subdirectories recursively and compress results into a single ZIP file.
Endpoint
- Method: GET
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
remote_path | string | Required | Directory or file path on the server. |
recursive | boolean | Optional | When true, include files in subdirectories (MLSD-based walk after CWD into remote_path). |
compress | boolean | Optional | When true, return a single ZIP attachment instead of per-file bodies in the response json_body. |
Input Example
{"remote_path":"/app/nrd/"}
Output
Parameter | Type | Description |
|---|---|---|
status_code | number | HTTP status code of the response |
reason | string | Response reason phrase |
file | array | Present when a single file is returned (Turbine attachment). |
file.file_data | string | Response data |
file.filename | string | Name of the resource |
remote_path | string | Output field: remote_path |
count | number | Count value |
files | array | Output field: files |
files.name | string | Name of the resource |
files.remote_path | string | Output field: files.remote_path |
files.size | number | Output field: files.size |
files.content_base64 | string | Response content |
Output Example
{"status_code":200,"reason":"OK","response_headers":{},"file":[{"filename":"test.txt","file_data":""}],"json_body":{"remote_path":"/app/nrd","count":1,"files":[{}]}}
List Remote Directory files
Retrieve a list of files from a specified remote directory using Secure File Transfer by providing the remote path.
Endpoint
- Method: GET
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
remote_path | string | Required | Directory or file path on the server. |
recursive | boolean | Optional | When true, include files in subdirectories (MLSD-based walk after CWD into remote_path). |
Input Example
{"remote_path":"/app/nrd/"}
Output
Parameter | Type | Description |
|---|---|---|
status_code | number | HTTP status code of the response |
reason | string | Response reason phrase |
remote_path | string | Output field: remote_path |
recursive | boolean | Output field: recursive |
files | array | Output field: files |
files.name | string | Name of the resource |
files.remote_path | string | Output field: files.remote_path |
files.size | number | Output field: files.size |
count | number | Count value |
Output Example
{"status_code":200,"reason":"OK","json_body":{"remote_path":"/var/test/","recursive":false,"files":[{},{},{}],"count":3}}
Upload Files to Remote Directory
Upload one or more files to a specified remote directory via FTP or FTPS, with optional override of the remote file name for the first attachment.
Endpoint
- Method: GET
Input
Argument Name | Type | Required | Description |
|---|---|---|---|
file | object | Required | File to upload (Turbine attachment). |
file.file | string | Required | Parameter for Upload Files to Remote Directory |
file.file_name | string | Required | Name of the resource |
remote_path | string | Required | Parameter for Upload Files to Remote Directory |
Input Example
{"file":{"file":"","file_name":"sample.txt"},"remote_path":"/var/test/"}
Output
Parameter | Type | Description |
|---|---|---|
status_code | number | HTTP status code of the response |
reason | string | Response reason phrase |
success | boolean | Whether the operation was successful |
remote_path | string | Output field: remote_path |
remote_directory | string | Output field: remote_directory |
uploaded | array | Output field: uploaded |
count | number | Count value |
Output Example
{"status_code":200,"response_headers":{},"reason":"OK","json_body":{"success":true,"remote_path":"/var/test/","remote_directory":"/var/test/","uploaded":["mytest123.txt"],"count":1}}
Response Headers
Header | Description | Example |
|---|---|---|
Content-Type | The media type of the resource | application/json |
Date | The date and time at which the message was originated | Thu, 01 Jan 2024 00:00:00 GMT |