Upload file with POST

POST /v4/upload

The POST method accepts files up to 100 MB. If you need to upload larger files please refer to the Stream Upload API (PUT). See this section for more information about the upload process.

API Permissions

FILE_UPLOAD

Query Parameters

Parameter Type Default Description
folder string
[Optional]
/ Specifies the folder to upload the file into. If it does not exist, it will be created
Example: /path/to/folder
upload_mode string
[Optional]
try-safe-2000ms safe The request is blocked and the response is returned only after the file is being successfully stored in at least one storage backend.
try-safe[-xxxms] The request is blocked for the duration of the timeout parameter or until the file is being successfully stored in at least one storage backend - whichever happens first.
quick Returns the response as soon as the Uploader has received the file. This method has the benefit from returning an answer quickly but is unreliable as the actual upload in the storage backend takes place after the response is being returned and there is no acknowledgement from the storage backend.

Try it out

You can upload files using 3 methods:


Multipart/form-data request

This is the most common way to upload a file and allows easy integration in HTML forms. The file(s) should be attached to the file parameter:

curl --request POST \
  --url 'https://api.filerobot.com/fusqadtm/v4/upload?folder=/folder' \
  --header 'content-type: multipart/form-data; boundary=---011000010111000001101001' \
  --header 'X-Filerobot-Key: 19692813e7364ef8ad6a6504d50a12ca' \
  --form file=@yourfile.txt

You can specify the target file name with the name parameter and include metadata (meta) upon upload:

curl --request POST \
  --url 'https://api.filerobot.com/fusqadtm/v4/upload?folder=/folder_test' \
  --header 'content-type: multipart/form-data; boundary=---011000010111000001101001' \
  --header 'X-Filerobot-Key: 19692813e7364ef8ad6a6504d50a12ca' \
  --form file=@yourfile.txt \
  --form "name[file]=new_name.jpg" \
  --form "meta[file]={\"meta_key\": {\"default\":\"meta_value\"}}"

Please note that the meta fields have to match the custom metadata keys set in your container.


Remotely hosted file

The file(s) will be downloaded from their source URL into the Filerobot store.

Upon upload, you can rename the file with the name field as well as fill in the file metadata by providing a meta field in the JSON:

{
    "files_urls": [
        {
            "meta": {
                "meta_key": {
                    "default": "metadata field value"
                }
            },
            "name": "new_image.png",
            "url": "http://sample.li/frog.png"
        }
    ]
}

Please note that the meta fields have to match the custom metadata keys set in your container.

Click on the API Explorer tab to test the API in live.

host: 'https://api.filerobot.com/fusqadtm' path: /v4/upload method: POST parameters: folder: /folder_test variables: {} headers: X-Filerobot-Key: 19692813e7364ef8ad6a6504d50a12ca Content-Type: application/json body: | { "files_urls": [ { "meta": { "meta_key": { "default": "metadata field value" } }, "name": "new_image.png", "url": "http://sample.li/frog.png" } ] } theme: clouds-midnight curlAPIKey: "" axiosTimeout: 35000 maxContentLength: 150000 render: curl_tab: true

You can provide up to 20 URLs in a single request. Additional files will not be uploaded.


Base64-encoded

You can upload base64-encoded content into Filerobot:

Parameter Defaul Description
name [Required] Specifies the file name after upload.
meta [Optional] Fills in meta fields upon upload.
data [Required] Base64-encoded file.
postactions [Required] decode_base64 decodes the uploaded content after upload to store as file.

Please note that the meta fields have to match the custom metadata keys set in your container.

Copy-paste the cURL request in your Terminal or click on the API Explorer tab to see the API in action.

host: 'https://api.filerobot.com/fusqadtm' path: /v4/upload?folder=/folder_test method: POST variables: {} headers: X-Filerobot-Key: 19692813e7364ef8ad6a6504d50a12ca Content-Type: application/json body: | { "name": "new_image_from_base64.png", "meta":{"meta_key":{"default":"test_value"}}, "data": "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iOHlZyCGYAExBAuIIVhADMECYggWEEOwgBiCBcQQLCCGYAExBAuIIVhADMECYggWEEOwgBiCBcQQLCCGYAExBAuIIVhADMECYggWEEOwgBiCBcQQLCCGYAExBAuIIVhADMECYggWEEOwgBiCBcQQLCCGYAExBAuIIVhADMECYggWEEOwgBiCBcQQLCCGYAExBAuIIVhADMECYggWEEOwgBiCBcQQLCCGYAExBAuIIVhADMECYggWEEOwgBiCBcQQLCCGYAExBAuIIVhADMECYggWEEOwgBiCBcQQLCCGYAExBAuIIVhADMECYggWEEOwgBiCBcQQLCCGYAExBAuIIVhADMECYggWEEOwgBiCBcQQLCCGYAExBAuIIVhADMECYggWEEOwgBiCBcQQLCCGYAExBAuIIVhADMECYggWEEOwgBiCBcQQLCCGYAExBAuIIVhADMECYggWEEOwgBiCBcQQLCCGYAExBAuIIVhADMECYggWEEOwgBiCBcQQLCCGYAExBAuIIVhADMECYggWEEOwgBiCBcQQLCCGYAExBAuIIVhADMECYggWEEOwgBiCBcQQLCCGYAExBAuIIVhADMECYggWEEOwgBiCBcQQLCCGYAExBAuIIVhADMECYggWEEOwgBiCBcQQLCCGYAExBAuIIVhADMECYggWEEOwgBiCBcQQLCCGYAExBAuIIVhADMECYggWEEOwgBiCBcQQLCCGYAExBAuIIVhADMECYggWEEOwgBiCBcT4fwvd8vhlstsNAAAAAElFTkSuQmCC", "postactions": "decode_base64" } theme: clouds-midnight curlAPIKey: "" axiosTimeout: 35000 maxContentLength: 150000 render: curl_tab: true

Success

{
    "status": "success",
    "file": {
        "uuid": "340a56bc-8aa7-5b99-8e2a-ba1f9ef50000",
        "name": "new_image_from_base64.png",
        "type": "image/png",
        "size": 3291,
        "sha1": "102c4ec7c78b9dabc3c4d80211e8aea131a69314",
        "meta": {
            "img_h": 400,
            "img_type": "PNG",
            "img_w": 400
        },
        "url_permalink": "https://api.filerobot.com/fusqadtm/v1/get/_/340a56bc-8aa7-5b99-8e2a-ba1f9ef50000/new_image_from_base64.png",
        "url_public": "https://store.filerobot.com/fusqadtm/new_image_from_base64.png",
        "properties": {},
        "overwrite": false
    },
    "info": {
        "company_uuid": "c543bc43-0000-1111-2222-b5293daf15f4",
        "uploaded_files": 1,
        "input_info": {
            "postactions": "decode_base64",
            "name": "new_image_from_base64.png",
            "data": "iVBORw0KGgoAAAANSUhEUgAAAZAAAAGQCAIAAAAP3aGbAAAAA3...hADMECYggWEEOwgBiCBcT4fwvd8vhlstsNAAAAAElFTkSuQmCC"
        },
        "files_count": 0,
        "project_uuid": "094dd930-ccd3-4945-a051-a55b484678a8",
        "trace": "88utQneu-ov-610.elastic-uploader.airstore.scal3fl3x.comW",
        "version": "ab76d1c",
        "uniq_id": "370af52023774d2aa44b005395afa329",
        "init_db": "atom009:27"
    }
}

Errors

{
  "status": "error", 
  "code": "ERR_UNAUTHORIZED", 
  "msg": "Invalid secret key", 
  "hint": "Uploads are not authorized with this secret key. (Login as admin on your Filerobot account, edit your key and add the UPLOAD permission)"
}
{
  "status": "error", 
  "code": "ERR_JSON_INVALID", 
  "msg": "Invalid JSON string received, please check the parsing", 
  "hint": "Please check your JSON structure", 
  "info": {
    "version": 2.07, 
    "uniq_id": "82cc4e53a2ce4d9cb19648722c1fd4cd", 
    "project_uuid": "094dd930-ccd3-4945-a051-xxxxxxxxxxxx", 
    "company_uuid": "c543bc43-0000-1111-2222-xxxxxxxxxxxx"
  }
}