Pilet API
The Pilet API is the object every pilet receives as the argument to its setup function. It is the formal, versioned interface between the app shell and the pilet world — every interaction a pilet has with the rest of the application goes through it.
Its shape has two layers: a core API that's always present, and an extended API contributed by plugins. TypeScript types reflect precisely what's available for your shell — see TypeScript types.
Core API
The core API is the surface brought in by the two core packages, piral-base and piral-core. Every app shell has these methods, no matter which plugins (if any) are installed.
Registration
Events
Shared data store
Pilet metadata
Extended API
Everything below is added by plugins. The methods listed here come from the standard plugins bundled in piral-ext, which ships as part of the piral framework package — so if you scaffolded with piral, they're already on the API. They're physically distributed across several packages (piral-menu, piral-notifications, piral-modals, piral-dashboard, piral-feeds, piral-translate).
Plenty of other official plugins extend the API further (search, forms, breadcrumbs, data fetching, auth, …) — those aren't bundled with piral and must be installed and registered explicitly. See Official plugins for the full catalog.
piral-menu → api.registerMenu
Menu items render wherever the shell places <Menu type="...">:
piral-notifications → api.showNotification
piral-modals → api.registerModal, api.showModal
piral-dashboard → api.registerTile
piral-feeds → api.createConnector
piral-translate → api.translate
Types
A pilet imports its shell's PiletApi and gets exactly that shell's API — core plus whatever plugins it installed — fully typed:
How those types are generated, and how to extend them for your own events and extension slots, is covered in the TypeScript types guide.