Is AI recommending you? Ask Contentstack Canoe for free
Is AI recommending your brand? Find out with Contentstack Canoe for free
Contentstack.comAcademyLogin
CS-log-dark.svgCS-log-dark.svg
  • Changelog
  • APIs
  • SDKs

Platform

  • Solution Center
  • Marketplace
  • Changelog
  • Developers & IT
  • Business users
  • Digital leaders
  • Developer Fast Track
  • Plans & Pricing

Solutions

  • Retail
  • Travel and tourism
  • Financial services
  • Technology
  • Manufacturing
  • E-commerce
  • Localization
  • Personalization
  • Portals and knowledge bases

Resources

  • Academy
  • Docs
  • Contentstack for Developers
  • Product updates
  • Contentstack on Contentstack
  • Blog
  • Insights and analyst reports
  • The Forrester Wave™: Digital Experience Platforms, Q4 2025
  • Webinars
  • Podcasts
  • Glossary
  • Content generative library
  • Community
  • Headless CMS
  • Composable AXP
  • Personalization
  • CDP

Customers

  • Case Studies
  • Customer Care
  • Contentstack Experience Awards
  • Customer support

Partners

  • Overview
  • Find a partner
  • Login

Company

  • About us
  • News
  • Customer support portal
  • Contact

Social

  • Facebook
  • LinkedIn
  • Instagram
  • GitHub
  • YouTube
  • Discord
  • X
LegalTermsPrivacyTrust Center

Cookie settings

Copyright © 2026 Contentstack Inc. All rights reserved.
/
  1. Home
  2. APIs
  3. Lytics API
  4. Jobs
  5. Sftp Import

Sftp Import

markdownView as Markdown

Create and manage data import and export jobs.

SftpImport: Create job

POSThttps://api.lytics.io/v2/job/sftp-import

Create a SftpImport job

Sample Request
12345678910111213141516171819202122232425262728293031
{
  "auth_ids": [
    "string"
  ],
  "config": {
    "continuous_update": true,
    "delimiter": "string",
    "diff": true,
    "fields": [
      "string"
    ],
    "file_frequency": "string",
    "filename": "string",
    "folder": "string",
    "prefix": "string",
    "stream": "string",
    "time_of_day": "string",
    "timestamps": [
      "string"
    ],
    "timezone": "string"
  },
  "description": "string",
  "drop_events_during_quiet_window": true,
  "expires_at": "2019-08-24T14:15:22Z",
  "monitoring": {},
  "name": "string",
  "quiet_period": 0,
  "quiet_time_of_day": "string",
  "quiet_timezone": "string"
}
Sample Response
Status|201 Created
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
{
  "_meta": {},
  "data": {
    "account_id": "string",
    "anomaly_rule": {
      "aid": 0,
      "checks": [
        {
          "allowable_violations": 0,
          "interval": "string",
          "lookback_count": 0,
          "max_threshold": 0,
          "metric_type": "string",
          "min_threshold": 0,
          "type": "string",
          "variance_pct": 0
        }
      ],
      "created": "string",
      "id": "string",
      "subject_id": "string",
      "subject_type": "string",
      "updated": "string"
    },
    "api_token_auth_id": "string",
    "auth_ids": [
      "string"
    ],
    "config": {
      "continuous_update": true,
      "delimiter": "string",
      "diff": true,
      "fields": [
        "string"
      ],
      "file_frequency": "string",
      "filename": "string",
      "folder": "string",
      "prefix": "string",
      "stream": "string",
      "time_of_day": "string",
      "timestamps": [
        "string"
      ],
      "timezone": "string"
    },
    "created": "string",
    "deleted": true,
    "description": "string",
    "drop_events_during_quiet_window": true,
    "expires_at": "2019-08-24T14:15:22Z",
    "id": "string",
    "meta": {},
    "monitoring": {},
    "name": "string",
    "quiet_period": 0,
    "quiet_time_of_day": "string",
    "quiet_timezone": "string",
    "sleep_until": "string",
    "status": "runnable",
    "updated": "string",
    "user_id": "string",
    "workflow": "string",
    "workflow_id": "string"
  },
  "request_id": "string",
  "status": 0
}

SftpImport: Get job

GEThttps://api.lytics.io/v2/job/sftp-import/{id}

Get the summary of a SftpImport job

Sample Response
Status|200 OK
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
{
  "_meta": {},
  "data": {
    "account_id": "string",
    "anomaly_rule": {
      "aid": 0,
      "checks": [
        {
          "allowable_violations": 0,
          "interval": "string",
          "lookback_count": 0,
          "max_threshold": 0,
          "metric_type": "string",
          "min_threshold": 0,
          "type": "string",
          "variance_pct": 0
        }
      ],
      "created": "string",
      "id": "string",
      "subject_id": "string",
      "subject_type": "string",
      "updated": "string"
    },
    "api_token_auth_id": "string",
    "auth_ids": [
      "string"
    ],
    "config": {
      "continuous_update": true,
      "delimiter": "string",
      "diff": true,
      "fields": [
        "string"
      ],
      "file_frequency": "string",
      "filename": "string",
      "folder": "string",
      "prefix": "string",
      "stream": "string",
      "time_of_day": "string",
      "timestamps": [
        "string"
      ],
      "timezone": "string"
    },
    "created": "string",
    "deleted": true,
    "description": "string",
    "drop_events_during_quiet_window": true,
    "expires_at": "2019-08-24T14:15:22Z",
    "id": "string",
    "meta": {},
    "monitoring": {},
    "name": "string",
    "quiet_period": 0,
    "quiet_time_of_day": "string",
    "quiet_timezone": "string",
    "sleep_until": "string",
    "status": "runnable",
    "updated": "string",
    "user_id": "string",
    "workflow": "string",
    "workflow_id": "string"
  },
  "request_id": "string",
  "status": 0
}

SftpImport: Update job

PUThttps://api.lytics.io/v2/job/sftp-import/{id}

Update a SftpImport job

Sample Request
12345678910111213141516171819202122232425262728293031
{
  "auth_ids": [
    "string"
  ],
  "config": {
    "continuous_update": true,
    "delimiter": "string",
    "diff": true,
    "fields": [
      "string"
    ],
    "file_frequency": "string",
    "filename": "string",
    "folder": "string",
    "prefix": "string",
    "stream": "string",
    "time_of_day": "string",
    "timestamps": [
      "string"
    ],
    "timezone": "string"
  },
  "description": "string",
  "drop_events_during_quiet_window": true,
  "expires_at": "2019-08-24T14:15:22Z",
  "monitoring": {},
  "name": "string",
  "quiet_period": 0,
  "quiet_time_of_day": "string",
  "quiet_timezone": "string"
}
Sample Response
Status|200 OK
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
{
  "_meta": {},
  "data": {
    "account_id": "string",
    "anomaly_rule": {
      "aid": 0,
      "checks": [
        {
          "allowable_violations": 0,
          "interval": "string",
          "lookback_count": 0,
          "max_threshold": 0,
          "metric_type": "string",
          "min_threshold": 0,
          "type": "string",
          "variance_pct": 0
        }
      ],
      "created": "string",
      "id": "string",
      "subject_id": "string",
      "subject_type": "string",
      "updated": "string"
    },
    "api_token_auth_id": "string",
    "auth_ids": [
      "string"
    ],
    "config": {
      "continuous_update": true,
      "delimiter": "string",
      "diff": true,
      "fields": [
        "string"
      ],
      "file_frequency": "string",
      "filename": "string",
      "folder": "string",
      "prefix": "string",
      "stream": "string",
      "time_of_day": "string",
      "timestamps": [
        "string"
      ],
      "timezone": "string"
    },
    "created": "string",
    "deleted": true,
    "description": "string",
    "drop_events_during_quiet_window": true,
    "expires_at": "2019-08-24T14:15:22Z",
    "id": "string",
    "meta": {},
    "monitoring": {},
    "name": "string",
    "quiet_period": 0,
    "quiet_time_of_day": "string",
    "quiet_timezone": "string",
    "sleep_until": "string",
    "status": "runnable",
    "updated": "string",
    "user_id": "string",
    "workflow": "string",
    "workflow_id": "string"
  },
  "request_id": "string",
  "status": 0
}
Hide Parameters

Query Parameters

account_idoptionalstring

The account ID. Defaults to the user's default account.

Headers

Authorizationoptionalstring

Body Parameters

auth_idsoptionalstring[]

Authorization IDs associated with the Job

configrequiredobject

Job configuration, unique per-workflow

config.continuous_updateoptionalboolean

Run this import continuously checking for new files periodically

config.delimiteroptionalstring

Input the delimiter of the file. Default delimiter is ",". Other common delimiters may be "|" (pipe) or ";". For tab delimited files enter "t"

config.diffoptionalboolean

On continuous imports, compare file contents to the previous file contents and import only rows that have changed. This is useful when only full data dumps are provided

config.fieldsoptionalstring[]

Select fields to import. Leave empty to import all fields. If no field names appear, the delimiter may need to be adjusted. Also check to ensure the CSV file has an appropriate header row. Field selection is unavailable for Zip files larger than 100MB

config.file_frequencyoptionalstring

Choose how often a continuous import should expect a new file

config.filenameoptionalstring

Select the file to import, or if this is a continuous import of dated files e.g., file_20160218.csv, choose the earliest dated file to import, and all files will be imported from that date onward

config.folderoptionalstring
config.prefixoptionalstring

Enter the file name prefix. You may use regular expressions

config.streamoptionalstring

Data stream name

config.time_of_dayoptionalstring

Time of day to start import.

config.timestampsoptionalstring[]

Select one or more columns in the CSV that contains the timestamp of an event. Sort in order of importance (e.g., "Updated" should be above "Created"). If no fields are specified, the event will be timestamped with the time of the import. Timestamp selection is unavailable for Zip files larger than 100MB

config.timezoneoptionalstring

Timezone for time of day

descriptionoptionalstring

A user-defined description

drop_events_during_quiet_windowoptionalboolean
expires_atoptionalstring (date-time)
monitoringoptionalobject

Inline monitoring config. On write: omit to keep, null to clear, or a config to set.

namerequiredstring

A user-defined name

quiet_periodoptionalinteger
quiet_time_of_dayoptionalstring
quiet_timezoneoptionalstring
Hide Parameters

URL Parameters

idrequiredstring

The Job ID

Query Parameters

account_idoptionalstring

The account ID. Defaults to the user's default account.

Headers

Authorizationoptionalstring

Hide Parameters

URL Parameters

idrequiredstring

The Job ID

Query Parameters

account_idoptionalstring

The account ID. Defaults to the user's default account.

Headers

Authorizationoptionalstring

Body Parameters

auth_idsoptionalstring[]

Authorization IDs associated with the Job

configrequiredobject

Job configuration, unique per-workflow

config.continuous_updateoptionalboolean

Run this import continuously checking for new files periodically

config.delimiteroptionalstring

Input the delimiter of the file. Default delimiter is ",". Other common delimiters may be "|" (pipe) or ";". For tab delimited files enter "t"

config.diffoptionalboolean

On continuous imports, compare file contents to the previous file contents and import only rows that have changed. This is useful when only full data dumps are provided

config.fieldsoptionalstring[]

Select fields to import. Leave empty to import all fields. If no field names appear, the delimiter may need to be adjusted. Also check to ensure the CSV file has an appropriate header row. Field selection is unavailable for Zip files larger than 100MB

config.file_frequencyoptionalstring

Choose how often a continuous import should expect a new file

config.filenameoptionalstring

Select the file to import, or if this is a continuous import of dated files e.g., file_20160218.csv, choose the earliest dated file to import, and all files will be imported from that date onward

config.folderoptionalstring
config.prefixoptionalstring

Enter the file name prefix. You may use regular expressions

config.streamoptionalstring

Data stream name

config.time_of_dayoptionalstring

Time of day to start import.

config.timestampsoptionalstring[]

Select one or more columns in the CSV that contains the timestamp of an event. Sort in order of importance (e.g., "Updated" should be above "Created"). If no fields are specified, the event will be timestamped with the time of the import. Timestamp selection is unavailable for Zip files larger than 100MB

config.timezoneoptionalstring

Timezone for time of day

descriptionoptionalstring

A user-defined description

drop_events_during_quiet_windowoptionalboolean
expires_atoptionalstring (date-time)
monitoringoptionalobject

Inline monitoring config. On write: omit to keep, null to clear, or a config to set.

namerequiredstring

A user-defined name

quiet_periodoptionalinteger
quiet_time_of_dayoptionalstring
quiet_timezoneoptionalstring