listWidgets
List reusable HTML/CSS/JS widgets available for embedding in pages or email templates. Paginated, filterable by viewport or other properties, with optional code inclusion.
Instructions
List widgets - Paginated enumeration of widget records. Read-only.
Lean-by-default keep-list: rows return only widget_id, widget_name, widget_type, widget_viewport, short_code, date_updated, revision_timestamp, is_default. The code fields (widget_data, widget_style, widget_javascript) are stripped — restore with include_code=1.
Use when: discovering the reusable HTML/CSS/JS components available for embedding in pages (via [widget=Name] shortcode) or email templates. For fetching one specific widget by ID use getWidget.
Pagination: cursor-based (limit, page). See Rule: Pagination for full cursor/cap/stop semantics.
Filter/sort: property+property_value+property_operator, order_column+order_type. See Rule: Filter operators for the verified-working operator set, silent-drop detection, and derived-field unfilterability. Useful filter: widget_viewport=front to list only public-facing widgets.
See also: getWidget (single by ID), createWidget (add new), updateWidget (modify).
Returns: { status: "success", total, current_page, total_pages, next_page, prev_page, message: [...records] }. Each record carries the full widget object (fields enumerated in the table that follows).
Widget object fields (from BD support article 12000108056):
Field | Type | Description |
| integer | Primary key (read-only) |
| string | Widget name/label - REQUIRED on create; unique per site |
| string | Widget classification (default: |
| text | Widget HTML content |
| text | Widget CSS styles |
| text | Widget JavaScript code |
| text | Configuration (JSON or serialized) |
| text | Widget variable values |
| string | CSS class names applied to container |
| string | Where widget appears: |
| string | Container element (default: |
| string | HTML ID attribute for container |
| string | Shortcode reference for this widget |
| integer |
|
| integer |
|
| integer |
|
| string | File type of the widget |
| timestamp | Last modified (auto-updated) |
| boolean |
|
Site records and platform master defaults are merged in the response — see Rule: Default-merge models to filter to one and to sort.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Pagination cursor (use next_page from previous response) | |
| limit | No | Records per page (default 25, max 100) | |
| property | No | Column key to filter by (present on the response rows; a wrong name silently returns empty). For multi-condition AND, pass parallel arrays here and in `property_value`/`property_operator` — equal length, Nth entries paired. See Rule: Compound filters. | |
| order_type | No | Sort direction: ASC or DESC | |
| include_code | No | Opt in to return `widget_data`, `widget_style`, `widget_javascript` (the HTML/CSS/JS) on each row. Default stripped. Needed before `updateWidget` edits to the code. | |
| order_column | No | Column to sort by — a column key present on the response rows (a wrong name silently returns empty) | |
| property_value | No | Value to filter by; array to pair with a `property` array (same length). | |
| property_operator | No | Filter operator (word-form; symbol forms WAF-stripped). Single: eq, ne, lt, lte, gt, gte, like, not_like. CSV: in, not_in, between. Substring: contains, starts_with, ends_with (+not_). Date: year_eq, month_eq, day_eq (+not_), since_days, until_days. Length: length_eq, length_lt, length_gt, length_between. Null: is_set, is_not_set, is_null, is_not_null. Array to pair with a `property` array (same length). See Rule: Filter operators for value shapes. |