hello.app Documentation
  • Get 100GB Free Cloud Storage Now: Discover hello.app's Secure & Decentralized File Management
  • 👋Welcome to hello.app: Your Gateway to Secure, Decentralized File Storage
  • Overview
    • 💡Platform FAQ
    • 🌐Journalistic Press
  • 💁Support
  • Api Key Documentation
    • 🔑Get an Api key
    • 🌌Endpoints
      • 📍Ping
      • âŦ†ī¸Upload Files
      • 📃Retrieve File Information
      • đŸ—ƒī¸Retrieve Paginated List of Files
      • 💨Delete File
      • 🔃 Update File
      • âŦ‡ī¸Download File
  • Integrating the Future
    • 🔒Security system
    • đŸ§ŋStorage Networks
      • IPFS
      • SIA
    • 📑Data Management System
    • 📓Decentralized Database
    • 🔎Decentralized storage verification system
  • IPFS
    • 🔩About IPFS
    • âš™ī¸IPFS Tools
    • â›Šī¸IPFS Gateway
  • Documentation
    • đŸ› ī¸Getting set up
  • Resources
    • 📍Discord
    • 📓Dictionary
    • đŸ›Ąī¸Slack
    • 📔Release Notes
  • hello.app - Terms and Conditions
Powered by GitBook
On this page
  1. Api Key Documentation
  2. Endpoints

Upload Files

Endpoint to upload one or more files to the Hello App platform.

HTTP Method: POST

Route: /public-api/v1/files

Headers

  • api-key: Token generated through API key section.

Request Body

  • Multipart Form:

    • files: List of files to be uploaded.

    • root (optional): Specifies the root directory for file storage. If not provided, the default root is used ("/").

Response

  • Status Code: 200 OK

  • Response Body:

{
  "status": "success",
  "files": [
    {
      "ID": 1,
      "Name": "example.txt",
      "UID": "unique_id",
      "Root": "/",
      "CID": "QmXqwe12...",
      "Mime": "text/plain",
      "Size": 1024,
      "EncryptionStatus": "public",
      "CreatedAt": "2023-01-01T12:00:00Z",
      "UpdatedAt": "2023-01-01T12:00:00Z"
    }
    // ... additional file objects if multiple files are uploaded
  ],
  "firstRootUID": "first_root_unique_id"
}

Error Responses

  • 400 Bad Request:

    • If the multipart form is malformed.

  • 500 Internal Server Error:

    • If there is an internal error during file processing or storage.

Example

Using Fetch API:

const url = 'base_url';

const inputFile = document.getElementById("file-input");
inputFile.addEventListener("change", handleFileSelect);

function handleFileSelect(event) {
	const file = event.target.files[0];

	if (file) {
		const formData = new FormData();
		formData.append("files", file);
		formData.append("root", "/");

		const options = {
			headers: {
                'api-key': 'your_api_key',
            },
			method: "POST",
			body: formData,
		};

		fetch(url + "/public-api/v1/files", options)
			.then((response) => {
				if (!response.ok) {
					throw new Error(`Network error: ${response.status}`);
				}
				return response.json();
			})
			.then((data) => {
				console.log(data);
			})
			.catch((error) => {
				console.error(
					"There was a problem with the Fetch request:",
					error
				);
			});
	}
	

Using Axios:

const axios = require('axios');
const FormData = require('form-data');
const fs = require('fs');

const url = 'base_url';
const filePath = 'file_path';

//in this case we work from node.js, not a browser
fs.readFile(filePath, (err, data) => {
    if (err) {
        console.error('Error reading the file:', err);
        return;
    }

    const formData = new FormData();
    formData.append('files', data, {filename: 'name of the file'});
    formData.append('root', '/');

    axios.post(`${url}/public-api/v1/files`, formData, {
        headers: {
            ...formData.getHeaders(),
            'api-key': 'your_api_key',
        },
    })
    .then((response) => {
        console.log(response.data);
    })
    .catch((error) => {
        console.error('There was a problem with the Axios request:', error);
    });
});

PreviousPingNextRetrieve File Information

Last updated 1 year ago

🌌
âŦ†ī¸