Files
fnx_web/res/include/md/api.md

2.0 KiB

API documentation

Methods for using pixeldrain programmatically.

Authentication

All methods which create, modify or delete a resource require an API key. API keys can be obtained from your user account's API keys page.

To use the API key you need to enter it in the password field of HTTP Basic Access Authentication. The username field does not matter, it can be empty or anything else.

Example usage in JavaScript:

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.

curl example

To upload files to pixeldrain you will need an API key. Get an API key from the API keys page 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 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"}}