Upload a file.
| Param | Required | Maximum Size | Default | Description |
| name | false | 255 Characters | Multipart file name | Name of the file to upload |
| file | true | 5 000 000 000 Bytes | none | Multipart file to upload |
HTTP 200: OK
{
"success": true,
"id": "abc123" // ID of the newly uploaded file
}
HTTP 422: Unprocessable Entity
{
"success": false,
"value": "no_file",
"message": "The file does not exist or is empty."
}
HTTP 500: Internal Server Error
{
"success": false,
"value": "internal",
"message": "An internal server error occurred."
}
HTTP 413: Payload Too Large
{
"success": false,
"value": "file_too_large",
"message": "The file you tried to upload is too large. Max 5000 MB allowed."
}
HTTP 500: Internal Server Error
{
"success": false,
"value": "writing",
"message": "Something went wrong while writing the file to disk, the server may be out of storage space."
}
HTTP 413: Payload Too Large
{
"success": false,
"value": "name_too_long",
"message": "File Name is too long, Max 255 characters allowed."
}
Returns the full file associated with the ID. Supports byte range requests.
| Param | Required | Location | Description |
| id | true | URL | ID of the file to request |
Same as GET /file/{id}, but with File Transfer HTTP headers. Will trigger a save file dialog when opened in a web browser. Also supports byte range requests.
Returns information about one or more files. You can also put a comma separated list of file IDs in the URL and it will return an array of file info, instead of a single object.
| Param | Required | Location | Description |
| id | true | URL | ID(s) of the file |
HTTP 200: OK
{
"success": true,
"id": "123abc",
"file_name": "screenshot.png",
"date_upload": 1485894987, // Timestamp
"date_last_view": 1485894987, // Timestamp
"file_size": 5694837, // Bytes
"views" 1234, // Amount of unique file views
"mime_type" "image/png",
"description": "File description",
"mime_image": "http://pixeldra.in/res/img/mime/image-png.png", // Image associated with the mime type
"thumbnail": "http://pixeldra.in/api/thumbnail/123abc" // Link to a thumbnail of this file
}
HTTP 404: Not Found
{
"success": false,
"value": "file_not_found"
}
Returns a PNG thumbnail image representing the file. The thumbnail is always 100*100 px. If the source file is parsable by imagemagick the thumbnail will be generated from the file, if not it will be a generic mime type icon.
| Param | Required | Location | Description |
| id | true | URL | ID of the file to get a thumbnail for |
A PNG image of 100*100 px.
Deletes a file. Only works when the users owns the file.
| Param | Required | Location | Description |
| id | true | URL | ID of the file to delete |
HTTP 200: OK
{
"success": true,
"value": "file_deleted",
"message": "The file has been deleted."
}
HTTP 404: Not Found
{
"success": false,
"value": "file_not_found",
"message": "File ID was not found in the database."
}
HTTP 401: Unauthorized
{
"success": false,
"value": "unauthorized",
"message": "You are not logged in."
}
HTTP 403: Forbidden
{
"success": false,
"value": "forbidden",
"message": "This is not your file."
}