General Information

All requests to the API shall be HTTP/1.1 GET except upload

Most requests require a API Login & API Key, you can find both in the User Panel at the "User Settings" Tab.

Response is json, structure is as follows:

{
    "status": <status-code>,
    "message": <informational message. might vary, use the status code in your code!>,
    "result": <result of the request>
}

status

200: Everything is OK. Request succeeded

400: Bad request (e.g. wrong parameters)

403: Permission denied (wrong api login/key, action on a file which does not belong to you, ...)

404: File not found

50x: Server errors. You should not see this, but be prepared.

message

This message gives more detailed information in case there is an error.

You can use this for displaying it to the user, but please don't use it for checking if the request succeeded. That's what the status code is for.

result

holds the response of the request if succeeded. Might hold an array of data or just a boolean true/false, depending on the request

Generate API URL

This is basically the very first thing you needed to work on easyload API.

Request

GET
https://easyload.io/v1/generate

Response

{
    "status": 200,
    "message": "OK",
    "result": "https:\/\/thisisexample.easyload.io\/"
}

Account Infos

Everything account related (balance, total files, ....)

Request

GET
/v1/account/info?login={login}&key={key}

Parameters

Name Description Example Required
login API-Login URm9xHojtifKg6EZQqT8 yes
key API-Key / API-Password jMa1BbzGpgoQMyKearuW yes

Response

200 (OK) Content-Type: application/json
{
    "status": 200,
    "message": "OK",
    "result": {
        "email": "admin@easyload.com",
        "created_at": "2020-02-12T17:31:01.000000Z",
        "balance": 0.000,
        "total_files": 49,
        "storage_used": 2144616773
    }
}

Upload

Uploads shall be POSTed to the upload URL returned by our API and shall be multipart/form-data encoded. Example with curl:

curl -k -F file=@/path/to/file.txt -F login={login} -F key={key} https://ex.easyload.example/v1/file/upload

Request

POST
/v1/file/upload

Parameters

Name Description Example Required
login API-Login URm9xHojtifKg6EZQqT8 yes
key API-Key / API-Password jMa1BbzGpgoQMyKearuW yes
folder Folder-ID to upload to 1234 no

Response

200 (OK)
Content-Type: application/json
{
    "status": 200,
    "message": "OK",
    "result": "BeMlJ0XqPK"
}

Add Remote Upload

Remote Uploading a file

Request

GET
/v1/remote/add?login={login}&key={key}&url={url}

Parameters

Name Description Example Required
login API-Login URm9xHojtifKg6EZQqT8 yes
key API-Key / API-Password jMa1BbzGpgoQMyKearuW yes
url Remote URL http://google.com/favicon.ico yes

Response

200 (OK)
Content-Type: application/json
{
  "status": 200,
  "msg": "OK",
  "result": {
    "id": "993ce1e13786577e8032d9c42d04ffe0",
  }
}

Check Remote Upload Status

Check Status of Remote Upload

Request

GET
/v1/remote/status?login={login}&key={key}

Parameters

Name Description Example Required
login API-Login URm9xHojtifKg6EZQqT8 yes
key API-Key / API-Password jMa1BbzGpgoQMyKearuW yes

Response

200 (OK)
Content-Type: application/json
{
    "status":200,
    "message":"OK",
    "result":{
        "993ce1e13786577e8032d9c42d04ffe0":{
            "id":"993ce1e13786577e8032d9c42d04ffe0",
            "remote_url":"http:\/\/google.com\/favicon.ico",
            "name":"favicon.ico",
            "status":"pending",
            "url":null
        },
        "8888e1e13786577efffff9c42d04ffe0":{
            "id":"8888e1e13786577efffff9c42d04ffe0",
            "remote_url":"http:\/\/proof.ovh.net\/1Gio.dat",
            "name":"1Gio.dat",
            "status":"finished",
            "url":"https:\/\/easyload.io\/f\/LjqlxjXpDg"
        },
         "9999e1e13786577ddddff9c42d04ffe0":{
            "id":"9999e1e13786577ddddff9c42d04ffe0",
            "remote_url":"http:\/\/proof.ovh.net\/2Gio.dat",
            "name":"2Gio.dat",
            "status":"uploading",
            "url":null
        },
        "0000e1e13786577eeeeff9c42d04ffe0":{
            "id":"0000e1e13786577eeeeff9c42d04ffe0",
            "remote_url":"http:\/\/proof.ovh.net\/3Gio.dat",
            "name":"3Gio.dat",
            "status":"canceled",
            "url":null
        },
        "1111e1e13786577eaaaff9c42d04ffe0":{
            "id":"1111e1e13786577eaaaff9c42d04ffe0",
            "remote_url":"http:\/\/proof.ovh.net\/4Gio.dat",
            "name":"4Gio.dat",
            "status":"failed",
            "url":null
        }
    }
}

List Folder/File

Shows the content of your folders

Request

GET
/v1/folder/info?login={login}&key={key}&folder={folder}

Parameters

Name Description Example Required
login API-Login URm9xHojtifKg6EZQqT8 yes
key API-Key / API-Password jMa1BbzGpgoQMyKearuW yes
folder Folder ID 5 no

Response

200 (OK)
Content-Type: application/json
{
    "status":200,
    "message":"OK",
    "result":{
        "folders":[
            {
                "id":5,
                "name":".poster"
            },
            {
                "id":6,
                "name":".subtitles"
            }
        ],
        "files":[
            {
                "linkid":"wRMd3rYl2x",
                "name":"we.mp4",
                "content_type":"video\/mp4",
                "size":412460137,
                "md5":"1a84cf8e990c4daf0f04540f3e21bcdf",
                "views":0
            },
            {
                "linkid":"b0KX2zDX9m",
                "name":"are.mp4",
                "content_type":"video\/mp4",
                "size":184604187,
                "md5":"3acfe3265143940e1719f30b8fa5dfac",
                "views":2
            },
            {
                "linkid":"kEpXE1WXV0",
                "name":"not.mp4",
                "content_type":"video\/mp4",
                "size":412460137,
                "md5":"1a84cf8e990c4daf0f04540f3e21bcdf",
                "views":0
            },
            {
                "linkid":"7KoNmqqNPD",
                "name":"gay.mp4",
                "content_type":"video\/mp4",
                "size":184604187,
                "md5":"3acfe3265143940e1719f30b8fa5dfac",
                "views":0
            },
            {
                "linkid":"j3mdB95lxB",
                "name":"likeu(justkidding.weloveu.:heart:).mp4",
                "content_type":"video\/mp4",
                "size":64078979,
                "md5":"93b191ce5557b678d02580293e6bd36e",
                "views":0
            }
        ]
    }
}

Rename Folder

Set a new name for a folders

Request

GET
/v1/folder/rename?login={login}&key={key}&name={name}&folder={folder}

Parameters

Name Description Example Required
login API-Login URm9xHojtifKg6EZQqT8 yes
key API-Key / API-Password jMa1BbzGpgoQMyKearuW yes
folder Folder-ID 5 yes
name new Folder-Name my%20new%20foldername yes

Response

200 (OK)
Content-Type: application/json
{
  "status": 200,
  "message": "OK",
  "result": true
}

File Info

check the status of a file, e.g. if the file exists

Request

GET
/v1/file/info?file={file}&login;={login}&key;={key}

Parameters

Name Description Example Required
file File-ID(s), single file or comma-separated (max. 50) BeMlJ0XqPK,r5QNLalzZy,LjqlxjXpDg yes

Response

200 (OK)
Content-Type: application/json
{
    "status":200,
    "message":"OK",
    "result":{
        "BeMlJ0XqPK":{
            "id":"BeMlJ0XqPK",
            "status":200,
            "name":"916916.mp4",
            "size":640554,
            "md5":"78a0624dbe450287dba3b4dbc0e2bcbd",
            "content_type":"video\/mp4"
        },
        "r5QNLalz4Zy":{
            "id":"r5QNLalz4Zy",
            "status":404,
            "name":null,
            "size":null,
            "md5":null,
            "content_type":null
        },
        "LjqlxjXpDg":{
            "id":"LjqlxjXpDg",
            "status":200,
            "name":"EgqAPK 460svvp9 webm.mp4",
            "size":2226321,
            "md5":"bbfa0bb3cc7385cca9f6543338530e7b",
            "content_type":"video\/mp4"
        }
    }
}

Rename File

Set a new name for a file

Request

GET
/v1/file/rename?login={login}&key={key}&file={file}&name={name}

Parameters

Name Description Example Required
login API-Login URm9xHojtifKg6EZQqT8 yes
key API-Key / API-Password jMa1BbzGpgoQMyKearuW yes
file File ID LjqlxjXpDg yes
name new File-Name My%20File%20Backup_2020.zip yes

Response

200 (OK)
Content-Type: application/json
{
  "status": 200,
  "message": "OK",
  "result": true
}

Delete File

Remove one of your files

Request

GET
/v1/file/delete?login={login}&key;={key}&file;={file}

Parameters

Name Description Example Required
login API-Login URm9xHojtifKg6EZQqT8 yes
key API-Key / API-Password jMa1BbzGpgoQMyKearuW yes
file File ID LjqlxjXpDg yes

Response

200 (OK)
Content-Type: application/json
{
  "status": 200,
  "msg": "OK",
  "result": true
}

Generate Temporary URL

This will help to prevent your file from being cloned uplaod & also for security porpuse

The url will expire after 5 minutes, If the content is already loaded, it will not expire unless you refresh the page. So you need to generate a new temporary url.

Request

GET
/v1/temp/generate?file={file}

Parameters

Name Description Example Required
file File ID ifKg6EZQqT8 yes

Response

{
    "status":200,
    "message":"OK",
    "result":{
        "hashid":"ifKg6EZQqT8",
        "url":"https:\/\/easyload.io\/t\/770\/78p66TMruY?expires=1584820139&signature=51db7add7d7f568a331a010b8a9579ed5e478996c43b8b8746d6e38fdbcc0377&embed=0",
        "embed_url":"https:\/\/easyload.io\/t\/770\/78p66TMruY?expires=1584820139&signature=51db7add7d7f568a331a010b8a9579ed5e478996c43b8b8746d6e38fdbcc0377&embed=1",
        "expire_at":"2020-03-21T19:44:59.181242Z"
    }
}