/storage/v1).
Requires a fullstack app (
naive.apps.create({ name, type: "fullstack" })). Like Database/Functions/Auth, it’s a curated surface over the app-scoped Supabase proxy.Two ways to use it
{ appId } to auto-resolve the user’s single fullstack app; pass it when they own several.
Buckets
Objects
Binary uploads (images, video) are best done with a Supabase signed upload URL rather than the JSON proxy. Request one via the Supabase proxy (
POST .../storage/v1/object/upload/sign/{bucket}/{path}) and PUT the bytes directly.REST
/v1/apps/<app-id>/…; an end-user’s project uses /v1/users/<user-id>/apps/<app-id>/….
Everything under storage/proxy/* forwards to the project’s /storage/v1/*. See the Storage API reference.
Billing
Free — no per-operation credit cost. Account Kits can gate thestorage primitive per user.