API

Upload API

Upload files to a project using the project API key.

Endpoint

POST /api/uploads

Authentication: Authorization: Bearer <project_api_key>

Single file upload

The @ prefix tells curl to read the file and include its contents in the request.

curl -X POST https://sealstatic.com/api/uploads \
  -H "Authorization: Bearer your-api-key" \
  -F "file=@index.html"

Multiple files

curl -X POST https://sealstatic.com/api/uploads \
  -H "Authorization: Bearer your-api-key" \
  -F "files[]=@file1.html" \
  -F "files[]=@file2.html"

ZIP upload

Upload a ZIP file to preserve folder structure:

curl -X POST https://sealstatic.com/api/uploads \
  -H "Authorization: Bearer your-api-key" \
  -F "file=@site.zip"

The ZIP is automatically extracted. Existing files (by content hash) are skipped.

Response

{
  "status": "ok",
  "files": [
    {"path": "index.html", "url": "https://…/index.html"},
    {"path": "assets/app.js", "url": "https://…/assets/app.js"}
  ],
  "url": "https://project-url.com"
}