Prerequisites
- A workspace on Leaf (€5/month) or Tree (€15/month). Upload requests feed a collection, so creating one needs a paid plan; on the free plan it returns
402upgrade_required. Reading requests is free. - An API key with
collections:write(to create, pause and close) andcollections:read(to list and read), exported asYUNGLE_API_KEY. - A collection for the files to land in. Create one with Client collections, or find its
idwithGET /collections. The vault cannot take upload requests.
Steps
1
Create the upload request
Name the collection and give the page a title. Everything else is optional.The response is An
201 with the request and its public url:expiresAt in the past returns 400 invalid_request. A collection that is not in your workspace, or is the vault, returns 404 not_found.2
Share the link
Send
url to the people you want files from, by any channel you like. Yungle does not email it for you.Anyone who has the link can upload until you pause or close it, or until expiresAt passes, so treat it like a key. Add a password when the link might travel further than you intend.What uploaders get:- No account and no sign-in. They can leave their name, email address and a message with the files.
- Folders they drop become real folders at the top level of your collection.
- Every file is scanned for malware and counts against your plan’s storage quota, like your own uploads. When the quota is full, the page refuses further uploads.
- The page takes uploads only while your workspace is on a paid plan.
3
See what arrived
GET /requests/{id} returns the request with running totals (submissionCount, receivedBytes) and one entry per submission: one person’s upload, with the name, email and message they typed.GET /collections/{id}/files, or download them all with GET /collections/{id}/download-links.To hear about each submission as it completes, subscribe a webhook to request.submitted. It fires once every file in the submission has arrived, and lists those files with their ids, names, sizes and folders.4
Pause or close the link
PATCH the request with a status:pausedstops new uploads. Set it back toactiveto reopen the link.closedstops uploads for good. Use it when the request is finished.
{ "request": { … } } with the new status.Next steps
Webhooks
Get
request.submitted the moment someone finishes uploading.Download files
Pull everything that arrived, with its folders.
Client collections
Set up the collection a request feeds.
API reference
Every field of the upload request endpoints.
