Upload, manage, and share files programmatically. Integrate fii.one into your apps, websites, and workflows.
Get Your API KeySign in to your fii.one account and generate an API key from Settings → API Keys.
curl -X POST "https://fii.one/api/v1/upload" \ -H "Authorization: Bearer YOUR_API_KEY" \ -F "image=@/path/to/file.jpg" \ -F "name=my-image.jpg"
{
"success": true,
"data": {
"id": "abc123-uuid",
"title": "my-image.jpg",
"url": "https://cdn.fii.one/user/file.jpg",
"direct_link": "https://cdn.fii.one/user/file.jpg",
"share_url": "https://fii.one/s/aB3xKp",
"size": 245760,
"mime": "image/jpeg",
"created_at": "2026-05-03T10:00:00.000Z"
}
}/api/v1/uploadUpload a file. Accepts multipart/form-data or JSON with base64.
imageRequired. File binary or base64 data.nameOptional. Custom filename./api/v1/filesList all your files with pagination.
pagePage number (default: 1)limitResults per page (default: 50, max: 100)/api/v1/files/:idGet detailed information about a specific file.
/api/v1/files/:idUpdate file metadata (rename, move to folder).
nameNew filenamefolder_idMove to folder (null for root)/api/v1/files/:idPermanently delete a file and its share links.
/api/v1/keysCreate a new API key (requires session auth).
nameRequired. Key label (e.g., "My App")permissionsArray: ["upload", "read", "delete"]expires_in_daysOptional. Days until expiry.All API requests require an API key. Include it in the Authorization header:
Authorization: Bearer fii_your_api_key_here
Alternatively, pass as query parameter: ?key=fii_your_api_key_here
const form = new FormData();
form.append('image', fileInput.files[0]);
const res = await fetch('https://fii.one/api/v1/upload', {
method: 'POST',
headers: { 'Authorization': 'Bearer YOUR_API_KEY' },
body: form,
});
const data = await res.json();
console.log(data.data.direct_link);import requests
url = "https://fii.one/api/v1/upload"
headers = {"Authorization": "Bearer YOUR_API_KEY"}
files = {"image": open("photo.jpg", "rb")}
response = requests.post(url, headers=headers, files=files)
data = response.json()
print(data["data"]["direct_link"])$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://fii.one/api/v1/upload");
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Authorization: Bearer YOUR_API_KEY"
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, [
"image" => new CURLFile("/path/to/file.jpg")
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = json_decode(curl_exec($ch));
echo $response->data->direct_link;400Bad RequestMissing or invalid parameters401UnauthorizedInvalid or missing API key403ForbiddenInsufficient permissions404Not FoundFile or resource not found413Too LargeFile exceeds plan size limit429Rate LimitedToo many requests500Server ErrorInternal server error