Skip to main content

get-templates

Returns all templates available to the organization. Each template includes its controls: the configurable fields that drive the design (text inputs, image slots, selects, etc.).

Parameters

None.

Response

FieldTypeDescription
templatesarrayList of templates
templates[].idstringUnique template identifier
templates[].namestringTemplate name
templates[].typestringTemplate type
templates[].thumbnailstring | nullThumbnail URL
templates[].controlsarrayConfigurable fields (see below)
templates[].aiTemplateDescriptionstring | nullAI-generated description of the template
templates[].defaultColorPaletteIdstring | nullDefault color palette ID (palette theming is always on)
templates[].createdAtstringISO date
templates[].updatedAtstringISO date
countnumberTotal number of templates

Control schema

Each control in templates[].controls:

FieldTypeDescription
idstringControl identifier
labelstringDisplay label
typestringOne of: text_input, textarea, checkbox, select, number, image, image_video, layer_group_select
maxCharactersnumber (optional)Character limit for text controls
optionsarray (optional)Available options for select controls
aspectRatiostring (optional)Expected aspect ratio for image controls

Example

Request:

{
"tool": "get-templates",
"arguments": {}
}

Response:

{
"templates": [
{
"id": "tmpl_abc123",
"name": "Instagram Post Product",
"type": "template",
"thumbnail": "https://cdn.heycreo.io/...",
"controls": [
{
"id": "headline",
"label": "Headline",
"type": "text_input",
"maxCharacters": 40
},
{
"id": "product_image",
"label": "Product Image",
"type": "image",
"aspectRatio": "1:1"
}
],
"aiTemplateDescription": "Product showcase with headline and CTA",
"defaultColorPaletteId": "pal_xyz",
"createdAt": "2026-01-15T10:00:00.000Z",
"updatedAt": "2026-03-20T14:30:00.000Z"
}
],
"count": 1
}