Working With Files
Listing your files
First, let's find out how you can list files that are accessible to an authenticated user (using its API Key).
The following request returns a paginated collection of files.
GET https://api.up2sha.re/files
Parameters
Name | Type | Description |
---|---|---|
visibility |
string |
Can be one of public , unlisted , private . Default: unlisted |
Relationships
Here are the available relationships:
- user
- uploadKey
Example
Request Headers
The following request headers must be set.
Accept: application/vnd.u2s.v1+json
X-Api-Key: your_api_key
Here is how it works using curl.
curl -v \
-H "Accept: application/vnd.u2s.v1+json" \
-H "X-Api-Key: your_api_key" \
"https://api.up2sha.re/files?include=uploadKey&limit=5&visiblity=private"
Response Body
The response body will be similar to this.
{
"data": [
{
"id": 56883,
"user_id": 1,
"filename": "my_file.exe",
"description": "My description",
"size": null,
"extension": "exe",
"badge": "eWVRdv8VQoYi",
"downloads": 0,
"views": 0,
"md5": null,
"sha1": null,
"sha256": null,
"visibility": "private",
"created_at": {
"date": "2017-11-18 18:08:35.000000",
"timezone_type": 3,
"timezone": "UTC"
},
"updated_at": {
"date": "2017-11-18 18:08:35.000000",
"timezone_type": 3,
"timezone": "UTC"
},
"viewed_at": null,
"links": {
"rel": "self",
"uri": "/files/56883"
},
"uploadKey": {
"id": 2,
"file_id": 56883,
"key": "AsxZ4NrQjFZaK5GbKNkGnKw5675mz3lo",
"current_length": 2097152,
"max_length": 10954725,
"created_at": {
"date": "2017-11-18 18:08:37.000000",
"timezone_type": 3,
"timezone": "UTC"
},
"updated_at": {
"date": "2017-11-18 18:08:37.000000",
"timezone_type": 3,
"timezone": "UTC"
},
"links": {
"rel": "self",
"uri": "/upload-keys/2"
}
}
}
...
],
"meta": {
"pagination": {
"total": 45,
"count": 5,
"per_page": 5,
"current_page": 1,
"total_pages": 9,
"links": {
"next": "https://api.up2sha.re/files?limit=5&page=2"
}
}
}
}
Updating file metadata
Not yet documented. Come back later!
Downloading a file
To download a file, you must first know its identifier. The file id can be retrieved after a successful upload process in the response's Location
header, or by using the "Listing" endpoint, as described in the Listing your files section above.
Then, you need to retrieve its download_url
attribute by sending a GET
request to the following URL. In the URL, set the {fileId}
value to the previously retrieved identifier.
GET /files/{fileId}
Request Headers
The following request headers must be set.
Accept: application/vnd.u2s.v1+json
X-Api-Key: your_api_key
Here is how it works using curl.
curl -v \
-H "Accept: application/vnd.u2s.v1+json" \
-H "X-Api-Key: your_api_key" \
"https://api.up2sha.re/files/56883"
Response Body
{
"id": 56883,
"user_id": 1,
"filename": "my_file.exe",
...
"dowload_url": "https://up2sha.re/files/eWVRdv8VQoYi/download"
}
Finally, send a GET
request to retrieved download url - see the download_url
attribute shown above.
GET https://up2sha.re/files/eWVRdv8VQoYi/download
Here is how it works using curl.
curl -v \
-o my_file.exe \
"https://up2sha.re/files/eWVRdv8VQoYi/download"
Response Body
The response body contains the file contents.
token
. It will already be present in the retrieved download url.