Design Information
Before generating, you need the design's type — which decides whether you use the synchronous or asynchronous endpoint — and its ID with the default payload to build on.
Get all of it in one call
The design's type, its formats, and every element with its current defaults:
Multi-page designs answer a different shape
A printer_multipage design has no formats and no elements. It returns pages[] and elements_per_page (an object keyed page_1…page_N) instead, so the loops below raise a KeyError against one. Branch on type first — see Design Details → Multi-page designs.
curl -H "x-api-key: {YOUR-API-KEY}" https://api.abyssale.com/designs/{designId}import abyssale from '@abyssale/sdk';
// Set ABYSSALE_API_KEY env var before running
const { data, error } = await abyssale.getDesign('{designId}');
if (error) console.error(error);
else console.log(data.elements?.map((e) => `${e.name} (${e.type})`).join('\n'));from abyssale import Abyssale
# Set ABYSSALE_API_KEY env var before running
with Abyssale() as client:
design = client.get_design("{designId}")
elements = (
[e for page in (design.elements_per_page or {}).values() for e in page]
if design.type == "printer_multipage"
else design.elements or []
)
for element in elements:
print(element.name, element.type)See Design Details for the full response shape.
Or read the same values in the dashboard
The design cards in a project show each design's type:

To copy the ID and the default payload, open the design, select the API panel in the left sidebar, then use Copy Design ID and the payload shown in the console:

Build your payload
Start from the default payload, drop the layers and properties you are not changing, and set the rest. Anything you omit renders as designed — a request with no overrides produces the design's predefined content and styling.
What each layer kind accepts is listed in Element Properties.
Related
- Design Details — the discovery endpoint
- List Designs — find the design's UUID by listing
- Element Properties — what each element accepts
- Node.js SDK · Python SDK — every method, config, retries and the polling helpers
