Skip to content

Docs

›

Code Builder apps

The praisma.json manifest

Declare the least access your app needs: CMS per collection, capabilities and media kinds.

Updated November 8, 2026

Put praisma.json at the root of the project. Without it, the app does not use Praisma data and no bridge is injected.

{ "cms": { "scenes": ["read", "create", "update", "delete"], "articles": ["read"] }, "capabilities": ["media.upload", "commerce.products.read", "auth.customer"], "media": ["image", "audio", "model"] }

cms

An object of collection slug to actions: read, create, update, delete. Each list must be non-empty; up to 50 collections. CMS access is declared only here, never under capabilities.

capabilities

media.upload: upload files to your media library (requiresmedia).

commerce.products.read: read published products and offers of this site.

commerce.cart.readandcommerce.cart.write: read or change the visitor's own cart (shared with the rest of the site).

commerce.checkout.navigate: send the visitor to the site's checkout.

auth.customer: let visitors register, sign in and manage their own account.

media

The file kinds media.upload accepts:

image: jpg, jpeg, png, webp, gif, avif (up to 20 MB).

audio: mp3, wav, ogg, m4a (up to 50 MB).

video: mp4, webm, mov (up to 200 MB).

model: glb, gltf, obj, stl, fbx, usdz (up to 100 MB).

document: pdf (up to 20 MB).

Unknown capabilities, actions or kinds make the manifest invalid; the Permissions dialog shows the error. An invalid manifest never blocks saving, but it blocks approval and publishing.

Questions about building on Praisma Hub? We're happy to help.

Contact us