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.
https://api.portmodels.com/appdata/{app_id}/{path}Reading — public#
Anyone can read. No token required:
curl https://api.portmodels.com/appdata/acme/chatbot/icons/logo.pngList the folder:
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:
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.