https://github.com/gabriel-logan/temp-files
This application is useful for quickly sharing files without creating an account. It provides a simple web interface and an API for uploading, listing, downloading, and deleting files. And all files are protected with a password of your choice and stored in a secure group generated by a UUID v4.
https://github.com/gabriel-logan/temp-files
nextjs nextjs-16 send send-file send-files temporary typescript
Last synced: about 2 months ago
JSON representation
This application is useful for quickly sharing files without creating an account. It provides a simple web interface and an API for uploading, listing, downloading, and deleting files. And all files are protected with a password of your choice and stored in a secure group generated by a UUID v4.
- Host: GitHub
- URL: https://github.com/gabriel-logan/temp-files
- Owner: gabriel-logan
- License: mit
- Created: 2025-11-28T19:25:24.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2026-03-18T23:13:41.000Z (3 months ago)
- Last Synced: 2026-03-19T12:39:48.577Z (3 months ago)
- Topics: nextjs, nextjs-16, send, send-file, send-files, temporary, typescript
- Language: TypeScript
- Homepage: https://temp-files-lake.vercel.app
- Size: 229 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# API Usage Documentation via CURL
## Locales
- [English](README.md)
- [PortuguΓͺs (Brasil)](README_PT.md)
Base URL:
```
https://temp-files-lake.vercel.app
```
You can access the base URL in your browser to interact with the web interface.
This documentation explains how to use the entire API **via cURL**, with examples for **Linux/MacOS** and **Windows (PowerShell)**.
---
# π Upload Files
**Endpoint:** `POST /api/files`
Uploads files via multipart/form-data.
### Required fields
- `password` β password needed for all future operations
- `files` β one or more files
---
## Linux / MacOS
```
curl -X POST \
-F "password=mypassword" \
-F "files=@/path/file1.png" \
-F "files=@/path/file2.pdf" \
https://temp-files-lake.vercel.app/api/files
```
---
## Windows (PowerShell)
```
curl -X POST `
-F "password=mypassword" `
-F "files=@C:/path/file1.png" `
-F "files=@C:/path/file2.pdf" `
https://temp-files-lake.vercel.app/api/files
```
---
# π List Files in a Group
**Endpoint:** `POST /api/files/get-files`
Returns metadata about files in the group (does not download files).
### JSON body
```json
{
"groupId": "",
"password": ""
}
```
---
## Linux / MacOS
```
curl -X POST \
-H "Content-Type: application/json" \
-d '{"groupId":"YOUR_GROUP_ID","password":"mypassword"}' \
https://temp-files-lake.vercel.app/api/files/get-files
```
---
## Windows (PowerShell)
```
curl -X POST `
-H "Content-Type: application/json" `
-d '{"groupId":"YOUR_GROUP_ID","password":"mypassword"}' `
https://temp-files-lake.vercel.app/api/files/get-files
```
---
# π₯ Download a Specific File
**Endpoint:** `POST /api/file`
Returns the binary file.
### JSON body
```json
{
"groupId": "",
"fileId": "",
"password": ""
}
```
---
## Linux / MacOS
```
curl -X POST \
-H "Content-Type: application/json" \
-d '{"groupId":"YOUR_GROUP_ID","fileId":"YOUR_FILE_ID","password":"mypassword"}' \
https://temp-files-lake.vercel.app/api/file \
--output downloaded_file.ext
```
---
## Windows (PowerShell)
```
curl -X POST `
-H "Content-Type: application/json" `
-d '{"groupId":"YOUR_GROUP_ID","fileId":"YOUR_FILE_ID","password":"mypassword"}' `
https://temp-files-lake.vercel.app/api/file `
--output downloaded_file.ext
```
---
# ποΈ Delete a Specific File
**Endpoint:** `DELETE /api/file`
### JSON body
```json
{
"groupId": "",
"fileId": "",
"password": ""
}
```
---
## Linux / MacOS
```
curl -X DELETE \
-H "Content-Type: application/json" \
-d '{"groupId":"YOUR_GROUP_ID","fileId":"YOUR_FILE_ID","password":"mypassword"}' \
https://temp-files-lake.vercel.app/api/file
```
---
## Windows (PowerShell)
```
curl -X DELETE `
-H "Content-Type: application/json" `
-d '{"groupId":"YOUR_GROUP_ID","fileId":"YOUR_FILE_ID","password":"mypassword"}' `
https://temp-files-lake.vercel.app/api/file
```
---
# ποΈ Delete Entire File Group
**Endpoint:** `DELETE /api/files`
### JSON body
```json
{
"groupId": "",
"password": ""
}
```
---
## Linux / MacOS
```
curl -X DELETE \
-H "Content-Type: application/json" \
-d '{"groupId":"YOUR_GROUP_ID","password":"mypassword"}' \
https://temp-files-lake.vercel.app/api/files
```
---
## Windows (PowerShell)
```
curl -X DELETE `
-H "Content-Type: application/json" `
-d '{"groupId":"YOUR_GROUP_ID","password":"mypassword"}' `
https://temp-files-lake.vercel.app/api/files
```
---
# β
Route Summary
| Action | Method | Route |
| ------------- | ------ | ---------------------- |
| Upload files | POST | `/api/files` |
| List files | POST | `/api/files/get-files` |
| Download file | POST | `/api/file` |
| Delete file | DELETE | `/api/file` |
| Delete group | DELETE | `/api/files` |