Use PUT API for uploading

This commit is contained in:
2021-09-27 21:00:37 +02:00
parent 695440bd28
commit 395bbc0947
3 changed files with 99 additions and 7 deletions

View File

@@ -1,4 +1,8 @@
# Pixeldrain API documentation
# API documentation
Methods for using pixeldrain programmatically.
## Authentication
The methods for uploading and retrieving files don't require an API key. The
methods for creating and retrieving lists also don't require an API key. All
@@ -37,6 +41,22 @@ The path is to be appended to the API URL, so "/file/someid/thumbnail" becomes
The base URL for the API is "{{apiUrl}}", all paths below are relative to that
URL.
## curl example
Here's how to anonymously upload a file using curl:
```
curl -T "file_name.txt" https://pixeldrain.com/api/file/
```
You can also upload a file to your pixeldrain account using curl. Get an API key
from the [API keys page](/user/api_keys) and enter it in the command. Replace
the example API key here with your own:
```
curl -T "file_name.txt" -u :5f45f184-64bb-4eaa-be19-4a5f0459db49 https://pixeldrain.com/api/file/
```
## Form value order
I recommend you put files at the end of every file upload form. By doing this

View File

@@ -6,7 +6,8 @@
### Description
Upload a file.
Upload a file. I recommend that you use the PUT API instead of the POST API.
It's easier to use.
### Parameters
@@ -73,6 +74,78 @@ HTTP 413: Payload Too Large
</div>
</details>
<details class="request_put">
<summary><span class="method">PUT</span>/file/{name}</summary>
<div>
### Description
Upload a file.
### Parameters
Param | Type | Required | Location | Maximum Size | Default | Description
----------|---------|----------|---------------|------------------------------|---------|-----------------------------------
name | string | true | URL | 255 characters | none | Name of the file to upload
anonymous | boolean | false | URL parameter | N/A | false | File is not linked to user if true
file | file | true | request body | Depends on user subscription | none | File to upload
### Returns
HTTP 200: OK
```
{
"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"
}
```
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."
}
```
</div>
</details>
<details class="api_doc_details request_get">
<summary><span class="method">GET</span>/file/{id}</summary>
<div>