@abloatai/decks and can be imported directly for use in your own type annotations.
CommitReceipt
Every mutating method (create, update, delete) returns a CommitReceipt. It tells you whether the server has durably committed the operation.
The commit id. Stable across retries with the same
idempotencyKey.The acknowledgement level reached before the call returned.
'confirmed' means the write is durable; 'queued' means the server accepted it but has not yet confirmed durability. Controlled by RequestOptions.wait.The sync cursor after this commit. Present when status is
'confirmed'. You can use this to wait for a specific sync position in real-time clients.RequestOptions
PassRequestOptions as the last argument to any mutating method to control commit behaviour.
The acknowledgement level to wait for before the promise resolves.
'confirmed' (default) waits for a durable write — safe for scripts that must guarantee persistence before exiting. 'queued' returns as soon as the server accepts the operation, reducing latency at the cost of a weaker guarantee.A unique key for safe retries. If you call the same method twice with the same key, the server returns the original
CommitReceipt without creating a duplicate. Pass null to explicitly opt out of idempotency (rare). Omitting the field lets the server assign a key automatically.DeckRecord
Returned byablo.decks.retrieve(id).
The deck’s id.
The deck’s display title.
The layout container this deck uses for template inheritance.
null if no layout container is assigned.The theme applied to this deck.
null if using the workspace default.SlideRecord
Returned byablo.slides.retrieve(id) and ablo.slides.list({ deckId }).
The slide’s id.
The deck this slide belongs to.
The slide’s title.
Zero-based position in the deck.
The
SlideLayout id this slide is based on. null for slides without a layout.Presenter notes attached to the slide.
The slide’s canvas settings (background, size, grid, layout exclusions).
null if all defaults apply.LayerRecord
Returned byablo.layers.retrieve(id) and ablo.layers.list({ slideId }).
The layer’s id.
The slide this layer belongs to.
The layer’s type —
'text', 'shape', 'icon', 'path', 'table', or 'chart'.Geometry in 1920×1080 slide space.
Type-specific payload. Charts store
{ chartDocument }, tables store TableData, shapes store { shapeType, ... }.Rich text content for text-bearing layers.
null for non-text types.Compiled style object (effects: opacity, corner radius, shadows).
Stacking order within the slide. Higher values render on top.
Whether the layer renders.
Image fill applied to a shape layer. Contains
url, optional objectFit, and optional intrinsic width/height.AI brief and placeholder metadata. Present on layout placeholder layers and layers with
prompt/examples set.When this is a filled placeholder layer, the id of the layout layer it fills.
LayoutRecord
Returned byablo.layouts.retrieve(id).
The layout’s id.
The layout’s display name.
The layout container this template belongs to.
Canvas settings (background, size) inherited by slides using this layout.
LayerPosition
Describes the geometry of a layer in the slide canvas. All values are in the 1920×1080 coordinate space regardless of the slide’s export size or display resolution.Left edge of the layer box in pixels.
Top edge of the layer box in pixels.
Width of the layer box in pixels.
Height of the layer box in pixels.
Clockwise rotation in degrees around the layer’s center. Omitted (or
0) for no rotation.LayerType
Thetype discriminant on a persisted layer. Note that some input types map to different stored types — bar/donut inputs compile to 'chart' layers, and image inputs compile to 'shape' layers with an imageFill.
| Value | Description |
|---|---|
'text' | Text, bullet lists, and numbered lists. |
'shape' | Rectangles, circles, ellipses, triangles, lines, and image fills. |
'icon' | SVG icon layers. |
'path' | Raw SVG path layers (advanced). |
'table' | Data tables. |
'chart' | All chart families (bar, donut, line, etc.). |
SlideSettingsFields
Fields you can pass when creating or updating a slide to control canvas behaviour. All fields are optional — omitting them leaves the existing setting unchanged.Slide background. Accepts a color string, a background builder result, or a raw CSS string. Overrides the layout’s background for this slide.
A size preset id that expands to
width, height, and aspectRatio in one field. See SlideSizePreset below.Canvas width in pixels (overrides the preset width when set directly).
Canvas height in pixels.
Aspect ratio hint used by the renderer for responsive scaling.
Show the alignment grid overlay in the editor.
Grid cell size in pixels (default 40).
A list of layout layer ids that this slide opts out of inheriting. Equivalent to hiding a master layer for just this slide (PowerPoint-style).
When
false, this slide does not composite its layout’s master layers. Defaults to true.SlideSizePreset
Pass one of these preset ids tosize on a slide to set its canvas dimensions in one step.
| Preset id | Width | Height | Aspect ratio |
|---|---|---|---|
'16:9' | 1920 | 1080 | 16:9 |
'16:10' | 1920 | 1200 | 16:10 |
'a4-portrait' | 2480 | 3508 | custom |