PortModels
Log in

Public app assets

A world-readable bucket for your app's own static files.

Separate from per-user file storage, each app has a public folder for files that belong to the app rather than to any user: icons, screenshots, sample data, and other static assets you want publicly reachable.

text
https://api.portmodels.com/appdata/{app_id}/{path}

Reading — public#

Anyone can read. No token required:

bash
curl https://api.portmodels.com/appdata/acme/chatbot/icons/logo.png

List the folder:

bash
curl "https://api.portmodels.com/appdata/acme/chatbot?prefix=icons"

Writing — developer only#

Uploads and deletes require you to be authenticated as the app's owning developer:

bash
curl -X PUT https://api.portmodels.com/appdata/acme/chatbot/icons/logo.png \
  -H "Authorization: Bearer <developer token>" \
  -H "Content-Type: image/png" \
  --data-binary @logo.png

curl -X DELETE https://api.portmodels.com/appdata/acme/chatbot/icons/logo.png \
  -H "Authorization: Bearer <developer token>"

Presigned upload and download URLs exist here too, under /appdata/{app_id}/presign-upload/{path} and presign-download/{path}. Uploads are developer-only; the download shortcut is public, like the plain download route.

Warning

This bucket is world-readable by design. Never put user data, credentials, or anything private here — use file storage for anything that belongs to a user.