layoutId, which is a property of the deck). When you mark a layout as a master, every other layout in the same container inherits its layers automatically, giving you a global chrome layer (logo, page number, background) that propagates across all slides.
ablo.layouts.create(params, options?) → LayoutResource
Creates a new layout template, minting ids for each layer and returning the full placeholder map so you can immediately pass the result to createSlide.
The id of the layout container — the
layoutId field returned on a DeckResource. Every slide layout belongs to a container, and a deck references one container.Human-readable name shown in the editor’s template picker.
Background applied to every slide that uses this layout. Accepts the same value as a slide’s own
background field — a color string, a background builder result (solidBackground, gradientBackground), or a raw CSS string. Slide-level backgrounds override this.When
true, this layout becomes the master of its container. Its layers are inherited by every other layout in the same container. Use the master for global chrome (logo, footer bar, slide number) that should appear on every slide.The template’s layers. Each entry is a standard
LayerInput (see LayerInput reference) extended with an optional placeholder field.Per-call commit controls. See RequestOptions.
LayoutResource
The layout’s id.
The name you provided.
The container this layout belongs to.
The ids and types of the created layers, in input order.
A map from placeholder name to slot metadata. Pass this directly to
createSlide.ablo.layouts.createSlide(layout, params, options?) → SlideResource
Creates a slide on a layout and fills its placeholder slots by name, all in one atomic commit. The layout argument is the LayoutResource returned by layouts.create — it carries the placeholder map the method needs to resolve slot names to layer ids.
The
LayoutResource returned by layouts.create. The method reads layout.placeholders to resolve each fill key to the correct layout layer.The deck this slide belongs to.
Zero-based position of the slide in the deck.
Slide title (shown in the editor’s slide list).
A map from placeholder name to content. Keys must match placeholder names on
layout.placeholders. Values are LayerContent objects — the return value of any content builder: text(), bullets(), barChart(), table(), image(), and so on. Unmentioned placeholders remain empty.Per-call commit controls.
SlideResource — { id, deckId, title, order }.
ablo.layouts.addLayer(slideLayoutId, layer, options?) → { id, type }
Adds a single layer to an existing layout. Use this to evolve a template without recreating it. The layer argument accepts the same LayoutLayerInput shape as layouts.create, so you can add a placeholder layer after the fact.
The id of the layout to add the layer to.
The layer to add. Any valid
LayerInput extended with an optional placeholder spec.Per-call commit controls.
{ id: string; type: string } — the minted layer id and its type.
ablo.layouts.deleteLayer(id, options?) → CommitReceipt
Removes a layer from a layout by the layer’s id. Slides that inherited the layer will no longer render it.
The layout layer id to delete.
Per-call commit controls.
ablo.layouts.retrieve(id) → LayoutRecord
Fetches the stored LayoutRecord for the given layout id. Requires a readable client.
The layout id to retrieve.
LayoutRecord — { id, name, layoutId, settings }. See LayoutRecord.
ablo.layouts.update(params, options?) → CommitReceipt
Renames a layout or changes its background.
The layout to update.
New name for the layout.
New background — same type as the
create background field.Per-call commit controls.
ablo.layouts.delete(id, options?) → CommitReceipt
Deletes a layout. Slides that reference this layout as their template will lose the layout chrome.
The layout id to delete.
Per-call commit controls.