API ReferenceView as MarkdownOpenAPI

Custom content

View as Markdown

Custom data models the site defines itself - their records, admin pages, triggers that run when records change and scheduled jobs.

Endpoints that need a token: the site owner creates it in their admin (Developers > API reference). AI assistants: how to ask the user for one.

56 endpoints in 6 parts: Brand, Dynamic Page, Dynamic Trigger, Dynamicmodel, Miniapp, AI builder.

List all brands

Returns the site's brands, newest first unless a sort is given.

Public

Public - no token needed.

Returns

Returns a list of Brand objects.

Status codes

200 500

GET/brands
curl -X GET 'http://debate.bg/brands?ionic=true'
Response
[
  {
    "name": "Example",
    "header": "example",
    "description": "Text shown on the site.",
    "slogan": "example",
    "logo": "6543210fedcba98765432100",
    "_id": "6543210fedcba98765432100"
  }
]

Retrieve a brand

Returns one brand, found by its ID.

Public

Public - no token needed.

Path parameters
idstringRequired

The ID of the brand.

Returns

Returns the Brand object.

Status codes

200 404 500

GET/brands/:id
curl -X GET 'http://debate.bg/brands/{id}?ionic=true'
Response
{
  "name": "Example",
  "header": "example",
  "description": "Text shown on the site.",
  "slogan": "example",
  "logo": "6543210fedcba98765432100",
  "_id": "6543210fedcba98765432100"
}

Retrieve the dynamic page

Get all DynamicdynamicPages.

Admin token

Needs a site admin token.

Returns

Returns the DynamicPage object.

Status codes

200 401 500

GET/dynamic-page
curl -X GET 'http://debate.bg/dynamic-page?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "name": "Example",
  "url": "example-item",
  "dynamic_models": [
    "6543210fedcba98765432101"
  ],
  "page_type": "cms-table",
  "value_containers": [
    {
      "name": "Example",
      "type": "example",
      "value": "example",
      "wysiwyg": false,
      "editable": false,
      "label": "Example",
      "required": false,
      "default": {},
      "ref": "example",
      "ref_value_field": "_id",
      "ref_text_field": "_id",
      "depends_on": "example",
      "populate": false,
      "enumerator_values": [],
      "due_date": false,
      "fields": [],
      "_id": "6543210fedcba98765432100",
      "validations": {
        "minLength": 0,
        "maxLength": 0
      }
    }
  ],
  "quick_link": false,
  "quick_link_icon": "example-item",
  "quick_link_text": "example-item",
  "quick_link_auth_guard": "none",
  "on_click_action": "none",
  "secondary_cta": false,
  "secondary_ctas": [
    {
      "icon": "example",
      "text": "Text shown on the site.",
      "auth_guard": "none",
      "on_click_action": "none",
      "_id": "6543210fedcba98765432100",
      "navigate": {
        "link": "example-item",
        "query_params": "example"
      }
    }
  ],
  "edit_page": false,
  "create_page": false,
  "auth_guard": "none",
  "enable_additional_filters": false,
  "additional_filters": {},
  "containers": [
    {
      "isFluid": false,
      "parallaxEnabled": false,
      "parallaxAmount": 49.9,
      "parallaxZoom": 1,
      "continuousEnabled": false,
      "continuousEffect": "none",
      "continuousDuration": 2400,
      "continuousIntensity": 4,
      "backgroundImage": "example",
      "backgroundSize": "example",
      "backgroundPosition": "example",
      "backgroundRepeat": "example",
      "backgroundVideo": "example",
      "backgroundColor": "#3557c4",
      "backgroundParallax": false,
      "minHeight": 1,
      "minHeightMobile": 1,
      "allowOffset": false,
      "offsetX": 0,
      "offsetY": 0,
      "offsetMobileX": 0,
      "offsetMobileY": 0,
      "zIndex": 0,
      "wrap_reverse": false,
      "backgroundGradient": {
        "enabled": false,
        "type": "example",
        "degrees": 0,
        "radialShape": "example",
        "radialPosition": "example",
        "colors": "#3557c4",
        "css": "example"
      },
      "padding_top": {
        "value": "example",
        "unit": "example",
        "mobile_value": "example",
        "mobile_unit": "example"
      },
      "padding_right": {
        "value": "example"
      }
    }
  ],
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z",
  "navigate": {
    "link": "example-item",
    "query_params": "example"
  },
  "statistics_options": {
    "filter_fields": "example",
    "functions": "example"
  }
}

Create a dynamic page

Create new DynamicPage.

Admin token

Needs a site admin token.

Parameters
namestring

The dynamic page's name.

Returns

Returns the DynamicPage object.

Status codes

201 400 401 500

POST/dynamic-page
curl -X POST 'http://debate.bg/dynamic-page?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{ "name": "..." }'
Response
{
  "name": "Example",
  "url": "example-item",
  "dynamic_models": [
    "6543210fedcba98765432101"
  ],
  "page_type": "cms-table",
  "value_containers": [
    {
      "name": "Example",
      "type": "example",
      "value": "example",
      "wysiwyg": false,
      "editable": false,
      "label": "Example",
      "required": false,
      "default": {},
      "ref": "example",
      "ref_value_field": "_id",
      "ref_text_field": "_id",
      "depends_on": "example",
      "populate": false,
      "enumerator_values": [],
      "due_date": false,
      "fields": [],
      "_id": "6543210fedcba98765432100",
      "validations": {
        "minLength": 0,
        "maxLength": 0
      }
    }
  ],
  "quick_link": false,
  "quick_link_icon": "example-item",
  "quick_link_text": "example-item",
  "quick_link_auth_guard": "none",
  "on_click_action": "none",
  "secondary_cta": false,
  "secondary_ctas": [
    {
      "icon": "example",
      "text": "Text shown on the site.",
      "auth_guard": "none",
      "on_click_action": "none",
      "_id": "6543210fedcba98765432100",
      "navigate": {
        "link": "example-item",
        "query_params": "example"
      }
    }
  ],
  "edit_page": false,
  "create_page": false,
  "auth_guard": "none",
  "enable_additional_filters": false,
  "additional_filters": {},
  "containers": [
    {
      "isFluid": false,
      "parallaxEnabled": false,
      "parallaxAmount": 49.9,
      "parallaxZoom": 1,
      "continuousEnabled": false,
      "continuousEffect": "none",
      "continuousDuration": 2400,
      "continuousIntensity": 4,
      "backgroundImage": "example",
      "backgroundSize": "example",
      "backgroundPosition": "example",
      "backgroundRepeat": "example",
      "backgroundVideo": "example",
      "backgroundColor": "#3557c4",
      "backgroundParallax": false,
      "minHeight": 1,
      "minHeightMobile": 1,
      "allowOffset": false,
      "offsetX": 0,
      "offsetY": 0,
      "offsetMobileX": 0,
      "offsetMobileY": 0,
      "zIndex": 0,
      "wrap_reverse": false,
      "backgroundGradient": {
        "enabled": false,
        "type": "example",
        "degrees": 0,
        "radialShape": "example",
        "radialPosition": "example",
        "colors": "#3557c4",
        "css": "example"
      },
      "padding_top": {
        "value": "example",
        "unit": "example",
        "mobile_value": "example",
        "mobile_unit": "example"
      },
      "padding_right": {
        "value": "example"
      }
    }
  ],
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z",
  "navigate": {
    "link": "example-item",
    "query_params": "example"
  },
  "statistics_options": {
    "filter_fields": "example",
    "functions": "example"
  }
}

Get dynamic page statistics

Get dynamic page statistics.

Optional user

Works without a token; with a user token the answer is personal.

Path parameters
urlstringRequired

The dynamic page's URL slug, as in its address on the site.

Query parameters
fromstring

Only dynamic pages with this from.

tostring

Only dynamic pages with this to.

Returns

Returns the DynamicPage object.

Status codes

200 401 403 404 500

GET/dynamic-page-statistics/:url
curl -X GET 'http://debate.bg/dynamic-page-statistics/{url}?ionic=true&from=...&to=...'
Response
{
  "name": "Example",
  "url": "example-item",
  "dynamic_models": [
    "6543210fedcba98765432101"
  ],
  "page_type": "cms-table",
  "value_containers": [
    {
      "name": "Example",
      "type": "example",
      "value": "example",
      "wysiwyg": false,
      "editable": false,
      "label": "Example",
      "required": false,
      "default": {},
      "ref": "example",
      "ref_value_field": "_id",
      "ref_text_field": "_id",
      "depends_on": "example",
      "populate": false,
      "enumerator_values": [],
      "due_date": false,
      "fields": [],
      "_id": "6543210fedcba98765432100",
      "validations": {
        "minLength": 0,
        "maxLength": 0
      }
    }
  ],
  "quick_link": false,
  "quick_link_icon": "example-item",
  "quick_link_text": "example-item",
  "quick_link_auth_guard": "none",
  "on_click_action": "none",
  "secondary_cta": false,
  "secondary_ctas": [
    {
      "icon": "example",
      "text": "Text shown on the site.",
      "auth_guard": "none",
      "on_click_action": "none",
      "_id": "6543210fedcba98765432100",
      "navigate": {
        "link": "example-item",
        "query_params": "example"
      }
    }
  ],
  "edit_page": false,
  "create_page": false,
  "auth_guard": "none",
  "enable_additional_filters": false,
  "additional_filters": {},
  "containers": [
    {
      "isFluid": false,
      "parallaxEnabled": false,
      "parallaxAmount": 49.9,
      "parallaxZoom": 1,
      "continuousEnabled": false,
      "continuousEffect": "none",
      "continuousDuration": 2400,
      "continuousIntensity": 4,
      "backgroundImage": "example",
      "backgroundSize": "example",
      "backgroundPosition": "example",
      "backgroundRepeat": "example",
      "backgroundVideo": "example",
      "backgroundColor": "#3557c4",
      "backgroundParallax": false,
      "minHeight": 1,
      "minHeightMobile": 1,
      "allowOffset": false,
      "offsetX": 0,
      "offsetY": 0,
      "offsetMobileX": 0,
      "offsetMobileY": 0,
      "zIndex": 0,
      "wrap_reverse": false,
      "backgroundGradient": {
        "enabled": false,
        "type": "example",
        "degrees": 0,
        "radialShape": "example",
        "radialPosition": "example",
        "colors": "#3557c4",
        "css": "example"
      },
      "padding_top": {
        "value": "example",
        "unit": "example",
        "mobile_value": "example",
        "mobile_unit": "example"
      },
      "padding_right": {
        "value": "example"
      }
    }
  ],
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z",
  "navigate": {
    "link": "example-item",
    "query_params": "example"
  },
  "statistics_options": {
    "filter_fields": "example",
    "functions": "example"
  }
}

Update a dynamic page

Update DynamicPage by ID.

Admin token

Needs a site admin token.

Path parameters
idstringRequired

The ID of the dynamic page.

Parameters
namestring

The dynamic page's name.

Returns

Returns the DynamicPage object.

Status codes

200 400 401 404 500

PATCH/dynamic-page/:id
curl -X PATCH 'http://debate.bg/dynamic-page/{id}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{ "name": "..." }'
Response
{
  "name": "Example",
  "url": "example-item",
  "dynamic_models": [
    "6543210fedcba98765432101"
  ],
  "page_type": "cms-table",
  "value_containers": [
    {
      "name": "Example",
      "type": "example",
      "value": "example",
      "wysiwyg": false,
      "editable": false,
      "label": "Example",
      "required": false,
      "default": {},
      "ref": "example",
      "ref_value_field": "_id",
      "ref_text_field": "_id",
      "depends_on": "example",
      "populate": false,
      "enumerator_values": [],
      "due_date": false,
      "fields": [],
      "_id": "6543210fedcba98765432100",
      "validations": {
        "minLength": 0,
        "maxLength": 0
      }
    }
  ],
  "quick_link": false,
  "quick_link_icon": "example-item",
  "quick_link_text": "example-item",
  "quick_link_auth_guard": "none",
  "on_click_action": "none",
  "secondary_cta": false,
  "secondary_ctas": [
    {
      "icon": "example",
      "text": "Text shown on the site.",
      "auth_guard": "none",
      "on_click_action": "none",
      "_id": "6543210fedcba98765432100",
      "navigate": {
        "link": "example-item",
        "query_params": "example"
      }
    }
  ],
  "edit_page": false,
  "create_page": false,
  "auth_guard": "none",
  "enable_additional_filters": false,
  "additional_filters": {},
  "containers": [
    {
      "isFluid": false,
      "parallaxEnabled": false,
      "parallaxAmount": 49.9,
      "parallaxZoom": 1,
      "continuousEnabled": false,
      "continuousEffect": "none",
      "continuousDuration": 2400,
      "continuousIntensity": 4,
      "backgroundImage": "example",
      "backgroundSize": "example",
      "backgroundPosition": "example",
      "backgroundRepeat": "example",
      "backgroundVideo": "example",
      "backgroundColor": "#3557c4",
      "backgroundParallax": false,
      "minHeight": 1,
      "minHeightMobile": 1,
      "allowOffset": false,
      "offsetX": 0,
      "offsetY": 0,
      "offsetMobileX": 0,
      "offsetMobileY": 0,
      "zIndex": 0,
      "wrap_reverse": false,
      "backgroundGradient": {
        "enabled": false,
        "type": "example",
        "degrees": 0,
        "radialShape": "example",
        "radialPosition": "example",
        "colors": "#3557c4",
        "css": "example"
      },
      "padding_top": {
        "value": "example",
        "unit": "example",
        "mobile_value": "example",
        "mobile_unit": "example"
      },
      "padding_right": {
        "value": "example"
      }
    }
  ],
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z",
  "navigate": {
    "link": "example-item",
    "query_params": "example"
  },
  "statistics_options": {
    "filter_fields": "example",
    "functions": "example"
  }
}

Delete a dynamic page

Delete DynamicPage by ID.

Admin token

Needs a site admin token.

Path parameters
idstringRequired

The ID of the dynamic page.

Returns

Returns an empty answer on success.

Status codes

200 401 404 500

DELETE/dynamic-page/:id
curl -X DELETE 'http://debate.bg/dynamic-page/{id}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'

Retrieve a dynamic page

Get a particular DynamicPage by ID.

Optional user

Works without a token; with a user token the answer is personal.

Path parameters
urlstringRequired

The dynamic page's URL slug, as in its address on the site.

Returns

Returns the DynamicPage object.

Status codes

200 401 403 404 500

GET/dynamic-page/:url
curl -X GET 'http://debate.bg/dynamic-page/{url}?ionic=true'
Response
{
  "name": "Example",
  "url": "example-item",
  "dynamic_models": [
    "6543210fedcba98765432101"
  ],
  "page_type": "cms-table",
  "value_containers": [
    {
      "name": "Example",
      "type": "example",
      "value": "example",
      "wysiwyg": false,
      "editable": false,
      "label": "Example",
      "required": false,
      "default": {},
      "ref": "example",
      "ref_value_field": "_id",
      "ref_text_field": "_id",
      "depends_on": "example",
      "populate": false,
      "enumerator_values": [],
      "due_date": false,
      "fields": [],
      "_id": "6543210fedcba98765432100",
      "validations": {
        "minLength": 0,
        "maxLength": 0
      }
    }
  ],
  "quick_link": false,
  "quick_link_icon": "example-item",
  "quick_link_text": "example-item",
  "quick_link_auth_guard": "none",
  "on_click_action": "none",
  "secondary_cta": false,
  "secondary_ctas": [
    {
      "icon": "example",
      "text": "Text shown on the site.",
      "auth_guard": "none",
      "on_click_action": "none",
      "_id": "6543210fedcba98765432100",
      "navigate": {
        "link": "example-item",
        "query_params": "example"
      }
    }
  ],
  "edit_page": false,
  "create_page": false,
  "auth_guard": "none",
  "enable_additional_filters": false,
  "additional_filters": {},
  "containers": [
    {
      "isFluid": false,
      "parallaxEnabled": false,
      "parallaxAmount": 49.9,
      "parallaxZoom": 1,
      "continuousEnabled": false,
      "continuousEffect": "none",
      "continuousDuration": 2400,
      "continuousIntensity": 4,
      "backgroundImage": "example",
      "backgroundSize": "example",
      "backgroundPosition": "example",
      "backgroundRepeat": "example",
      "backgroundVideo": "example",
      "backgroundColor": "#3557c4",
      "backgroundParallax": false,
      "minHeight": 1,
      "minHeightMobile": 1,
      "allowOffset": false,
      "offsetX": 0,
      "offsetY": 0,
      "offsetMobileX": 0,
      "offsetMobileY": 0,
      "zIndex": 0,
      "wrap_reverse": false,
      "backgroundGradient": {
        "enabled": false,
        "type": "example",
        "degrees": 0,
        "radialShape": "example",
        "radialPosition": "example",
        "colors": "#3557c4",
        "css": "example"
      },
      "padding_top": {
        "value": "example",
        "unit": "example",
        "mobile_value": "example",
        "mobile_unit": "example"
      },
      "padding_right": {
        "value": "example"
      }
    }
  ],
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z",
  "navigate": {
    "link": "example-item",
    "query_params": "example"
  },
  "statistics_options": {
    "filter_fields": "example",
    "functions": "example"
  }
}

List all used schemas

Returns the site's used schemas, newest first unless a sort is given.

Admin token

Needs a site admin token.

Status codes

200 401 500

GET/all-used-schemas
curl -X GET 'http://debate.bg/all-used-schemas?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'

Retrieve the dynamic trigger

Get all DynamicTriggers.

Admin token

Needs a site admin token.

Returns

Returns the DynamicTrigger object.

Status codes

200 401 500

GET/dynamic-trigger
curl -X GET 'http://debate.bg/dynamic-trigger?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "enabled": false,
  "name": "Example",
  "model": "example",
  "type": "CREATE",
  "code": "example",
  "last_run_at": "2026-11-04T12:00:00.000Z",
  "last_run_status": null,
  "last_error": "example",
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z"
}

Create a dynamic trigger

Create new DynamicTrigger.

Admin token

Needs a site admin token.

Returns

Returns the DynamicTrigger object.

Status codes

201 400 401 500

POST/dynamic-trigger
curl -X POST 'http://debate.bg/dynamic-trigger?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "enabled": false,
  "name": "Example",
  "model": "example",
  "type": "CREATE",
  "code": "example",
  "last_run_at": "2026-11-04T12:00:00.000Z",
  "last_run_status": null,
  "last_error": "example",
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z"
}

Retrieve a dynamic trigger

Get a particular DynamicTrigger by ID.

Admin token

Needs a site admin token.

Path parameters
idstringRequired

The ID of the dynamic trigger.

Returns

Returns the DynamicTrigger object.

Status codes

200 401 404 500

GET/dynamic-trigger/:id
curl -X GET 'http://debate.bg/dynamic-trigger/{id}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "enabled": false,
  "name": "Example",
  "model": "example",
  "type": "CREATE",
  "code": "example",
  "last_run_at": "2026-11-04T12:00:00.000Z",
  "last_run_status": null,
  "last_error": "example",
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z"
}

Update a dynamic trigger

Update DynamicTrigger by ID.

Admin token

Needs a site admin token.

Path parameters
idstringRequired

The ID of the dynamic trigger.

Parameters
last_errorstring

The dynamic trigger's last error.

last_run_atdate

The dynamic trigger's last run at.

last_run_statusstring

The last run status: one of , success, failed.

Returns

Returns the DynamicTrigger object.

Status codes

200 400 401 404 500

PATCH/dynamic-trigger/:id
curl -X PATCH 'http://debate.bg/dynamic-trigger/{id}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{ "last_error": "...", "last_run_at": "...", "last_run_status": "..." }'
Response
{
  "enabled": false,
  "name": "Example",
  "model": "example",
  "type": "CREATE",
  "code": "example",
  "last_run_at": "2026-11-04T12:00:00.000Z",
  "last_run_status": null,
  "last_error": "example",
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z"
}

Delete a dynamic trigger

Delete DynamicTrigger by ID.

Admin token

Needs a site admin token.

Path parameters
idstringRequired

The ID of the dynamic trigger.

Returns

Returns an empty answer on success.

Status codes

200 401 404 500

DELETE/dynamic-trigger/:id
curl -X DELETE 'http://debate.bg/dynamic-trigger/{id}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'

Retrieve the content type

Get all DynamicModels.

Admin token

Needs a site admin token.

Status codes

200 401 500

GET/dynamicmodel
curl -X GET 'http://debate.bg/dynamicmodel?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "name": "Example",
  "fields": [
    {
      "name": "Example",
      "type": "example",
      "required": false,
      "default": {},
      "patchable": true,
      "ref": "example",
      "ref_value_field": "_id",
      "ref_text_field": "_id",
      "depends_on": "example",
      "populate": false,
      "wysiwyg": false,
      "fields": [],
      "show_field_in_cms_table": true,
      "enumerator_values": [],
      "_id": "6543210fedcba98765432100",
      "validations": {
        "minLength": "example",
        "maxLength": "example"
      }
    }
  ],
  "attach_in": [
    {
      "ref": "example",
      "ref_value_field": "_id",
      "ref_text_field": "_id",
      "user_input": false,
      "_id": "6543210fedcba98765432100"
    }
  ],
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z",
  "auth": {
    "create": false,
    "read": false,
    "update": false,
    "delete": false
  },
  "ownership_settings": {
    "enable_ownership_identification": false,
    "ownership_based_auth": "example",
    "profile_use": false
  }
}

Create a content type

Create new DynamicModel.

Admin token

Needs a site admin token.

Parameters
namestring

The content type's name.

fieldsstring

The content type's fields.

Status codes

201 400 401 500

POST/dynamicmodel
curl -X POST 'http://debate.bg/dynamicmodel?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{ "name": "...", "fields": "..." }'
Response
{
  "name": "Example",
  "fields": [
    {
      "name": "Example",
      "type": "example",
      "required": false,
      "default": {},
      "patchable": true,
      "ref": "example",
      "ref_value_field": "_id",
      "ref_text_field": "_id",
      "depends_on": "example",
      "populate": false,
      "wysiwyg": false,
      "fields": [],
      "show_field_in_cms_table": true,
      "enumerator_values": [],
      "_id": "6543210fedcba98765432100",
      "validations": {
        "minLength": "example",
        "maxLength": "example"
      }
    }
  ],
  "attach_in": [
    {
      "ref": "example",
      "ref_value_field": "_id",
      "ref_text_field": "_id",
      "user_input": false,
      "_id": "6543210fedcba98765432100"
    }
  ],
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z",
  "auth": {
    "create": false,
    "read": false,
    "update": false,
    "delete": false
  },
  "ownership_settings": {
    "enable_ownership_identification": false,
    "ownership_based_auth": "example",
    "profile_use": false
  }
}

List all content type input fields

Get dynamic models with user_input=true for a given ref type.

Public

Public - no token needed.

Query parameters
refstring

Only content type input fields with this ref.

Status codes

200 400 500

GET/dynamicmodel-input-fields
curl -X GET 'http://debate.bg/dynamicmodel-input-fields?ionic=true&ref=...'
Response
{
  "name": "Example",
  "fields": [
    {
      "name": "Example",
      "type": "example",
      "required": false,
      "default": {},
      "patchable": true,
      "ref": "example",
      "ref_value_field": "_id",
      "ref_text_field": "_id",
      "depends_on": "example",
      "populate": false,
      "wysiwyg": false,
      "fields": [],
      "show_field_in_cms_table": true,
      "enumerator_values": [],
      "_id": "6543210fedcba98765432100",
      "validations": {
        "minLength": "example",
        "maxLength": "example"
      }
    }
  ],
  "attach_in": [
    {
      "ref": "example",
      "ref_value_field": "_id",
      "ref_text_field": "_id",
      "user_input": false,
      "_id": "6543210fedcba98765432100"
    }
  ],
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z",
  "auth": {
    "create": false,
    "read": false,
    "update": false,
    "delete": false
  },
  "ownership_settings": {
    "enable_ownership_identification": false,
    "ownership_based_auth": "example",
    "profile_use": false
  }
}

List all content type select fields

Get dynamic models with user_input=false for a given ref type, including their docs.

Public

Public - no token needed.

Query parameters
refstring

Only content type select fields with this ref.

Status codes

200 400 500

GET/dynamicmodel-select-fields
curl -X GET 'http://debate.bg/dynamicmodel-select-fields?ionic=true&ref=...'
Response
{
  "name": "Example",
  "fields": [
    {
      "name": "Example",
      "type": "example",
      "required": false,
      "default": {},
      "patchable": true,
      "ref": "example",
      "ref_value_field": "_id",
      "ref_text_field": "_id",
      "depends_on": "example",
      "populate": false,
      "wysiwyg": false,
      "fields": [],
      "show_field_in_cms_table": true,
      "enumerator_values": [],
      "_id": "6543210fedcba98765432100",
      "validations": {
        "minLength": "example",
        "maxLength": "example"
      }
    }
  ],
  "attach_in": [
    {
      "ref": "example",
      "ref_value_field": "_id",
      "ref_text_field": "_id",
      "user_input": false,
      "_id": "6543210fedcba98765432100"
    }
  ],
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z",
  "auth": {
    "create": false,
    "read": false,
    "update": false,
    "delete": false
  },
  "ownership_settings": {
    "enable_ownership_identification": false,
    "ownership_based_auth": "example",
    "profile_use": false
  }
}

Retrieve a content type

Get a particular DynamicModel by ID.

Admin token

Needs a site admin token.

Path parameters
idstringRequired

The ID of the content type.

Status codes

200 401 404 500

GET/dynamicmodel/:id
curl -X GET 'http://debate.bg/dynamicmodel/{id}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "name": "Example",
  "fields": [
    {
      "name": "Example",
      "type": "example",
      "required": false,
      "default": {},
      "patchable": true,
      "ref": "example",
      "ref_value_field": "_id",
      "ref_text_field": "_id",
      "depends_on": "example",
      "populate": false,
      "wysiwyg": false,
      "fields": [],
      "show_field_in_cms_table": true,
      "enumerator_values": [],
      "_id": "6543210fedcba98765432100",
      "validations": {
        "minLength": "example",
        "maxLength": "example"
      }
    }
  ],
  "attach_in": [
    {
      "ref": "example",
      "ref_value_field": "_id",
      "ref_text_field": "_id",
      "user_input": false,
      "_id": "6543210fedcba98765432100"
    }
  ],
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z",
  "auth": {
    "create": false,
    "read": false,
    "update": false,
    "delete": false
  },
  "ownership_settings": {
    "enable_ownership_identification": false,
    "ownership_based_auth": "example",
    "profile_use": false
  }
}

Update a content type

Update DynamicModel by ID.

Admin token

Needs a site admin token.

Path parameters
idstringRequired

The ID of the content type.

Parameters
fieldsstring

The content type's fields.

Status codes

200 400 401 404 500

PATCH/dynamicmodel/:id
curl -X PATCH 'http://debate.bg/dynamicmodel/{id}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{ "fields": "..." }'
Response
{
  "name": "Example",
  "fields": [
    {
      "name": "Example",
      "type": "example",
      "required": false,
      "default": {},
      "patchable": true,
      "ref": "example",
      "ref_value_field": "_id",
      "ref_text_field": "_id",
      "depends_on": "example",
      "populate": false,
      "wysiwyg": false,
      "fields": [],
      "show_field_in_cms_table": true,
      "enumerator_values": [],
      "_id": "6543210fedcba98765432100",
      "validations": {
        "minLength": "example",
        "maxLength": "example"
      }
    }
  ],
  "attach_in": [
    {
      "ref": "example",
      "ref_value_field": "_id",
      "ref_text_field": "_id",
      "user_input": false,
      "_id": "6543210fedcba98765432100"
    }
  ],
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z",
  "auth": {
    "create": false,
    "read": false,
    "update": false,
    "delete": false
  },
  "ownership_settings": {
    "enable_ownership_identification": false,
    "ownership_based_auth": "example",
    "profile_use": false
  }
}

Delete a content type

Delete DynamicModel by ID.

Admin token

Needs a site admin token.

Path parameters
idstringRequired

The ID of the content type.

Returns

Returns an empty answer on success.

Status codes

200 401 404 500

DELETE/dynamicmodel/:id
curl -X DELETE 'http://debate.bg/dynamicmodel/{id}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'

List all mini apps

Returns the site's mini apps, newest first unless a sort is given.

User token

Needs the token of a signed-in user.

Path parameters
skipstringRequired

How many results to skip - for paging.

Returns

Returns a list of MiniApp objects.

Status codes

200 401 500

GET/all-miniapps/:skip
curl -X GET 'http://debate.bg/all-miniapps/{skip}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
[
  {
    "title": "Example",
    "header": "example",
    "description": "Text shown on the site.",
    "referer": "example",
    "requiresLogin": true,
    "icon": "6543210fedcba98765432100",
    "previews": [
      {
        "media": "6543210fedcba98765432100",
        "_id": "6543210fedcba98765432100"
      }
    ],
    "owner_id": "6543210fedcba98765432100",
    "reviewed": false,
    "approved": false,
    "total_opened": 0,
    "opened_by": [
      "6543210fedcba98765432101"
    ],
    "minimum_age": 1,
    "language": [
      "example"
    ],
    "collection_id": "6543210fedcba98765432100",
    "total_views": 0,
    "views": [
      "6543210fedcba98765432101"
    ],
    "privacy_policy": "example",
    "support_url": "example-item",
    "marketing_url": "example-item",
    "copyright": "example",
    "_id": "6543210fedcba98765432100",
    "updatedAt": "2026-11-04T12:00:00.000Z",
    "createdAt": "2026-11-04T12:00:00.000Z",
    "data_collection": {
      "contact_info": "example",
      "health_info": "example",
      "payment_info": "example",
      "location_info": "example",
      "other_info": "example",
      "user_info": "example",
      "identifiers_info": "example",
      "usage_data": "example",
      "diagnostics_data": "example"
    }
  }
]

Retrieve a mini app insight

Returns one mini app insight, found by its ID.

User token

Needs the token of a signed-in user.

Path parameters
idstringRequired

The ID of the mini app insight.

Status codes

200 401 500

GET/mini-app-insights/:id
curl -X GET 'http://debate.bg/mini-app-insights/{id}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "title": "Example",
  "header": "example",
  "description": "Text shown on the site.",
  "referer": "example",
  "requiresLogin": true,
  "icon": "6543210fedcba98765432100",
  "previews": [
    {
      "media": "6543210fedcba98765432100",
      "_id": "6543210fedcba98765432100"
    }
  ],
  "owner_id": "6543210fedcba98765432100",
  "reviewed": false,
  "approved": false,
  "total_opened": 0,
  "opened_by": [
    "6543210fedcba98765432101"
  ],
  "minimum_age": 1,
  "language": [
    "example"
  ],
  "collection_id": "6543210fedcba98765432100",
  "total_views": 0,
  "views": [
    "6543210fedcba98765432101"
  ],
  "privacy_policy": "example",
  "support_url": "example-item",
  "marketing_url": "example-item",
  "copyright": "example",
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z",
  "data_collection": {
    "contact_info": "example",
    "health_info": "example",
    "payment_info": "example",
    "location_info": "example",
    "other_info": "example",
    "user_info": "example",
    "identifiers_info": "example",
    "usage_data": "example",
    "diagnostics_data": "example"
  }
}

Update a mini app open

Changes the fields sent; the others stay as they are.

User token

Needs the token of a signed-in user.

Path parameters
idstringRequired

The ID of the mini app open.

Status codes

200 400 401 500

PATCH/mini-app-open/:id
curl -X PATCH 'http://debate.bg/mini-app-open/{id}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "title": "Example",
  "header": "example",
  "description": "Text shown on the site.",
  "referer": "example",
  "requiresLogin": true,
  "icon": "6543210fedcba98765432100",
  "previews": [
    {
      "media": "6543210fedcba98765432100",
      "_id": "6543210fedcba98765432100"
    }
  ],
  "owner_id": "6543210fedcba98765432100",
  "reviewed": false,
  "approved": false,
  "total_opened": 0,
  "opened_by": [
    "6543210fedcba98765432101"
  ],
  "minimum_age": 1,
  "language": [
    "example"
  ],
  "collection_id": "6543210fedcba98765432100",
  "total_views": 0,
  "views": [
    "6543210fedcba98765432101"
  ],
  "privacy_policy": "example",
  "support_url": "example-item",
  "marketing_url": "example-item",
  "copyright": "example",
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z",
  "data_collection": {
    "contact_info": "example",
    "health_info": "example",
    "payment_info": "example",
    "location_info": "example",
    "other_info": "example",
    "user_info": "example",
    "identifiers_info": "example",
    "usage_data": "example",
    "diagnostics_data": "example"
  }
}

Record a view of a mini app

Record a view of a mini app.

User token

Needs the token of a signed-in user.

Path parameters
idstringRequired

The ID of the mini app.

Returns

Returns the MiniApp object.

Status codes

200 400 401 500

PATCH/mini-app-view/:id
curl -X PATCH 'http://debate.bg/mini-app-view/{id}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "title": "Example",
  "header": "example",
  "description": "Text shown on the site.",
  "referer": "example",
  "requiresLogin": true,
  "icon": "6543210fedcba98765432100",
  "previews": [
    {
      "media": "6543210fedcba98765432100",
      "_id": "6543210fedcba98765432100"
    }
  ],
  "owner_id": "6543210fedcba98765432100",
  "reviewed": false,
  "approved": false,
  "total_opened": 0,
  "opened_by": [
    "6543210fedcba98765432101"
  ],
  "minimum_age": 1,
  "language": [
    "example"
  ],
  "collection_id": "6543210fedcba98765432100",
  "total_views": 0,
  "views": [
    "6543210fedcba98765432101"
  ],
  "privacy_policy": "example",
  "support_url": "example-item",
  "marketing_url": "example-item",
  "copyright": "example",
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z",
  "data_collection": {
    "contact_info": "example",
    "health_info": "example",
    "payment_info": "example",
    "location_info": "example",
    "other_info": "example",
    "user_info": "example",
    "identifiers_info": "example",
    "usage_data": "example",
    "diagnostics_data": "example"
  }
}

Create a mini app

Creates a mini app from the fields sent.

User token

Needs the token of a signed-in user.

Returns

Returns the MiniApp object.

Status codes

201 400 401 500

POST/miniapps
curl -X POST 'http://debate.bg/miniapps?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "title": "Example",
  "header": "example",
  "description": "Text shown on the site.",
  "referer": "example",
  "requiresLogin": true,
  "icon": "6543210fedcba98765432100",
  "previews": [
    {
      "media": "6543210fedcba98765432100",
      "_id": "6543210fedcba98765432100"
    }
  ],
  "owner_id": "6543210fedcba98765432100",
  "reviewed": false,
  "approved": false,
  "total_opened": 0,
  "opened_by": [
    "6543210fedcba98765432101"
  ],
  "minimum_age": 1,
  "language": [
    "example"
  ],
  "collection_id": "6543210fedcba98765432100",
  "total_views": 0,
  "views": [
    "6543210fedcba98765432101"
  ],
  "privacy_policy": "example",
  "support_url": "example-item",
  "marketing_url": "example-item",
  "copyright": "example",
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z",
  "data_collection": {
    "contact_info": "example",
    "health_info": "example",
    "payment_info": "example",
    "location_info": "example",
    "other_info": "example",
    "user_info": "example",
    "identifiers_info": "example",
    "usage_data": "example",
    "diagnostics_data": "example"
  }
}

Retrieve the mini apps user data

Returns the mini apps user data.

Public

Public - no token needed.

Status codes

200 401 500

GET/miniapps-get-user-data
curl -X GET 'http://debate.bg/miniapps-get-user-data?ionic=true'
Response
{
  "name": "Example",
  "email": "jane@example.com",
  "avatar": "6543210fedcba98765432100",
  "social_avatar": "example",
  "isAdmin": false,
  "isStaff": false,
  "owner_id": "6543210fedcba98765432100",
  "organization_name": "Example",
  "firstname": "Example",
  "lastname": "Example",
  "phone_number": "+359 888 123 456",
  "address": "example",
  "city": "example",
  "state": "example",
  "country": "example",
  "zip_code": "example",
  "tax_identification_number": "example",
  "notes": "Text shown on the site.",
  "isConfirmed": false,
  "number_of_sales": 0,
  "stripe_id": "example",
  "paypal_id": "example",
  "access_level": 1,
  "validation_code": "example",
  "can_edit": {
    "site": false,
    "crm": false,
    "store": false,
    "payments": false,
    "staff": false
  },
  "ip_location": {
    "city": "example",
    "continent_name": "Example",
    "country_name": "Example",
    "country_subdivision": "example",
    "location_latitude": 0,
    "location_longitude": 0,
    "last_updated": "example"
  }
}

Retrieve the mini apps receiver authorization code

Returns the mini apps receiver authorization code.

Public

Public - no token needed.

Status codes

200 401 500

GET/miniapps-receiver-validate-authorization-code
curl -X GET 'http://debate.bg/miniapps-receiver-validate-authorization-code?ionic=true'
Response
{
  "zip_code": "example",
  "city": "example",
  "address": "example",
  "contact": "example",
  "email": "jane@example.com",
  "google_app": "example",
  "workhours": "example",
  "logo": "6543210fedcba98765432100",
  "site_name": "Example",
  "domain": "example",
  "stock_domain": "example",
  "isMarket": false,
  "forbidden_collections": [
    {
      "collection_id": "6543210fedcba98765432100",
      "_id": "6543210fedcba98765432100"
    }
  ],
  "isInit": false,
  "template": "0000",
  "lang": "en",
  "favicon": "6543210fedcba98765432100",
  "cacheEnabled": false,
  "has_completed_startup_prompt": true,
  "gmb_location": "example",
  "ga_property": "example",
  "site_generated_at": "2026-11-04T12:00:00.000Z",
  "admin_first_opened_at": "2026-11-04T12:00:00.000Z",
  "admin_last_opened_at": "2026-11-04T12:00:00.000Z",
  "allowedComponents": {
    "services": false,
    "products": false,
    "blogposts": false,
    "programs": false
  }
}

Retrieve the mini apps temp authorization code

Returns the mini apps temp authorization code.

Public

Public - no token needed.

Status codes

200 401 500

GET/miniapps-temp-authorization-code
curl -X GET 'http://debate.bg/miniapps-temp-authorization-code?ionic=true'
Response
{
  "name": "Example",
  "email": "jane@example.com",
  "avatar": "6543210fedcba98765432100",
  "social_avatar": "example",
  "isAdmin": false,
  "isStaff": false,
  "owner_id": "6543210fedcba98765432100",
  "organization_name": "Example",
  "firstname": "Example",
  "lastname": "Example",
  "phone_number": "+359 888 123 456",
  "address": "example",
  "city": "example",
  "state": "example",
  "country": "example",
  "zip_code": "example",
  "tax_identification_number": "example",
  "notes": "Text shown on the site.",
  "isConfirmed": false,
  "number_of_sales": 0,
  "stripe_id": "example",
  "paypal_id": "example",
  "access_level": 1,
  "validation_code": "example",
  "can_edit": {
    "site": false,
    "crm": false,
    "store": false,
    "payments": false,
    "staff": false
  },
  "ip_location": {
    "city": "example",
    "continent_name": "Example",
    "country_name": "Example",
    "country_subdivision": "example",
    "location_latitude": 0,
    "location_longitude": 0,
    "last_updated": "example"
  }
}

Retrieve the mini apps authorization code

Returns the mini apps authorization code.

Public

Public - no token needed.

Status codes

200 401 500

GET/miniapps-validate-authorization-code
curl -X GET 'http://debate.bg/miniapps-validate-authorization-code?ionic=true'
Response
{
  "name": "Example",
  "email": "jane@example.com",
  "avatar": "6543210fedcba98765432100",
  "social_avatar": "example",
  "isAdmin": false,
  "isStaff": false,
  "owner_id": "6543210fedcba98765432100",
  "organization_name": "Example",
  "firstname": "Example",
  "lastname": "Example",
  "phone_number": "+359 888 123 456",
  "address": "example",
  "city": "example",
  "state": "example",
  "country": "example",
  "zip_code": "example",
  "tax_identification_number": "example",
  "notes": "Text shown on the site.",
  "isConfirmed": false,
  "number_of_sales": 0,
  "stripe_id": "example",
  "paypal_id": "example",
  "access_level": 1,
  "validation_code": "example",
  "can_edit": {
    "site": false,
    "crm": false,
    "store": false,
    "payments": false,
    "staff": false
  },
  "ip_location": {
    "city": "example",
    "continent_name": "Example",
    "country_name": "Example",
    "country_subdivision": "example",
    "location_latitude": 0,
    "location_longitude": 0,
    "last_updated": "example"
  }
}

Retrieve a mini app

Returns one mini app, found by its ID.

User token

Needs the token of a signed-in user.

Path parameters
idstringRequired

The ID of the mini app.

Returns

Returns the MiniApp object.

Status codes

200 401 404 500

GET/miniapps/:id
curl -X GET 'http://debate.bg/miniapps/{id}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "title": "Example",
  "header": "example",
  "description": "Text shown on the site.",
  "referer": "example",
  "requiresLogin": true,
  "icon": "6543210fedcba98765432100",
  "previews": [
    {
      "media": "6543210fedcba98765432100",
      "_id": "6543210fedcba98765432100"
    }
  ],
  "owner_id": "6543210fedcba98765432100",
  "reviewed": false,
  "approved": false,
  "total_opened": 0,
  "opened_by": [
    "6543210fedcba98765432101"
  ],
  "minimum_age": 1,
  "language": [
    "example"
  ],
  "collection_id": "6543210fedcba98765432100",
  "total_views": 0,
  "views": [
    "6543210fedcba98765432101"
  ],
  "privacy_policy": "example",
  "support_url": "example-item",
  "marketing_url": "example-item",
  "copyright": "example",
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z",
  "data_collection": {
    "contact_info": "example",
    "health_info": "example",
    "payment_info": "example",
    "location_info": "example",
    "other_info": "example",
    "user_info": "example",
    "identifiers_info": "example",
    "usage_data": "example",
    "diagnostics_data": "example"
  }
}

Update a mini app

Changes the fields sent; the others stay as they are.

User token

Needs the token of a signed-in user.

Path parameters
idstringRequired

The ID of the mini app.

Parameters
previewsobject[]

The mini app's previews.

Returns

Returns the MiniApp object.

Status codes

200 400 401 404 500

PATCH/miniapps/:id
curl -X PATCH 'http://debate.bg/miniapps/{id}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{ "previews": "..." }'
Response
{
  "title": "Example",
  "header": "example",
  "description": "Text shown on the site.",
  "referer": "example",
  "requiresLogin": true,
  "icon": "6543210fedcba98765432100",
  "previews": [
    {
      "media": "6543210fedcba98765432100",
      "_id": "6543210fedcba98765432100"
    }
  ],
  "owner_id": "6543210fedcba98765432100",
  "reviewed": false,
  "approved": false,
  "total_opened": 0,
  "opened_by": [
    "6543210fedcba98765432101"
  ],
  "minimum_age": 1,
  "language": [
    "example"
  ],
  "collection_id": "6543210fedcba98765432100",
  "total_views": 0,
  "views": [
    "6543210fedcba98765432101"
  ],
  "privacy_policy": "example",
  "support_url": "example-item",
  "marketing_url": "example-item",
  "copyright": "example",
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z",
  "data_collection": {
    "contact_info": "example",
    "health_info": "example",
    "payment_info": "example",
    "location_info": "example",
    "other_info": "example",
    "user_info": "example",
    "identifiers_info": "example",
    "usage_data": "example",
    "diagnostics_data": "example"
  }
}

Delete a mini app

Deletes the mini app. This cannot be undone.

User token

Needs the token of a signed-in user.

Path parameters
idstringRequired

The ID of the mini app.

Returns

Returns an empty answer on success.

Status codes

200 401 404 500

DELETE/miniapps/:id
curl -X DELETE 'http://debate.bg/miniapps/{id}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'

List all mini apps

Returns the site's mini apps, newest first unless a sort is given.

User token

Needs the token of a signed-in user.

Returns

Returns a list of MiniApp objects.

Status codes

200 401 500

GET/my-mini-apps
curl -X GET 'http://debate.bg/my-mini-apps?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
[
  {
    "title": "Example",
    "header": "example",
    "description": "Text shown on the site.",
    "referer": "example",
    "requiresLogin": true,
    "icon": "6543210fedcba98765432100",
    "previews": [
      {
        "media": "6543210fedcba98765432100",
        "_id": "6543210fedcba98765432100"
      }
    ],
    "owner_id": "6543210fedcba98765432100",
    "reviewed": false,
    "approved": false,
    "total_opened": 0,
    "opened_by": [
      "6543210fedcba98765432101"
    ],
    "minimum_age": 1,
    "language": [
      "example"
    ],
    "collection_id": "6543210fedcba98765432100",
    "total_views": 0,
    "views": [
      "6543210fedcba98765432101"
    ],
    "privacy_policy": "example",
    "support_url": "example-item",
    "marketing_url": "example-item",
    "copyright": "example",
    "_id": "6543210fedcba98765432100",
    "updatedAt": "2026-11-04T12:00:00.000Z",
    "createdAt": "2026-11-04T12:00:00.000Z",
    "data_collection": {
      "contact_info": "example",
      "health_info": "example",
      "payment_info": "example",
      "location_info": "example",
      "other_info": "example",
      "user_info": "example",
      "identifiers_info": "example",
      "usage_data": "example",
      "diagnostics_data": "example"
    }
  }
]

Retrieve the referer

Returns the referer.

Public

Public - no token needed.

Status codes

200 500

GET/referer
curl -X GET 'http://debate.bg/referer?ionic=true'

Retrieve a user mini app

Returns one user mini app, found by its ID.

User token

Needs the token of a signed-in user.

Path parameters
owner_idstringRequired

The owner id - the ID of a user.

Returns

Returns the MiniApp object.

Status codes

200 401 500

GET/user-mini-apps/:owner_id
curl -X GET 'http://debate.bg/user-mini-apps/{owner_id}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "title": "Example",
  "header": "example",
  "description": "Text shown on the site.",
  "referer": "example",
  "requiresLogin": true,
  "icon": "6543210fedcba98765432100",
  "previews": [
    {
      "media": "6543210fedcba98765432100",
      "_id": "6543210fedcba98765432100"
    }
  ],
  "owner_id": "6543210fedcba98765432100",
  "reviewed": false,
  "approved": false,
  "total_opened": 0,
  "opened_by": [
    "6543210fedcba98765432101"
  ],
  "minimum_age": 1,
  "language": [
    "example"
  ],
  "collection_id": "6543210fedcba98765432100",
  "total_views": 0,
  "views": [
    "6543210fedcba98765432101"
  ],
  "privacy_policy": "example",
  "support_url": "example-item",
  "marketing_url": "example-item",
  "copyright": "example",
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z",
  "data_collection": {
    "contact_info": "example",
    "health_info": "example",
    "payment_info": "example",
    "location_info": "example",
    "other_info": "example",
    "user_info": "example",
    "identifiers_info": "example",
    "usage_data": "example",
    "diagnostics_data": "example"
  }
}

Create a dynamic model with AI

Create a dynamic model from a prompt, written by the AI builder.

User token

Needs the token of a signed-in user.

Parameters
promptstring

What the AI should do with the dynamic model, in plain words - any language.

chatIdstring

The AI chat this request belongs to; its history and language carry over. Leave it out to start a new chat.

aiVersionstring

Which version of the AI builder to use; leave it out for the current one.

Status codes

200 401 500

POST/create-new-dynamic-model
curl -X POST 'http://debate.bg/create-new-dynamic-model?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{ "prompt": "...", "chatId": "...", "aiVersion": "..." }'

Create a dynamic page with AI

Create a dynamic page from a prompt, written by the AI builder.

User token

Needs the token of a signed-in user.

Parameters
promptstring

What the AI should do with the dynamic page, in plain words - any language.

chatIdstring

The AI chat this request belongs to; its history and language carry over. Leave it out to start a new chat.

aiVersionstring

Which version of the AI builder to use; leave it out for the current one.

model_idstring

The dynamic page's model id.

Status codes

200 401 500

POST/create-new-dynamic-page
curl -X POST 'http://debate.bg/create-new-dynamic-page?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{ "prompt": "...", "chatId": "...", "aiVersion": "...", "model_id": "..." }'
Response
{
  "name": "Example",
  "fields": [
    {
      "name": "Example",
      "type": "example",
      "required": false,
      "default": {},
      "patchable": true,
      "ref": "example",
      "ref_value_field": "_id",
      "ref_text_field": "_id",
      "depends_on": "example",
      "populate": false,
      "wysiwyg": false,
      "fields": [],
      "show_field_in_cms_table": true,
      "enumerator_values": [],
      "_id": "6543210fedcba98765432100",
      "validations": {
        "minLength": "example",
        "maxLength": "example"
      }
    }
  ],
  "attach_in": [
    {
      "ref": "example",
      "ref_value_field": "_id",
      "ref_text_field": "_id",
      "user_input": false,
      "_id": "6543210fedcba98765432100"
    }
  ],
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z",
  "auth": {
    "create": false,
    "read": false,
    "update": false,
    "delete": false
  },
  "ownership_settings": {
    "enable_ownership_identification": false,
    "ownership_based_auth": "example",
    "profile_use": false
  }
}

Create a dynamic trigger with AI

Create a dynamic trigger from a prompt, written by the AI builder.

User token

Needs the token of a signed-in user.

Parameters
promptstring

What the AI should do with the dynamic trigger, in plain words - any language.

chatIdstring

The AI chat this request belongs to; its history and language carry over. Leave it out to start a new chat.

aiVersionstring

Which version of the AI builder to use; leave it out for the current one.

model_idstring

The dynamic trigger's model id.

Status codes

200 401 500

POST/create-new-dynamic-trigger
curl -X POST 'http://debate.bg/create-new-dynamic-trigger?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{ "prompt": "...", "chatId": "...", "aiVersion": "...", "model_id": "..." }'
Response
{
  "name": "Example",
  "fields": [
    {
      "name": "Example",
      "type": "example",
      "required": false,
      "default": {},
      "patchable": true,
      "ref": "example",
      "ref_value_field": "_id",
      "ref_text_field": "_id",
      "depends_on": "example",
      "populate": false,
      "wysiwyg": false,
      "fields": [],
      "show_field_in_cms_table": true,
      "enumerator_values": [],
      "_id": "6543210fedcba98765432100",
      "validations": {
        "minLength": "example",
        "maxLength": "example"
      }
    }
  ],
  "attach_in": [
    {
      "ref": "example",
      "ref_value_field": "_id",
      "ref_text_field": "_id",
      "user_input": false,
      "_id": "6543210fedcba98765432100"
    }
  ],
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z",
  "auth": {
    "create": false,
    "read": false,
    "update": false,
    "delete": false
  },
  "ownership_settings": {
    "enable_ownership_identification": false,
    "ownership_based_auth": "example",
    "profile_use": false
  }
}

Create a delete dynamic model

Use it to delete one or more existing custom data models by name.

User token

Needs the token of a signed-in user.

Parameters
item_idsstring

The delete dynamic model's item ids.

chatIdstring

The AI chat this request belongs to; its history and language carry over. Leave it out to start a new chat.

Returns

Returns the DynamicModel object.

Status codes

200 401 500

POST/delete-dynamic-model
curl -X POST 'http://debate.bg/delete-dynamic-model?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{ "item_ids": "...", "chatId": "..." }'
Response
{
  "name": "Example",
  "fields": [
    {
      "name": "Example",
      "type": "example",
      "required": false,
      "default": {},
      "patchable": true,
      "ref": "example",
      "ref_value_field": "_id",
      "ref_text_field": "_id",
      "depends_on": "example",
      "populate": false,
      "wysiwyg": false,
      "fields": [],
      "show_field_in_cms_table": true,
      "enumerator_values": [],
      "_id": "6543210fedcba98765432100",
      "validations": {
        "minLength": "example",
        "maxLength": "example"
      }
    }
  ],
  "attach_in": [
    {
      "ref": "example",
      "ref_value_field": "_id",
      "ref_text_field": "_id",
      "user_input": false,
      "_id": "6543210fedcba98765432100"
    }
  ],
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z",
  "auth": {
    "create": false,
    "read": false,
    "update": false,
    "delete": false
  },
  "ownership_settings": {
    "enable_ownership_identification": false,
    "ownership_based_auth": "example",
    "profile_use": false
  }
}

Create a delete dynamic page

Use it to delete one or more existing custom dynamic pages by name.

User token

Needs the token of a signed-in user.

Parameters
item_idsstring

The delete dynamic page's item ids.

chatIdstring

The AI chat this request belongs to; its history and language carry over. Leave it out to start a new chat.

Returns

Returns the DynamicPage object.

Status codes

200 401 500

POST/delete-dynamic-page
curl -X POST 'http://debate.bg/delete-dynamic-page?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{ "item_ids": "...", "chatId": "..." }'
Response
{
  "name": "Example",
  "url": "example-item",
  "dynamic_models": [
    "6543210fedcba98765432101"
  ],
  "page_type": "cms-table",
  "value_containers": [
    {
      "name": "Example",
      "type": "example",
      "value": "example",
      "wysiwyg": false,
      "editable": false,
      "label": "Example",
      "required": false,
      "default": {},
      "ref": "example",
      "ref_value_field": "_id",
      "ref_text_field": "_id",
      "depends_on": "example",
      "populate": false,
      "enumerator_values": [],
      "due_date": false,
      "fields": [],
      "_id": "6543210fedcba98765432100",
      "validations": {
        "minLength": 0,
        "maxLength": 0
      }
    }
  ],
  "quick_link": false,
  "quick_link_icon": "example-item",
  "quick_link_text": "example-item",
  "quick_link_auth_guard": "none",
  "on_click_action": "none",
  "secondary_cta": false,
  "secondary_ctas": [
    {
      "icon": "example",
      "text": "Text shown on the site.",
      "auth_guard": "none",
      "on_click_action": "none",
      "_id": "6543210fedcba98765432100",
      "navigate": {
        "link": "example-item",
        "query_params": "example"
      }
    }
  ],
  "edit_page": false,
  "create_page": false,
  "auth_guard": "none",
  "enable_additional_filters": false,
  "additional_filters": {},
  "containers": [
    {
      "isFluid": false,
      "parallaxEnabled": false,
      "parallaxAmount": 49.9,
      "parallaxZoom": 1,
      "continuousEnabled": false,
      "continuousEffect": "none",
      "continuousDuration": 2400,
      "continuousIntensity": 4,
      "backgroundImage": "example",
      "backgroundSize": "example",
      "backgroundPosition": "example",
      "backgroundRepeat": "example",
      "backgroundVideo": "example",
      "backgroundColor": "#3557c4",
      "backgroundParallax": false,
      "minHeight": 1,
      "minHeightMobile": 1,
      "allowOffset": false,
      "offsetX": 0,
      "offsetY": 0,
      "offsetMobileX": 0,
      "offsetMobileY": 0,
      "zIndex": 0,
      "wrap_reverse": false,
      "backgroundGradient": {
        "enabled": false,
        "type": "example",
        "degrees": 0,
        "radialShape": "example",
        "radialPosition": "example",
        "colors": "#3557c4",
        "css": "example"
      },
      "padding_top": {
        "value": "example",
        "unit": "example",
        "mobile_value": "example",
        "mobile_unit": "example"
      },
      "padding_right": {
        "value": "example"
      }
    }
  ],
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z",
  "navigate": {
    "link": "example-item",
    "query_params": "example"
  },
  "statistics_options": {
    "filter_fields": "example",
    "functions": "example"
  }
}

Create a delete dynamic trigger

Use it to delete one or more existing automation triggers by name.

User token

Needs the token of a signed-in user.

Parameters
item_idsstring

The delete dynamic trigger's item ids.

chatIdstring

The AI chat this request belongs to; its history and language carry over. Leave it out to start a new chat.

Returns

Returns the DynamicTrigger object.

Status codes

200 401 500

POST/delete-dynamic-trigger
curl -X POST 'http://debate.bg/delete-dynamic-trigger?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{ "item_ids": "...", "chatId": "..." }'
Response
{
  "enabled": false,
  "name": "Example",
  "model": "example",
  "type": "CREATE",
  "code": "example",
  "last_run_at": "2026-11-04T12:00:00.000Z",
  "last_run_status": null,
  "last_error": "example",
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z"
}

Generate a dynamic model with AI

Use it to create a custom data model, CMS content type, custom form schema, or internal record structure.

User token

Needs the token of a signed-in user.

Parameters
promptstring

What the AI should do with the dynamic model, in plain words - any language.

chatIdstring

The AI chat this request belongs to; its history and language carry over. Leave it out to start a new chat.

Status codes

200 401 500

POST/generate-dynamic-model
curl -X POST 'http://debate.bg/generate-dynamic-model?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{ "prompt": "...", "chatId": "..." }'

Generate a dynamic page with AI

Use it to create a brand new CMS admin table, data display page, or statistics dashboard for custom model data that does not yet exist.

User token

Needs the token of a signed-in user.

Parameters
promptstring

What the AI should do with the dynamic page, in plain words - any language.

chatIdstring

The AI chat this request belongs to; its history and language carry over. Leave it out to start a new chat.

Status codes

200 401 500

POST/generate-dynamic-page
curl -X POST 'http://debate.bg/generate-dynamic-page?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{ "prompt": "...", "chatId": "..." }'

Generate a dynamic trigger with AI

Use it to create a side-effect automation that fires after a record is created, updated, or deleted.

User token

Needs the token of a signed-in user.

Parameters
promptstring

What the AI should do with the dynamic trigger, in plain words - any language.

chatIdstring

The AI chat this request belongs to; its history and language carry over. Leave it out to start a new chat.

Status codes

200 401 500

POST/generate-dynamic-trigger
curl -X POST 'http://debate.bg/generate-dynamic-trigger?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{ "prompt": "...", "chatId": "..." }'

Modify a dynamic model with AI

Use it to edit or update an existing custom data model.

User token

Needs the token of a signed-in user.

Parameters
promptstring

What the AI should do with the dynamic model, in plain words - any language.

chatIdstring

The AI chat this request belongs to; its history and language carry over. Leave it out to start a new chat.

item_idstring

The ID of the dynamic model to change.

item_datastring

The current dynamic model, as JSON - the AI changes it and returns the result.

Status codes

200 401 500

POST/modify-dynamic-model
curl -X POST 'http://debate.bg/modify-dynamic-model?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{ "prompt": "...", "chatId": "...", "item_id": "...", "item_data": "..." }'

Modify a dynamic page with AI

Use it to edit or update an existing custom display page.

User token

Needs the token of a signed-in user.

Parameters
promptstring

What the AI should do with the dynamic page, in plain words - any language.

chatIdstring

The AI chat this request belongs to; its history and language carry over. Leave it out to start a new chat.

item_idstring

The ID of the dynamic page to change.

item_idsstring

The dynamic page's item ids.

item_datastring

The current dynamic page, as JSON - the AI changes it and returns the result.

Status codes

200 401 500

POST/modify-dynamic-page
curl -X POST 'http://debate.bg/modify-dynamic-page?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{ "prompt": "...", "chatId": "...", "item_id": "...", "item_ids": "...", "item_data": "..." }'

Modify a dynamic trigger with AI

Use it to edit or update an existing or just-generated automation trigger.

User token

Needs the token of a signed-in user.

Parameters
promptstring

What the AI should do with the dynamic trigger, in plain words - any language.

chatIdstring

The AI chat this request belongs to; its history and language carry over. Leave it out to start a new chat.

item_idstring

The ID of the dynamic trigger to change.

item_idsstring

The dynamic trigger's item ids.

item_datastring

The current dynamic trigger, as JSON - the AI changes it and returns the result.

Status codes

200 401 500

POST/modify-dynamic-trigger
curl -X POST 'http://debate.bg/modify-dynamic-trigger?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{ "prompt": "...", "chatId": "...", "item_id": "...", "item_ids": "...", "item_data": "..." }'

Create a run dynamic trigger

Use it to run or test an automation trigger immediately, on demand.

User token

Needs the token of a signed-in user.

Parameters
item_idsstring

The run dynamic trigger's item ids.

chatIdstring

The AI chat this request belongs to; its history and language carry over. Leave it out to start a new chat.

Returns

Returns the DynamicTrigger object.

Status codes

200 401 500

POST/run-dynamic-trigger
curl -X POST 'http://debate.bg/run-dynamic-trigger?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{ "item_ids": "...", "chatId": "..." }'
Response
{
  "enabled": false,
  "name": "Example",
  "model": "example",
  "type": "CREATE",
  "code": "example",
  "last_run_at": "2026-11-04T12:00:00.000Z",
  "last_run_status": null,
  "last_error": "example",
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z"
}

Toggle a dynamic trigger

Use it to enable or disable (pause/resume/activate/deactivate) one or more existing automation triggers without running them.

User token

Needs the token of a signed-in user.

Parameters
item_idsstring

The dynamic trigger's item ids.

enabledboolean

Whether the dynamic trigger is enabled.

chatIdstring

The AI chat this request belongs to; its history and language carry over. Leave it out to start a new chat.

Returns

Returns the DynamicTrigger object.

Status codes

200 401 500

POST/toggle-dynamic-trigger
curl -X POST 'http://debate.bg/toggle-dynamic-trigger?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{ "item_ids": "...", "enabled": "...", "chatId": "..." }'
Response
{
  "enabled": false,
  "name": "Example",
  "model": "example",
  "type": "CREATE",
  "code": "example",
  "last_run_at": "2026-11-04T12:00:00.000Z",
  "last_run_status": null,
  "last_error": "example",
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z"
}

Update a dynamic model with AI

Update a dynamic model from a prompt, written by the AI builder.

User token

Needs the token of a signed-in user.

Parameters
promptstring

What the AI should do with the dynamic model, in plain words - any language.

chatIdstring

The AI chat this request belongs to; its history and language carry over. Leave it out to start a new chat.

aiVersionstring

Which version of the AI builder to use; leave it out for the current one.

item_idstring

The ID of the dynamic model to change.

Status codes

200 401 500

POST/update-dynamic-model
curl -X POST 'http://debate.bg/update-dynamic-model?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{ "prompt": "...", "chatId": "...", "aiVersion": "...", "item_id": "..." }'

Update a dynamic page with AI

Update a dynamic page from a prompt, written by the AI builder.

User token

Needs the token of a signed-in user.

Parameters
promptstring

What the AI should do with the dynamic page, in plain words - any language.

chatIdstring

The AI chat this request belongs to; its history and language carry over. Leave it out to start a new chat.

aiVersionstring

Which version of the AI builder to use; leave it out for the current one.

item_idstring

The ID of the dynamic page to change.

model_idstring

The dynamic page's model id.

Status codes

200 401 500

POST/update-dynamic-page
curl -X POST 'http://debate.bg/update-dynamic-page?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{ "prompt": "...", "chatId": "...", "aiVersion": "...", "item_id": "...", "model_id": "..." }'
Response
{
  "name": "Example",
  "fields": [
    {
      "name": "Example",
      "type": "example",
      "required": false,
      "default": {},
      "patchable": true,
      "ref": "example",
      "ref_value_field": "_id",
      "ref_text_field": "_id",
      "depends_on": "example",
      "populate": false,
      "wysiwyg": false,
      "fields": [],
      "show_field_in_cms_table": true,
      "enumerator_values": [],
      "_id": "6543210fedcba98765432100",
      "validations": {
        "minLength": "example",
        "maxLength": "example"
      }
    }
  ],
  "attach_in": [
    {
      "ref": "example",
      "ref_value_field": "_id",
      "ref_text_field": "_id",
      "user_input": false,
      "_id": "6543210fedcba98765432100"
    }
  ],
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z",
  "auth": {
    "create": false,
    "read": false,
    "update": false,
    "delete": false
  },
  "ownership_settings": {
    "enable_ownership_identification": false,
    "ownership_based_auth": "example",
    "profile_use": false
  }
}

Update a dynamic trigger with AI

Update a dynamic trigger from a prompt, written by the AI builder.

User token

Needs the token of a signed-in user.

Parameters
promptstring

What the AI should do with the dynamic trigger, in plain words - any language.

chatIdstring

The AI chat this request belongs to; its history and language carry over. Leave it out to start a new chat.

aiVersionstring

Which version of the AI builder to use; leave it out for the current one.

item_idstring

The ID of the dynamic trigger to change.

model_idstring

The dynamic trigger's model id.

Status codes

200 401 500

POST/update-dynamic-trigger
curl -X POST 'http://debate.bg/update-dynamic-trigger?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{ "prompt": "...", "chatId": "...", "aiVersion": "...", "item_id": "...", "model_id": "..." }'
Response
{
  "name": "Example",
  "fields": [
    {
      "name": "Example",
      "type": "example",
      "required": false,
      "default": {},
      "patchable": true,
      "ref": "example",
      "ref_value_field": "_id",
      "ref_text_field": "_id",
      "depends_on": "example",
      "populate": false,
      "wysiwyg": false,
      "fields": [],
      "show_field_in_cms_table": true,
      "enumerator_values": [],
      "_id": "6543210fedcba98765432100",
      "validations": {
        "minLength": "example",
        "maxLength": "example"
      }
    }
  ],
  "attach_in": [
    {
      "ref": "example",
      "ref_value_field": "_id",
      "ref_text_field": "_id",
      "user_input": false,
      "_id": "6543210fedcba98765432100"
    }
  ],
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z",
  "auth": {
    "create": false,
    "read": false,
    "update": false,
    "delete": false
  },
  "ownership_settings": {
    "enable_ownership_identification": false,
    "ownership_based_auth": "example",
    "profile_use": false
  }
}
↑↓ Navigate↵ GoEsc Close