Discussions
Cant download a File which got uploaded during Sreening (Get application file by id)
Hi everyone,
I'm building a workflow in n8n to automatically download a file that a candidate uploads as part of a screening question. I'm consistently running into a "resource not found" error, even though I'm using the pre-signed URL provided by the API.
I'd appreciate any help you can offer.
My Goal
My objective is to download a file (e.g., a PDF) attached to a screening question answer for a specific application.
My n8n Workflow
My process involves two main steps:
Node 1: Get Application Data
This node sends a GET request to the /v2/applications/{id} endpoint.
This step is successful. My authentication is correct, and the JSON response contains the screening question data. I can clearly see the complete, pre-signed URL for the file located in the file.data field. The URL has the format https://api.join.com/v2/application-files/.../?sig=....
Node 2: Download the File
This node takes the exact URL from the file.data field of the first node's output.
It then immediately performs a GET request to that pre-signed URL to download the file.
The Problem
The second node, which attempts the download, consistently fails with a 404 "The resource you are requesting could not be found" error.
What I've Already Troubleshot
URL Expiration: I'm executing the entire workflow at once, so the second node uses the URL within milliseconds of it being generated. The link should not be expiring.
Incorrect URL: I am using the complete and exact URL string provided in the API response from the first node. I am not attempting to build the URL myself.
Authentication: The initial API call is authenticated and works perfectly. The subsequent download request should be authorized by the temporary signature (sig) in the URL itself.
My Question
Has anyone successfully implemented this? It seems like a straightforward process, but the final download step is failing. I'm wondering if there is a specific HTTP header (besides the standard ones), a required scope for the API key, or another step I might be missing to make the pre-signed URL accessible.
Any insight or examples would be incredibly helpful. Thank you!
