2021-09-27 21:00:37 +02:00
|
|
|
# API documentation
|
|
|
|
|
|
|
|
Methods for using pixeldrain programmatically.
|
|
|
|
|
|
|
|
## Authentication
|
2021-09-21 22:47:13 +02:00
|
|
|
|
|
|
|
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
|
|
|
|
methods which delete or modify a resource **do** require an API key.
|
|
|
|
|
|
|
|
API keys can be obtained from your user account's [API keys
|
|
|
|
page](/user/api_keys).
|
|
|
|
|
|
|
|
To use the API key you need to enter it in the password field of [HTTP Basic
|
|
|
|
Access
|
|
|
|
Authentication](https://en.wikipedia.org/wiki/Basic_access_authentication). The
|
|
|
|
username field does not matter, it can be empty or anything else.
|
|
|
|
|
|
|
|
Example usage in JavaScript:
|
|
|
|
|
|
|
|
```js
|
|
|
|
const resp = await fetch(
|
|
|
|
"https://pixeldrain.com/api/user/files",
|
|
|
|
headers: {
|
|
|
|
"Authorization": "Basic "+btoa(":"+api_key),
|
|
|
|
// The btoa function encodes the key to Base64
|
|
|
|
},
|
|
|
|
)
|
|
|
|
if(resp.status >= 400) {
|
|
|
|
throw new Error(await resp.json())
|
|
|
|
}
|
|
|
|
result = await resp.json()
|
|
|
|
```
|
|
|
|
|
|
|
|
Some JSON responses include fields which end in "_href" (some people don't know
|
|
|
|
this, but "href" stands for "Hypertext Reference", the more you know). These
|
|
|
|
point to different places in the API, which you can retrieve with a GET request.
|
|
|
|
The path is to be appended to the API URL, so "/file/someid/thumbnail" becomes
|
|
|
|
"{{apiUrl}}/file/someid/thumbnail".
|
|
|
|
|
|
|
|
The base URL for the API is "{{apiUrl}}", all paths below are relative to that
|
|
|
|
URL.
|
|
|
|
|
2021-09-27 21:00:37 +02:00
|
|
|
## curl example
|
|
|
|
|
|
|
|
Here's how to anonymously upload a file using curl:
|
|
|
|
|
2024-02-15 18:46:46 +01:00
|
|
|
`curl -T "file_name.txt" https://pixeldrain.com/api/file/`
|
2021-09-27 21:00:37 +02:00
|
|
|
|
|
|
|
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:
|
|
|
|
|
2024-02-15 18:46:46 +01:00
|
|
|
`curl -T "file_name.txt" -u :5f45f184-64bb-4eaa-be19-4a5f0459db49
|
|
|
|
https://pixeldrain.com/api/file/`
|
2021-09-27 21:00:37 +02:00
|
|
|
|
2021-09-21 22:47:13 +02:00
|
|
|
## Form value order
|
|
|
|
|
|
|
|
I recommend you put files at the end of every file upload form. By doing this
|
|
|
|
the pixeldrain server can respond to malformed requests before the file upload
|
|
|
|
finishes and this may save you a lot of time and bandwidth when uploading large
|
|
|
|
files. Make sure your HTTP client has support for premature responses,
|
|
|
|
pixeldrain uses them a lot. If the server responds before your request is
|
|
|
|
finished it will always indicate an error and you may abort the connection.
|
|
|
|
|
|
|
|
|
|
|
|
{{template "api_file.md"}}
|
|
|
|
{{template "api_list.md"}}
|
|
|
|
{{template "api_user.md"}}
|