Skip to Content
put.ioDevelopers
Register an app

Add a transfer

POSThttps://api.put.io/v2/transfers/add

We may update some of the fields (e.g. name and type) after adding a transfer. You may use /transfers/{id} endpoint to get up-to-date values.

If you want to upload a torrent file, use /files/upload endpoint.

Requires an active plan; returns 402 otherwise.

Body

application/x-www-form-urlencoded

urlstringRequired

HTTP[S] URL, magnet link, or torrent info-hash.

save_parent_idinteger

Where to save the transfer's files. 0 is the root folder. If omitted, files are saved under user's default download folder. Default download folder can be changed via /account/settings endpoint with default_download_folder key.

callback_urlstring · uri

Transfer’s metadata will be POSTed to this URL after the download is finished.

Returns

200 · a transfer object

availabilityinteger | null · 0–100
callback_urlstring | null
client_ipstring | null
completion_percentinteger | null

Progress of saving the downloaded files to storage.

created_atstring · date-time
created_torrentboolean
+ 32 more fields

Errors

JSON with error_type, error_message, error_id and extra.

400EMPTY_URL if url is empty.
402No active plan.
429Too many requests. Limits are per token and per IP. Wait until X-RateLimit-Reset, then retry.