Secure object storage service
Files provides a REST API for buckets and file upload, download, listing, metadata, and deletion.
Key features
Use buckets to organize files and access them through simple HTTP endpoints.
Bucket API
Create, list, retrieve, and delete buckets with names and descriptions.
File operations
Upload, download, list, inspect, and delete files inside buckets.
Stored metadata
Files track size, MIME type, timestamps, and content hashes returned by the API.
Quick start
Get started with Files in seconds using the API.
curl -X POST https://files.hola.cloud/v1/buckets \
-H 'X-Glue-Authentication: {"user":{"id":"user-123"}}' \
-d '{"name":"my-bucket","description":"Uploads for my app"}'POST /v1/buckets HTTP/1.1
Host: files.hola.cloud
X-Glue-Authentication: {"user":{"id":"user-123"}}
{"name":"my-bucket","description":"Uploads for my app"}package main
import (
"fmt"
"io"
"net/http"
"encoding/json"
"strings"
)
func main() {
payload := map[string]any{"description": "Uploads for my app", "name": "my-bucket"}
bodyBytes, err := json.Marshal(payload)
if err != nil {
panic(err)
}
body := string(bodyBytes)
req, err := http.NewRequest("POST", "https://files.hola.cloud/v1/buckets", strings.NewReader(body))
if err != nil {
panic(err)
}
req.Header.Set("X-Glue-Authentication", "{\"user\":{\"id\":\"user-123\"}}")
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
responseBody, err := io.ReadAll(resp.Body)
if err != nil {
panic(err)
}
fmt.Println(string(responseBody))
}
<?php
$payload = ['description' => 'Uploads for my app', 'name' => 'my-bucket'];
$body = json_encode($payload);
$ch = curl_init();
curl_setopt_array($ch, [
CURLOPT_URL => 'https://files.hola.cloud/v1/buckets',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => $body,
CURLOPT_HTTPHEADER => [
'X-Glue-Authentication: {"user":{"id":"user-123"}}',
],
]);
$response = curl_exec($ch);
if ($response === false) {
throw new Exception(curl_error($ch));
}
curl_close($ch);
echo $response;
import requests
import json
headers = {
"X-Glue-Authentication": "{\"user\":{\"id\":\"user-123\"}}",
}
payload = {"description": "Uploads for my app", "name": "my-bucket"}
body = json.dumps(payload)
response = requests.request(
"POST",
"https://files.hola.cloud/v1/buckets",
headers=headers,
data=body
)
print(response.text)
const payload = {"description": "Uploads for my app", "name": "my-bucket"};
const response = await fetch("https://files.hola.cloud/v1/buckets", {
method: "POST",
headers: {
"X-Glue-Authentication": "{\"user\":{\"id\":\"user-123\"}}"
},
body: JSON.stringify(payload)
});
console.log(await response.text());
const payload = {"description": "Uploads for my app", "name": "my-bucket"};
const response = await fetch("https://files.hola.cloud/v1/buckets", {
method: "POST",
headers: {
"X-Glue-Authentication": "{\"user\":{\"id\":\"user-123\"}}"
},
body: JSON.stringify(payload)
});
const text = await response.text();
console.log(text);
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.Map;
import java.util.List;
public class Main {
public static void main(String[] args) throws Exception {
var payload = Map.of("description", "Uploads for my app", "name", "my-bucket");
var body = new ObjectMapper().writeValueAsString(payload);
var request = HttpRequest.newBuilder()
.uri(URI.create("https://files.hola.cloud/v1/buckets"))
.method("POST", HttpRequest.BodyPublishers.ofString(body))
.header("X-Glue-Authentication", "{\"user\":{\"id\":\"user-123\"}}")
.build();
var response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}Common use cases
Microservices orchestration
Build and deploy with Files on HolaCloud's enterprise platform, designed for security, reliability, and scale.
Data pipeline automation
Build and deploy with Files on HolaCloud's enterprise platform, designed for security, reliability, and scale.
Event-driven architectures
Build and deploy with Files on HolaCloud's enterprise platform, designed for security, reliability, and scale.
API backend development
Build and deploy with Files on HolaCloud's enterprise platform, designed for security, reliability, and scale.
Ready to get started?
Explore the documentation or launch the console to start building with Files.
Comments