Connect to the heavendata FTP server to download a channel's files, upload files for a data source to import, or upload assets to an inbox — which credentials to use, and what you find there.
heavendata runs an FTP server at ftp.eu.40three.net. Other systems use it in three
ways, and each has its own FTP credentials — a username and a password, which the
app shows you or you set there:
| You want to | Use the FTP credentials of | Set them in | After you connect you see |
|---|---|---|---|
| Download a channel’s files (export) | the channel | the channel’s Publishing step, publishing method FTP server | the channel’s folder — download a channel’s files |
| Upload files for a data source to import (import) | the data source | the data source’s connection, FTP push | the data source’s folder — upload files for a data source |
| Upload asset files to an asset inbox | the asset inbox | Settings → Assets → Inboxes, the inbox’s FTP Access | an empty folder — upload files to an asset inbox |
One set of credentials reaches one channel, one data source or one inbox, and nothing else. To do two of these things, use two sets. An inbox’s username is given to you; a channel’s or a data source’s you choose yourself.
Choosing a username
Section titled “Choosing a username”A channel’s or a data source’s username:
- is required, even on a channel or data source you save disabled;
- cannot be
anonymous, in capitals or not — the server keeps that name for itself; - cannot start with
inbox., which is kept for asset inboxes; - must not be in use by any other channel or data source on heavendata. A channel’s username is checked on every save; a data source’s only when it is saved with Enabled ticked, because that is when its login is created or changed.
Spaces before or after it are ignored. A save that breaks one of these rules is refused, and says which. A username already in use, for example, reads:
Couldn’t save the data source. The username “supplier-a” is already in use. Choose another username. (E03-109)
Connect with encryption (FTPS)
Section titled “Connect with encryption (FTPS)”The server accepts plain FTP and encrypted FTP (FTPS). Use FTPS: over plain FTP, your password and your files cross the internet unencrypted.
| Setting | Value |
|---|---|
| Host | ftp.eu.40three.net — the name the server’s certificate is issued for, so a client that checks the certificate accepts it |
| Port | 21 |
| Encryption | Explicit TLS on port 21. Do not use ftps:// addresses or implicit encryption: nothing answers on port 990 |
| Mode | Passive |
There is no heavendata SFTP server, so an SFTP pull data source cannot fetch from this one.
WinSCP (Windows)
Section titled “WinSCP (Windows)”WinSCP is a Windows application for connecting to an FTP server and browsing its files. In the login dialog, choose FTP as the file protocol and explicit TLS/SSL as the encryption.
curl (command line)
Section titled “curl (command line)”curl downloads and uploads files from the command line, so it suits a script that runs
on its own. Windows 10 and 11 include it as curl.exe; for other systems, see
curl downloads.
To download a channel’s file:
curl --ssl-reqd --user USERNAME:PASSWORD -o products.csv ftp://ftp.eu.40three.net/CHANNEL_ID/products.csvTo upload a file for a data source:
curl --ssl-reqd --user USERNAME:PASSWORD -T products.csv ftp://ftp.eu.40three.net/DATA_SOURCE/import/Replace USERNAME and PASSWORD with the FTP credentials, and CHANNEL_ID or
DATA_SOURCE with the folder you see after you connect. An upload’s file name must
match one of the data source’s datasets — see
upload files for a data source.
--ssl-reqd makes curl encrypt the login and the file transfer, and stop with an error
rather than fall back to plain FTP. Do not use --ssl instead: it falls back to plain FTP
without telling you.
curl on Windows can end an upload with error 56 even though the server accepted the file — on the upload that completes a data source’s set of files, and on an upload to an asset inbox. A script that checks curl’s exit code reports those uploads as failed; check the run or the inbox instead.
The Windows ftp command
Section titled “The Windows ftp command”It does not work with this server. It supports only active FTP, in which the server opens the data connection to your computer — and your firewall or router blocks that. Use WinSCP or curl.
Download a channel’s files
Section titled “Download a channel’s files”This is the export direction: a channel whose publishing method is FTP server puts its files on the server, and another system downloads them. Set the channel’s FTP credentials in its Publishing step — see File transfer.
After you connect you see one folder, named after the channel’s id:
| Path | What is in it |
|---|---|
<channel id>/<file> |
One file for each of the channel’s feeds, from the channel’s latest run |
<channel id>/history/<run id>/ |
One folder per run, with the files of that run |
The channel’s Feeds list and its dashboard show each feed’s address on the server,
in the form ftp://ftp.eu.40three.net/<channel id>/<file name> — the quickest way to the
exact path.
The folder is read-only: you can list and download, but not upload, rename or delete.
The files at the top change when a run has written all of the channel’s feeds. Until then you download the previous run’s files.
Upload files for a data source
Section titled “Upload files for a data source”This is the import direction: you, or a supplier, upload files, and a data source imports them. First set up and enable an FTP push data source — see setting up an FTP push source. A source that has not been saved enabled since its connection was set to FTP push has no login on the server yet, so the server refuses its FTP credentials.
Give each file the file name its dataset is set up with. The server refuses a file whose name matches none of the data source’s datasets.
After you connect you see one folder for the data source, and two folders inside it. The data source’s folder is named after its key, or its id if it has none — browse the root in an FTP client to see it.
| Path | What is in it |
|---|---|
<data source>/import |
Where you upload files |
<data source>/archive/<reference> |
The files each run read, one folder per run |
An import starts when every file the data source expects has arrived — one for
each of its datasets. A partial set waits in import for the rest.
When an import starts, the files it takes are moved out of import into a new folder
under archive. A file that has left import has been read.
archive holds the runs you started in the app too, such as Upload and import or
Run stored files. Each folder is named by the run’s Reference, which the run’s
details show in Background jobs, so you can
match a folder to its run. The names do not sort by time: sort by date in your FTP client
to see the newest run first.
Archived imports are kept for 30 days, or the most recent 5,000 imports of that data
source — whichever comes first. After that the folder and its files are removed. The
import folder is yours: nothing clears it automatically, so a file that never
completed a set stays until you remove it.
How long the runs themselves are kept is in Background jobs.
When the data source is disabled
Section titled “When the data source is disabled”Once a source has been saved enabled, disabling it does not take its FTP credentials
away — changing its connection to anything but FTP push does. From the save that
disables it, an upload is still accepted into import, but it is not imported: the file
is neither refused nor deleted, and waits there. A new username or password saved while
the source is disabled takes effect only at the save that enables it again; until then
the old ones still log in.
Enabling the source again does not import what is waiting. Uploads after that are
handled as usual, and a file already waiting in import counts towards the set that
starts the next import. To import a complete set that is waiting, upload one of its
files again.
Upload files to an asset inbox
Section titled “Upload files to an asset inbox”An asset inbox takes new asset files. Its FTP Access block, under Settings → Assets → Inboxes, shows the host, the port and the username to use. The password is the inbox’s Secret: an inbox without one has no FTP access. The default inbox has no FTP Access block — create another inbox to upload over FTP.
After you connect you see an empty folder. Upload files into it; you cannot list, download or delete them, or create folders.

