Skip to main content
Question

Unable to get file download URL

  • May 22, 2025
  • 6 replies
  • 59 views

Forum|alt.badge.img

I am trying to get a download link of a file, but getting this error: invalid value 4.

{"type":"error","status":400,"code":"bad_request","context_info":{"errors":[{"reason":"invalid_parameter","name":"file_version_id","message":"Invalid value '4'."}]},"help_url":"http:\/\/developers.box.com\/docs\/#errors","message":"Bad Request","request_id":"48y8omgyw5auncay"}

here is my code sniped: 

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://api.box.com/2.0/files/" . $fileId . "/content?version=4");
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Authorization: Bearer " . $accessToken
));

// Receive server response ...
$server_output = curl_exec($ch);
$downloadDetails = json_decode($server_output);
curl_close($ch);

Not getting any idea why i am getting this. Can anyone help me out?

6 replies

Forum|alt.badge.img

Hi Alauddin

For the version parameter you need a valid version ID.

Use the https://developer.box.com/reference/get-files-id-versions endpoint to list older versions of your file and use the version ID of the one you want to download. 

curl_setopt($ch, CURLOPT_URL, "https://api.box.com/2.0/files/" . $fileId . "/content?version=ADD_THE_CORRECT_VERSION_ID_HERE");

Best regards, Peter Christensen, Platform Solutions Engineer, Box


Forum|alt.badge.img

Thanks Peter, I got the idea. But it is not returning json. How do i get the data as a json? 


Forum|alt.badge.img

hi

Not sure what you mean? The endpoint you are using https://developer.box.com/reference/get-files-id-content/ returns a binary result, not a json

If you are looking for file info rather than the actual content you can use this endpoint https://developer.box.com/reference/get-files-id/ or this one for versions https://developer.box.com/reference/get-files-id-versions-id/

Best regards,

Peter


Forum|alt.badge.img

Sorry, I was talking about Get Download URL. It is returning data like below. Not returning json.

 

HTTP/2 302 date: Fri, 04 Feb 2022 01:19:46 GMT location: https://public.boxcloud.com/d/1/b1!mCOaH-visH4TWpj2tgwhK6Gj_pFX8KIkmVNQdTgLyRAwuDYXXxRSwpVPVG5viDlFT7ch1gDvohs7BnHKSHFZsuDj1LVzD4-icW_OLPhVck1vovqVaoDsIuUwOG7azyeeK-vPrmYYgVt8TFdEYNA409bc75xEx34rD_9_tjg9Q8btN3r_4Pgv9u0lX2IDfwFzXi9DBdlyAyfhWVS2_pHG4EEmlKQNq5rK5ZFe8Ps-A_G7P6jdRSxoTpvCQwmNUXhWX_Y4XwUQNxDyJMOobt4YL0ZnEMnBInX9oYzdgexMagddceh3vGgFHNruCGfT8UgGikmuE0SLlt3ICzw3Vs7vx2c6ueRz61bxxy-VUc6We9ow18BlhQTEz06DlzR-tliIZQDzsIlimI5GUjqo5GT_4rHlKnIt7fFD_5cJPN_6X6ueC1XosAD03a730PCcQfg0mz26u6LFwE19RA919lzOAOb5qytaPfg5tqTHSGf-_Q2wEwg4vsWDrFrpp3Kaieto0i1ueayb1NPhPeyoankyRGhJv7GdEDd4E_LtdSaW9960mhTI5ciDAFCKaAlO63lNTPJD6Rj0A3dHK8eVigDjvIb3Y-CxqLjKwVRyK7jn-FphYwuUVOVAM0Oo8iuyUTiOne2tOlIhyDAJy6ZKRdxLibMl0tENegjdVRf5tlGao1GYwTMHJ8IZ6fQuSJQ_sUIqCTO-R5PlOrUP1Pmd_u5UjIo3ZlxlUsLuPaEuOTYwxDUAUKTmoPczwF0-Bl_SGoZ0jtMwk_7VsSa8wULeoxcSerUE0OMolM3ECtY1NY7C-lGh496HGygGz3o1F8kr_JJ5LUiHNRLeaFFAZcGJYnM3XHySTU-dWBZ4AB5J37rPrkYFm1T8LO3p6uAbfYNYb8-yeCpHgrcNSz-PmdtzbKdbkY9-BTWyHfFaDRmQR9y_-cF2x9xfg3-i8wrjFk0dxwKA_J-jEjdHp1q1NFaf9sf7vnTV0mj0GjcxIahAF02CCsdaGbG1VASLpL8Y3lashJ0jzVQSvAvpEWfHvwT5jijWw93MCjFD7YRGpWYz-9F8YHgyq3SlgW_hwgjNvnRIQIZbZj7ZVTfR0Md82ep2X28r4hY7r8tgQkWsx7AUoblpvTrt7IqYPJCWxmXT_ZcU_bu-f4p9-vPrlqyo8MNhedc12ChSSHIPM2kKC4p29md6MKS6OpjxBe3P5T-SS2XugDnJ0GGmqywppB3pwoAH-i4bfWuMWiifX1LegffRewtoOA7-qOkMt7pVeL468dAxsfvHumuuYVM_lZZaAFvbIu89dg40XLEd5SGs2q8jGradbb9KB6a8F2FH0srrYI2MyMu8e577cRmDeYEw-Yvgv2pcKdPa46gfYzxUdYiZJE-GvwGHh7mpI0K0dhjFEQ../download x-envoy-upstream-service-time: 458 box-request-id: 01b89a29423847e7f518b7384208ff2d6 cache-control: no-cache, no-store strict-transport-security: max-age=31536000


Forum|alt.badge.img

The https://developer.box.com/reference/get-files-id-content endpoint will (almost) always return a 302 with location header instruction the client where to download the file.

This endpoint will not return any json payload. Are you asking because the file you are trying to download is a json file? To read it you will need to download it first


Forum|alt.badge.img

I am trying to get a downloadable URL which i will use on another API to store the file elsewhere (outside of box).