The Brikk API lets you upload images programmatically — from scripts, bots, CI or tools like ShareX. Every response is JSON with an ok boolean.
Base URL
https://brikk.zip
Authentication
Create a key in your dashboard and send it on every request as either header:
Authorization: Bearer brikk_xxxxxxxx
X-Api-Key: brikk_xxxxxxxx
Upload an image
POST /api/v1/upload — multipart form with a field named file.
curl -X POST https://brikk.zip/api/v1/upload \ -H "Authorization: Bearer brikk_xxxxxxxx" \
-F "file=@cat.png"
201 Created
{
"ok": true,
"code": "a1B2c3",
"url": "https://brikk.zip/uploads/u/1/a1B2c3.png",
"size": 48213,
"mime": "image/png",
"deleteUrl": "https://brikk.zip/api/v1/delete/a1B2c3"
}
Errors return an ok:false body with a message and a matching HTTP status: 401 (bad key), 413 (too large), 415 (type not allowed), 507 (quota exceeded).
Delete an image
POST /api/v1/delete/{code} — deletes one of your images and refunds the quota.
curl -X POST https://brikk.zip/api/v1/delete/a1B2c3 \ -H "Authorization: Bearer brikk_xxxxxxxx"
List your uploads
GET /api/v1/images?limit=50 — your most recent uploads (max 100).
curl https://brikk.zip/api/v1/images?limit=10 \ -H "Authorization: Bearer brikk_xxxxxxxx"
Account & quota
GET /api/v1/me — your account details and current storage usage.
{
"ok": true,
"user": { "id": 1, "username": "you", "is_admin": false },
"quota": { "limit_bytes": 2147483648, "used_bytes": 48213, "remaining_bytes": 2147435435 }
}
ShareX
Create a custom uploader (Destinations → Custom uploader settings):
{
"Name": "Brikk",
"DestinationType": "ImageUploader, FileUploader",
"RequestMethod": "POST",
"RequestURL": "https://brikk.zip/api/v1/upload",
"Headers": { "Authorization": "Bearer brikk_xxxxxxxx" },
"Body": "MultipartFormData",
"FileFormName": "file",
"URL": "{json:url}",
"DeletionURL": "{json:deleteUrl}"
}