LogoLogo
  • Introduction
  • Features
  • Getting Started
    • Cortex User Guide
      • Organizations
      • Log in
      • Generate an API key
      • Make your first API request
      • Configure the org settings
      • Set up a data model
        • Create custom objects
        • Add custom properties
      • One-to-many relationships
      • Read and write data
      • Making a Request
      • Handling responses
      • Authentication
      • Two-factor authentication
      • Set third-party cookies
      • Connections
      • Upload files
      • Cortex iOS
      • Get started with Swift
      • Cortex service accounts
      • Cortex developer tools
      • Automated Account Notifications
  • Cortex API
    • Overview
    • Objects
      • Objects Overview
      • Organization
      • Account
      • Connections
      • Notifications
      • Stats
      • Logs
      • Export
      • Events
      • Room
    • Object Definition
      • Object Properties
        • Any
        • Binary
        • Boolean
        • Date
        • Document
        • File
        • Geometry
        • List
        • Number
        • ObjectId
        • Reference
        • String
    • Object Types
    • Access Control
    • Querying
      • Query Operators
      • Property Selection
      • Property Access
    • Aggregating
      • Aggregation Operators
    • Scripting
      • Script Types
      • Script Limits
      • ObjectId
      • CortexObject
        • Accounts
        • Views
      • Cursors
      • Operations
      • Script Modules
        • API Module
        • Base64 Module
        • Cache Module
        • Connections Module
        • Console Module
        • Consts Module
        • Counters Module
        • Crypto Module
        • HTTP Module
        • Logger Module
        • Notifications Module
        • Request Module
        • Response Module
        • SAML Module
        • Schemas Modules
        • Script Module
        • Session Module
        • Util.id Module
        • Util.ip Module
        • Util.paths Module
        • XML Module
        • Developer
        • Config
        • Renderer
        • SFTP
        • FTP
        • DB
          • Cursors
          • Driver
      • Static Methods
        • Accounts
        • Views
        • Cursors
      • Audit
      • Environments
      • HTTP Driver
      • Notifications
        • Firebase Cloud Messaging (FCM)
        • Tencent Push Notification Service Configuration
      • Televisit
      • Transforms
      • Localization
      • Available Javascript Libraries
    • Decorators
      • Runtime
        • Acl
        • As
        • Log
        • Profile
      • Static
        • Env
        • Job
        • Object
        • On
        • Policy
        • Route
        • Transform
        • Trigger
    • Expressions
      • Primer
      • Pipelines
      • Operators
      • Accumulators
      • Variables
      • Conditionals
      • Transforms
      • Triggers
      • On
      • Events
    • Faults
      • Fault Reference
  • Releases
    • Cortex Release Notes
      • Cortex API 2.28.3 (R3.4.6)
      • Cortex API 2.28.1 (R3.4.3)
      • Cortex API 2.27.2 (R3.4.1)
      • Cortex API 2.27.1 (R3.3.5)
      • SQL DB Connector 1.3.4 (R3.3.3)
      • Cortex API 2.26.2 (R3.3.1)
      • Cortex API 2.26.1 (R3.2.2)
      • Cortex API 2.26.0 (R3.2.1)
      • SQL DB Connector 1.3.3
      • Cortex API 2.25.0 (R3.1.1)
      • SQL DB Connector 1.3.2 (R3.1.0)
      • Cortex API 2.24.2 (R3.0.2)
      • SQL DB Connector 1.3.1 (R3.0.0)
      • Cortex API 2.24.1 (R2.3.3)
      • Cortex API 2.24.0 (R2.3.2)
      • SQL DB Connector 1.3.0 (R2.3.0)
      • Cortex API 2.23.0 (R2.2.4)
      • SQL DB Connector 1.2.0 (R2.2.0)
      • Cortex API 2.22.2 (R2.1.2)
      • Cortex API 2.22.1 and SQL DB Connector 1.1.1 (R2.0.1)
      • Cortex API 2.22.0
      • Cortex API 2.21.3
      • Cortex API 2.21.2
      • Cortex Web 4.16.0
      • Cortex Web 4.15.1
      • Cortex API 2.20.1
      • Cortex Web 4.14.0
      • Cortex Renderer 1.3.3
      • Cortex API 2.19.4
      • Cortex API 2.19.3 and Cortex Web 4.13.1
      • Cortex Renderer 1.3.2
      • Cortex API 2.19.1
      • Cortex API 2.18.0
      • Cortex API 2.17.6
      • Cortex API 2.17.5
      • Cortex API 2.17.4
      • Cortex API 2.17.3
      • Cortex API 2.17.2
      • Cortex API 2.17.1
      • Cortex API 2.16.0
      • Cortex API 2.15.9
      • Cortex API 2.15.8-1
      • Cortex 2.15.8
      • Cortex API 2.18.1
      • Cortex API 2.16.1
      • Cortex Renderer 1.3.1
      • Cortex Renderer 1.3.0
      • Cortex Renderer 1.2.2
      • Cortex Renderer 1.2.1
      • Cortex Renderer 1.2.0
    • Third-Party License Attribution

© 2025 Medable, Inc. All rights reserved.

On this page
  • module SFTP
  • create(options)
  • list()
  • class sftp.Client
  • chmod(path, mode)
  • close()
  • delete(path)
  • exists(path)
  • get(path)
  • list(path)
  • mkdir(path)
  • put(path, data)
  • rename(path, to)
  • stat(path)
  • Examples

Was this helpful?

  1. Cortex API
  2. Scripting
  3. Script Modules

SFTP

In-script SFTP client

const sftp = require('sftp')

The Secure File Transfer Protocol (SFTP) modules allow scripts to access an SFTP server.

Note: You must have access to an FTP server and know the following values: host, port, username, and password.

Tip: To enable SFTP for your environment, please contact support.

module SFTP

create(options)

Creates a new connection and client.

Arguments

  • options { Object }

    • host { String } Server domain name or IP address.

    • port { Number = 22 } SFTP server port.

    • username { String } Username for authentication.

    • password { String } Password for authentication.

    • privateKey { String } String containing a private key for key-based or host-based user authentication.

    • passphrase { String } The passphrase to decrypt an encrypted private key.

    • localHostname { String } Along with localUsername and privateKey, set this to a non-empty string for host-based user authentication.

    • localUsername { String } Along with localHostname and privateKey, set this value to a non-empty string for host-based user authentication.

    • hostHash { String = md5 } A valid hash algorithm to check against the host fingerprint.

    • hostFingerprint { String } Use together with hostHash to verify the host fingerprint.

Returns

  • { sftp.Client } A new client instance.

list()

Lists current script connections.

Returns

  • { Client[] } Active connections for this script.

class sftp.Client

SFTP client. To create a client, use sftp.create(options).

chmod(path, mode)

Modifies permissions.

Arguments

  • path { String } The resource to modify.

  • mode { String } A string containing octal numbers.

close()

Closes the connection with the server.

Note: Connections are automatically closed when a script exits, which frees up resources to open another connection.

delete(path)

Deletes a resource.

Arguments

  • path { String } The resource to delete.

exists(path)

Checks for the existence of a filesystem resource.

Arguments

  • path { String } The path to check.

Returns

  • { Boolean } True if the resource exists.

get(path)

Retrieves a file.

Arguments

  • path { String } The path to read.

Returns

  • { Buffer } A buffer containing the file data.

list(path)

Reads the contents of a remote directory.

Arguments

  • path { String } The path to read.

Returns

  • { Object[] } A list of directory contents.

    • type { String } Entry type.

    • name { String } Entry name.

    • size { Number } Size in bytes.

    • modifyTime { Number } Modified time in milliseconds.

    • accessTime { Number } Last access time in milliseconds.

    • rights { Object }

      • user { String } User access rights (rwx).

      • group { String } Group access rights (rwx).

      • other { String } Other access rights (rwx).

    • owner { Number } Owner uid.

    • group { Number } Group gid.

mkdir(path)

Creates a directory.

Arguments

  • path { String } The directory to create.

put(path, data)

Uploads a file.

Arguments

  • path { String } The path to write.

  • data { Buffer } A buffer containing the file data.

rename(path, to)

Renames a resource.

Arguments

  • path { String } The resource to rename.

  • to { String } The target resource name.

stat(path)

Reads a filesystem resource's stats.

Arguments

  • path { String } The path to read.

Returns

  • { Object } A resource stats object.

    • mode { Number } Mode for the resource.

    • permissions { String } Resource permissions.

    • size { Number } Size in bytes.

    • modifyTime { Number } Modified time in milliseconds.

    • accessTime { Number } Last access time in milliseconds.

    • owner { Number } Owner uid.

    • group { Number } Group gid.

Examples

const sftp = require('sftp'),
      conn = sftp.create({
        host: 'sftp.example.org',
        port: 22,
        username: 'foo',
        password: 'this is a passphrase.'
      }),
      buffer = new Buffer('ok!'),      
      home = '/home/foo'

if (!conn.exists(`${home}/test`)) {
  conn.mkdir(`${home}/test`)
}
if (!conn.exists(`${home}/test/test.txt`)) {
  conn.put(`${home}/test/test.txt`, buffer)
}
conn.close()

Last updated 3 years ago

Was this helpful?