API ReferenceView as MarkdownOpenAPI

SEO & analytics

View as Markdown

How the site is found and measured: SEO keywords, meta titles and descriptions, redirects, tracking codes and visit statistics.

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.

66 endpoints in 11 parts: Activity Log, Ga, Gmb, Gsc, Keyword, Keyword Blacklist, Meta, Pixel Data, Report, Tracking, AI builder.

Endpoints
GET/activity-log-filtersGET/activity-logsGET/activity-logs-exportGET/activity-logs/:idPOST/ga/connectPOST/ga/createPOST/ga/disconnectGET/ga/eventsGET/ga/pagesGET/ga/realtimeGET/ga/reportGET/ga/statusGET/gmb/categoriesPOST/gmb/connectPOST/gmb/createPOST/gmb/disconnectPOST/gmb/importPOST/gmb/selectGET/gmb/statusGET/gsc/breakdownPOST/gsc/connectPOST/gsc/disconnectGET/gsc/performanceGET/gsc/sitesGET/keywordsGET/keywords/:idGET/keyword-blacklistPOST/keyword-blacklistPATCH/keyword-blacklist/:idDELETE/keyword-blacklist/:idGET/metasPOST/metasGET/metas/:idGET/conversions-by-days/:daysGET/conversions-graph-by-days/:daysGET/conversions-table-by-days/:daysGET/event-count-by-days/:daysGET/pages-and-screens-by-days/:daysGET/pages-and-screens-graph-by-days/:daysGET/sessions-count-by-days/:daysGET/user-count-by-days/:daysGET/item-rating-over-time/:from&:toGET/report-bookings-over-time/:from&:toGET/report-clicks-over-time/:from&:toGET/report-coupon-over-time/:from&:toGET/report-interaction-over-time/:from&:toGET/report-item-over-time/:from&:toGET/report-item-sales-over-time/:from&:toGET/report-newsletter-over-time/:from&:toGET/report-payment-methods-revenue-over-time/:from&:toGET/report-priceplan-over-time/:from&:toGET/report-push-over-time/:from&:toGET/report-sales-over-time/:from&:toGET/report-shipping-over-time/:from&:toGET/report-traffic-over-time/:from&:toGET/report-users-over-time/:from&:toGET/user-item-rating-over-time/:from&:toGET/trackingsPOST/trackingsGET/trackings/:idPATCH/trackings/:idDELETE/trackings/:idPOST/create-seo-keywordsPOST/create-serp-metaPOST/generate-seo-keywordsPOST/generate-serp-meta

List the activity log filters

The action and entity values actually present, for the filter menus.

Admin token

Needs a site admin token.

Returns

Returns a list of ActivityLog objects.

Status codes

200 401 500

GET/activity-log-filters
curl -X GET 'http://debate.bg/activity-log-filters?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
[
  {
    "action": "example",
    "entity": "example",
    "entity_id": "example",
    "label": "Example",
    "method": "example",
    "path": "example",
    "status": 1,
    "changes": {},
    "ip": "example",
    "user_agent": "example",
    "_id": "6543210fedcba98765432100",
    "updatedAt": "2026-11-04T12:00:00.000Z",
    "createdAt": "2026-11-04T12:00:00.000Z",
    "actor": {
      "user": "example",
      "email": "jane@example.com",
      "name": "Example",
      "kind": "example"
    }
  }
]

List all activity logs

List activity log entries, newest first.

Admin token

Needs a site admin token.

Query parameters
limitstring

How many results to return.

skipstring

How many results to skip - for paging.

Returns

Returns a list of ActivityLog objects.

Status codes

200 401 500

GET/activity-logs
curl -X GET 'http://debate.bg/activity-logs?ionic=true&limit=...&skip=...' \
  -H 'Authorization: Bearer <TOKEN>'
Response
[
  {
    "action": "example",
    "entity": "example",
    "entity_id": "example",
    "label": "Example",
    "method": "example",
    "path": "example",
    "status": 1,
    "changes": {},
    "ip": "example",
    "user_agent": "example",
    "_id": "6543210fedcba98765432100",
    "updatedAt": "2026-11-04T12:00:00.000Z",
    "createdAt": "2026-11-04T12:00:00.000Z",
    "actor": {
      "user": "example",
      "email": "jane@example.com",
      "name": "Example",
      "kind": "example"
    }
  }
]

Export activity logs

The current selection as CSV.

Admin token

Needs a site admin token.

Query parameters
limitstring

How many results to return.

Returns

Returns the ActivityLog object.

Status codes

200 401 500

GET/activity-logs-export
curl -X GET 'http://debate.bg/activity-logs-export?ionic=true&limit=...' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "action": "example",
  "entity": "example",
  "entity_id": "example",
  "label": "Example",
  "method": "example",
  "path": "example",
  "status": 1,
  "changes": {},
  "ip": "example",
  "user_agent": "example",
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z",
  "actor": {
    "user": "example",
    "email": "jane@example.com",
    "name": "Example",
    "kind": "example"
  }
}

Retrieve an activity log

One entry, including the full recorded payload.

Admin token

Needs a site admin token.

Path parameters
idstringRequired

The ID of the activity log.

Returns

Returns the ActivityLog object.

Status codes

200 401 404 500

GET/activity-logs/:id
curl -X GET 'http://debate.bg/activity-logs/{id}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "action": "example",
  "entity": "example",
  "entity_id": "example",
  "label": "Example",
  "method": "example",
  "path": "example",
  "status": 1,
  "changes": {},
  "ip": "example",
  "user_agent": "example",
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z",
  "actor": {
    "user": "example",
    "email": "jane@example.com",
    "name": "Example",
    "kind": "example"
  }
}

Connect the Google Analytic

Connect the Google Analytic.

User token

Needs the token of a signed-in user.

Status codes

200 400 401 500

POST/ga/connect
curl -X POST 'http://debate.bg/ga/connect?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'

Create a Google Analytic

Creates a Google Analytic from the fields sent.

User token

Needs the token of a signed-in user.

Parameters
propertystring

The Google Analytic's property.

accountNamestring

The Google Analytic's account name.

currencyCodestring

The Google Analytic's currency code.

propertyNamestring

The Google Analytic's property name.

timeZonestring

The Google Analytic's time zone.

replaceTagstring

The Google Analytic's replace tag.

Status codes

200 400 401 500

POST/ga/create
curl -X POST 'http://debate.bg/ga/create?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{ "property": "...", "accountName": "...", "currencyCode": "...", "propertyName": "...", "timeZone": "..." }'
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
  }
}

Disconnect the Google Analytic

Disconnect the Google Analytic.

User token

Needs the token of a signed-in user.

Status codes

200 401 500

POST/ga/disconnect
curl -X POST 'http://debate.bg/ga/disconnect?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
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
  }
}

List all Google Analytics

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

User token

Needs the token of a signed-in user.

Query parameters
rangestring

Only Google Analytics with this range.

Status codes

200 400 401 500

GET/ga/events
curl -X GET 'http://debate.bg/ga/events?ionic=true&range=...' \
  -H 'Authorization: Bearer <TOKEN>'
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
  }
}

List all Google Analytics

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

User token

Needs the token of a signed-in user.

Query parameters
rangestring

Only Google Analytics with this range.

Status codes

200 400 401 500

GET/ga/pages
curl -X GET 'http://debate.bg/ga/pages?ionic=true&range=...' \
  -H 'Authorization: Bearer <TOKEN>'
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 Google Analytic

Returns the Google Analytic.

User token

Needs the token of a signed-in user.

Status codes

200 400 401 500

GET/ga/realtime
curl -X GET 'http://debate.bg/ga/realtime?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
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
  }
}

Report the Google Analytic

Report the Google Analytic.

User token

Needs the token of a signed-in user.

Query parameters
rangestring

Only Google Analytics with this range.

Status codes

200 400 401 500

GET/ga/report
curl -X GET 'http://debate.bg/ga/report?ionic=true&range=...' \
  -H 'Authorization: Bearer <TOKEN>'
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
  }
}

Change the status of a Google Analytic

Change the status of a Google Analytic.

User token

Needs the token of a signed-in user.

Status codes

200 401 500

GET/ga/status
curl -X GET 'http://debate.bg/ga/status?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
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
  }
}

List all Google Business Profiles

Returns the site's Google Business Profiles, newest first unless a sort is given.

User token

Needs the token of a signed-in user.

Query parameters
accessTokenstring

Only Google Business Profiles with this access token.

regionCodestring

Only Google Business Profiles with this region code.

languageCodestring

Only Google Business Profiles with this language code.

qstring

The words to search for.

Status codes

200 400 401 500

GET/gmb/categories
curl -X GET 'http://debate.bg/gmb/categories?ionic=true&accessToken=...&regionCode=...&languageCode=...' \
  -H 'Authorization: Bearer <TOKEN>'

Connect the Google Business Profile

Connect the Google Business Profile.

User token

Needs the token of a signed-in user.

Status codes

200 400 401 500

POST/gmb/connect
curl -X POST 'http://debate.bg/gmb/connect?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
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
  }
}

Create a Google Business Profile

Creates a Google Business Profile from the fields sent.

User token

Needs the token of a signed-in user.

Parameters
locationsstring

The Google Business Profile's locations.

Status codes

201 400 401 500

POST/gmb/create
curl -X POST 'http://debate.bg/gmb/create?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{ "locations": "..." }'
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
  }
}

Disconnect the Google Business Profile

Disconnect the Google Business Profile.

User token

Needs the token of a signed-in user.

Status codes

200 400 401 500

POST/gmb/disconnect
curl -X POST 'http://debate.bg/gmb/disconnect?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
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
  }
}

Import the Google Business Profile

Import the Google Business Profile.

User token

Needs the token of a signed-in user.

Parameters
serviceItemsstring

The Google Business Profile's service items.

storefrontAddressstring

The Google Business Profile's storefront address.

regularHoursstring

The Google Business Profile's regular hours.

locationstring

The Google Business Profile's location.

importServicesstring

The Google Business Profile's import services.

collectionIdstring

The Google Business Profile's collection id.

importHoursstring

The Google Business Profile's import hours.

importAddressstring

The Google Business Profile's import address.

emailstring

An email address.

importEmailstring

The Google Business Profile's import email.

Status codes

200 400 401 500

POST/gmb/import
curl -X POST 'http://debate.bg/gmb/import?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{ "serviceItems": "...", "storefrontAddress": "...", "regularHours": "...", "location": "...", "importServices": "..." }'
Response
{
  "title": "Example",
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z"
}

Create a Google Business Profile

Creates a Google Business Profile from the fields sent.

User token

Needs the token of a signed-in user.

Parameters
locationstring

The Google Business Profile's location.

Status codes

200 400 401 500

POST/gmb/select
curl -X POST 'http://debate.bg/gmb/select?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{ "location": "..." }'
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
  }
}

Change the status of a Google Business Profile

Change the status of a Google Business Profile.

User token

Needs the token of a signed-in user.

Status codes

200 401 500

GET/gmb/status
curl -X GET 'http://debate.bg/gmb/status?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
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 Search Console

Returns the Search Console.

User token

Needs the token of a signed-in user.

Query parameters
rangestring

Only Search Consoles with this range.

typestring

Only Search Consoles with this type.

dimensionstring

Only Search Consoles with this dimension.

Status codes

200 400 401 500

GET/gsc/breakdown
curl -X GET 'http://debate.bg/gsc/breakdown?ionic=true&range=...&type=...&dimension=...' \
  -H 'Authorization: Bearer <TOKEN>'
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
  }
}

Connect the Search Console

Connect the Search Console.

User token

Needs the token of a signed-in user.

Status codes

200 400 401 500

POST/gsc/connect
curl -X POST 'http://debate.bg/gsc/connect?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
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
  }
}

Disconnect the Search Console

Disconnect the Search Console.

User token

Needs the token of a signed-in user.

Status codes

200 401 500

POST/gsc/disconnect
curl -X POST 'http://debate.bg/gsc/disconnect?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "title": "Example",
  "script": "example",
  "prefix": "example",
  "place_in_body": false,
  "external_tracker_id": "example",
  "external_tracker_integration": "example",
  "event_map": {},
  "_id": "6543210fedcba98765432100"
}

Retrieve the Search Console

Returns the Search Console.

User token

Needs the token of a signed-in user.

Query parameters
rangestring

Only Search Consoles with this range.

typestring

Only Search Consoles with this type.

Status codes

200 400 401 500

GET/gsc/performance
curl -X GET 'http://debate.bg/gsc/performance?ionic=true&range=...&type=...' \
  -H 'Authorization: Bearer <TOKEN>'
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
  }
}

List all Search Consoles

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

User token

Needs the token of a signed-in user.

Status codes

200 401 500

GET/gsc/sites
curl -X GET 'http://debate.bg/gsc/sites?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
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
  }
}

List all keywords

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

Admin token

Needs a site admin token.

Returns

Returns a list of Keyword objects.

Status codes

200 401 500

GET/keywords
curl -X GET 'http://debate.bg/keywords?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
[
  {
    "word": "example",
    "_id": "6543210fedcba98765432100"
  }
]

Retrieve a keyword

Returns one keyword, found by its ID.

Admin token

Needs a site admin token.

Path parameters
idstringRequired

The ID of the keyword.

Returns

Returns the Keyword object.

Status codes

200 401 404 500

GET/keywords/:id
curl -X GET 'http://debate.bg/keywords/{id}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "word": "example",
  "_id": "6543210fedcba98765432100"
}

Retrieve the keyword blacklist

Returns the keyword blacklist.

User token

Needs the token of a signed-in user.

Returns

Returns the KeywordBlacklist object.

Status codes

200 401 500

GET/keyword-blacklist
curl -X GET 'http://debate.bg/keyword-blacklist?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "keyword": [
    "example"
  ],
  "_id": "6543210fedcba98765432100"
}

Create a keyword blacklist

Create new KeywordBlacklist.

User token

Needs the token of a signed-in user.

Returns

Returns the KeywordBlacklist object.

Status codes

201 400 401 500

POST/keyword-blacklist
curl -X POST 'http://debate.bg/keyword-blacklist?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "keyword": [
    "example"
  ],
  "_id": "6543210fedcba98765432100"
}

Update a keyword blacklist

Update KeywordBlacklist by id.

User token

Needs the token of a signed-in user.

Path parameters
idstringRequired

The ID of the keyword blacklist.

Returns

Returns the KeywordBlacklist object.

Status codes

200 400 401 404 500

PATCH/keyword-blacklist/:id
curl -X PATCH 'http://debate.bg/keyword-blacklist/{id}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "keyword": [
    "example"
  ],
  "_id": "6543210fedcba98765432100"
}

Delete a keyword blacklist

Delete KeywordBlacklist record by id.

User token

Needs the token of a signed-in user.

Path parameters
idstringRequired

The ID of the keyword blacklist.

Returns

Returns an empty answer on success.

Status codes

200 401 404 500

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

List all metas

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

Public

Public - no token needed.

Returns

Returns a list of Meta objects.

Status codes

200 500

GET/metas
curl -X GET 'http://debate.bg/metas?ionic=true'
Response
[
  {
    "title": "Example",
    "url": "example-item",
    "description": "Text shown on the site.",
    "site_name": "Example",
    "image": "6543210fedcba98765432100",
    "_id": "6543210fedcba98765432100"
  }
]

Create a meta

Creates a meta from the fields sent.

User token

Needs the token of a signed-in user.

Returns

Returns the Meta object.

Status codes

201 400 401 500

POST/metas
curl -X POST 'http://debate.bg/metas?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "title": "Example",
  "url": "example-item",
  "description": "Text shown on the site.",
  "site_name": "Example",
  "image": "6543210fedcba98765432100",
  "_id": "6543210fedcba98765432100"
}

Retrieve a meta

Returns one meta, found by its ID.

Public

Public - no token needed.

Path parameters
idstringRequired

The ID of the meta.

Returns

Returns the Meta object.

Status codes

200 404 500

GET/metas/:id
curl -X GET 'http://debate.bg/metas/{id}?ionic=true'
Response
{
  "title": "Example",
  "url": "example-item",
  "description": "Text shown on the site.",
  "site_name": "Example",
  "image": "6543210fedcba98765432100",
  "_id": "6543210fedcba98765432100"
}

List all conversions days

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

User token

Needs the token of a signed-in user.

Path parameters
daysstringRequired

The conversions day's days.

Query parameters
on_behalf_ofstring

Only conversions days with this on behalf of.

Status codes

200 401 403 500

GET/conversions-by-days/:days
curl -X GET 'http://debate.bg/conversions-by-days/{days}?ionic=true&on_behalf_of=...' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "on_behalf_of": "6543210fedcba98765432100",
  "user_account": "6543210fedcba98765432100",
  "status": "pending",
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z",
  "is_authorized_to": {
    "create_posts": false,
    "send_messages": false,
    "answer_delete_comments": false,
    "access_engagements": false,
    "access_boosted_posts": false,
    "access_analytics": false,
    "alter_profile_settings": false
  }
}

List all conversions graph days

Returns the site's conversions graph days, newest first unless a sort is given.

User token

Needs the token of a signed-in user.

Path parameters
daysstringRequired

The conversions graph day's days.

Query parameters
on_behalf_ofstring

Only conversions graph days with this on behalf of.

Status codes

200 401 403 500

GET/conversions-graph-by-days/:days
curl -X GET 'http://debate.bg/conversions-graph-by-days/{days}?ionic=true&on_behalf_of=...' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "on_behalf_of": "6543210fedcba98765432100",
  "user_account": "6543210fedcba98765432100",
  "status": "pending",
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z",
  "is_authorized_to": {
    "create_posts": false,
    "send_messages": false,
    "answer_delete_comments": false,
    "access_engagements": false,
    "access_boosted_posts": false,
    "access_analytics": false,
    "alter_profile_settings": false
  }
}

List all conversions table days

Returns the site's conversions table days, newest first unless a sort is given.

User token

Needs the token of a signed-in user.

Path parameters
daysstringRequired

The conversions table day's days.

Query parameters
on_behalf_ofstring

Only conversions table days with this on behalf of.

Status codes

200 401 403 500

GET/conversions-table-by-days/:days
curl -X GET 'http://debate.bg/conversions-table-by-days/{days}?ionic=true&on_behalf_of=...' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "on_behalf_of": "6543210fedcba98765432100",
  "user_account": "6543210fedcba98765432100",
  "status": "pending",
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z",
  "is_authorized_to": {
    "create_posts": false,
    "send_messages": false,
    "answer_delete_comments": false,
    "access_engagements": false,
    "access_boosted_posts": false,
    "access_analytics": false,
    "alter_profile_settings": false
  }
}

Count event days

Count event days.

User token

Needs the token of a signed-in user.

Path parameters
daysstringRequired

The event day's days.

Query parameters
on_behalf_ofstring

Only event days with this on behalf of.

Status codes

200 401 403 500

GET/event-count-by-days/:days
curl -X GET 'http://debate.bg/event-count-by-days/{days}?ionic=true&on_behalf_of=...' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "on_behalf_of": "6543210fedcba98765432100",
  "user_account": "6543210fedcba98765432100",
  "status": "pending",
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z",
  "is_authorized_to": {
    "create_posts": false,
    "send_messages": false,
    "answer_delete_comments": false,
    "access_engagements": false,
    "access_boosted_posts": false,
    "access_analytics": false,
    "alter_profile_settings": false
  }
}

List all pages and screens days

Returns the site's pages and screens days, newest first unless a sort is given.

User token

Needs the token of a signed-in user.

Path parameters
daysstringRequired

The pages and screens day's days.

Query parameters
on_behalf_ofstring

Only pages and screens days with this on behalf of.

Status codes

200 401 403 500

GET/pages-and-screens-by-days/:days
curl -X GET 'http://debate.bg/pages-and-screens-by-days/{days}?ionic=true&on_behalf_of=...' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "on_behalf_of": "6543210fedcba98765432100",
  "user_account": "6543210fedcba98765432100",
  "status": "pending",
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z",
  "is_authorized_to": {
    "create_posts": false,
    "send_messages": false,
    "answer_delete_comments": false,
    "access_engagements": false,
    "access_boosted_posts": false,
    "access_analytics": false,
    "alter_profile_settings": false
  }
}

List all pages and screens graph days

Returns the site's pages and screens graph days, newest first unless a sort is given.

User token

Needs the token of a signed-in user.

Path parameters
daysstringRequired

The pages and screens graph day's days.

Query parameters
on_behalf_ofstring

Only pages and screens graph days with this on behalf of.

Status codes

200 401 403 500

GET/pages-and-screens-graph-by-days/:days
curl -X GET 'http://debate.bg/pages-and-screens-graph-by-days/{days}?ionic=true&on_behalf_of=...' \
  -H 'Authorization: Bearer <TOKEN>'
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
  }
}

Count sessions days

Count sessions days.

User token

Needs the token of a signed-in user.

Path parameters
daysstringRequired

The sessions day's days.

Query parameters
on_behalf_ofstring

Only sessions days with this on behalf of.

Status codes

200 401 403 500

GET/sessions-count-by-days/:days
curl -X GET 'http://debate.bg/sessions-count-by-days/{days}?ionic=true&on_behalf_of=...' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "on_behalf_of": "6543210fedcba98765432100",
  "user_account": "6543210fedcba98765432100",
  "status": "pending",
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z",
  "is_authorized_to": {
    "create_posts": false,
    "send_messages": false,
    "answer_delete_comments": false,
    "access_engagements": false,
    "access_boosted_posts": false,
    "access_analytics": false,
    "alter_profile_settings": false
  }
}

Count user days

Count user days.

User token

Needs the token of a signed-in user.

Path parameters
daysstringRequired

The user day's days.

Query parameters
on_behalf_ofstring

Only user days with this on behalf of.

Status codes

200 401 403 500

GET/user-count-by-days/:days
curl -X GET 'http://debate.bg/user-count-by-days/{days}?ionic=true&on_behalf_of=...' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "on_behalf_of": "6543210fedcba98765432100",
  "user_account": "6543210fedcba98765432100",
  "status": "pending",
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z",
  "is_authorized_to": {
    "create_posts": false,
    "send_messages": false,
    "answer_delete_comments": false,
    "access_engagements": false,
    "access_boosted_posts": false,
    "access_analytics": false,
    "alter_profile_settings": false
  }
}

List all item rating over times

Returns the site's item rating over times, newest first unless a sort is given.

Admin token

Needs a site admin token.

Path parameters
fromstringRequired

The item rating over time's from.

tostringRequired

The item rating over time's to.

Query parameters
splitstring

Only item rating over times with this split.

itemsStringstring

Only item rating over times with this items string.

Status codes

200 401 500

GET/item-rating-over-time/:from&:to
curl -X GET 'http://debate.bg/item-rating-over-time/{from}&{to}?ionic=true&split=...&itemsString=...' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "email": "jane@example.com",
  "text": "Text shown on the site.",
  "medias": [
    {
      "media": "6543210fedcba98765432100",
      "_id": "6543210fedcba98765432100"
    }
  ],
  "stars": 1,
  "product": "6543210fedcba98765432100",
  "service": "6543210fedcba98765432100",
  "program": "6543210fedcba98765432100",
  "price_plan": "6543210fedcba98765432100",
  "name": "Example",
  "miniapp": "6543210fedcba98765432100",
  "staff_member": "6543210fedcba98765432100",
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z"
}

Report bookings over time

Get report-bookings-over-time.

Admin token

Needs a site admin token.

Path parameters
fromstringRequired

The bookings over time's from.

tostringRequired

The bookings over time's to.

Query parameters
splitstring

Only bookings over times with this split.

servicesstring

Only bookings over times with this services.

Status codes

200 401 500

GET/report-bookings-over-time/:from&:to
curl -X GET 'http://debate.bg/report-bookings-over-time/{from}&{to}?ionic=true&split=...&services=...' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "title": "Example",
  "url": "example-item",
  "static_url": "example-item",
  "header": "example",
  "description": "Text shown on the site.",
  "bookable": true,
  "expirable": false,
  "confirm_bookings": false,
  "show_notes": false,
  "minutes_delete_bookings": 1,
  "medias": [
    {
      "media": "6543210fedcba98765432100",
      "gcs_url": "example-item",
      "gcs_480_30_url": "example-item",
      "gcs_720_30_url": "example-item",
      "gcs_1080_30_url": "example-item",
      "duration": 1,
      "vimeo_uri": "example",
      "vimeo_picture": "example",
      "vimeo_url": "example-item",
      "youtube_url": "example-item",
      "youtube_picture": "example",
      "thumbnail": "example",
      "_id": "6543210fedcba98765432100"
    }
  ],
  "collection_id": "6543210fedcba98765432100",
  "price": 49.9,
  "online_payment": false,
  "book_by_date": false,
  "book_date_range": false,
  "start_date": "2026-11-04T12:00:00.000Z",
  "end_date": "2026-11-04T12:00:00.000Z",
  "day_offset": 0,
  "is_recurring": false,
  "max_participants": 1,
  "session_duration": 1,
  "time_between_sessions": 0,
  "discount": [
    {
      "days": 1,
      "per_total_price": 49.9,
      "fixed_price": 49.9,
      "per_day": 1,
      "_id": "6543210fedcba98765432100"
    }
  ],
  "monday": {
    "active": false,
    "hours": "example"
  },
  "tuesday": {
    "active": false,
    "hours": "example"
  },
  "wednesday": {
    "active": false,
    "hours": "example"
  },
  "thursday": {
    "active": false,
    "hours": "example"
  },
  "friday": {
    "active": false,
    "hours": "example"
  },
  "saturday": {
    "active": false
  }
}

Report clicks over time

Get report-users-over-time.

Admin token

Needs a site admin token.

Path parameters
fromstringRequired

The clicks over time's from.

tostringRequired

The clicks over time's to.

Status codes

200 401 500

GET/report-clicks-over-time/:from&:to
curl -X GET 'http://debate.bg/report-clicks-over-time/{from}&{to}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "url": "example-item",
  "ip": "example",
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z"
}

Report a coupon over time

Get report-coupon-over-time.

Admin token

Needs a site admin token.

Path parameters
fromstringRequired

The coupon over time's from.

tostringRequired

The coupon over time's to.

Query parameters
splitstring

Only coupon over times with this split.

couponsstring

Only coupon over times with this coupons.

Status codes

200 401 500

GET/report-coupon-over-time/:from&:to
curl -X GET 'http://debate.bg/report-coupon-over-time/{from}&{to}?ionic=true&split=...&coupons=...' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "code": "example",
  "name": "Example",
  "fixed_discount": 1,
  "percentage_discount": 1,
  "shipping_discount": 1,
  "sale_discount": 1,
  "apply_to_all_orders": false,
  "apply_to_all_products": false,
  "apply_to_product": "example",
  "apply_to_event": "example",
  "apply_to_all_events": false,
  "apply_to_collection": "example",
  "apply_to_minimum_subtotal": 49.9,
  "start_date": "2026-11-04T12:00:00.000Z",
  "end_date": "2026-11-04T12:00:00.000Z",
  "no_end_date": false,
  "limit_uses": 1,
  "uses": 1,
  "_id": "6543210fedcba98765432100",
  "quantity_discount": {
    "buy": 0,
    "get": 0
  }
}

Report an interaction over time

Get report-interaction-over-time.

Public

Public - no token needed.

Path parameters
fromstringRequired

The interaction over time's from.

tostringRequired

The interaction over time's to.

Status codes

200 500

GET/report-interaction-over-time/:from&:to
curl -X GET 'http://debate.bg/report-interaction-over-time/{from}&{to}?ionic=true'
Response
{
  "session_id": "example",
  "page_views": 1,
  "site_session": 0,
  "app_session": 0,
  "last_url": "example-item",
  "path": [
    "example"
  ],
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z"
}

Report an item over time

Get report-item-over-time.

Admin token

Needs a site admin token.

Path parameters
fromstringRequired

The item over time's from.

tostringRequired

The item over time's to.

Query parameters
splitstring

Only item over times with this split.

idsstring

Only item over times with this ids.

Status codes

200 401 500

GET/report-item-over-time/:from&:to
curl -X GET 'http://debate.bg/report-item-over-time/{from}&{to}?ionic=true&split=...&ids=...' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "name": "Example",
  "url": "example-item",
  "static_url": "example-item",
  "ribbon": "example",
  "striked": "example",
  "price": 49.9,
  "description": "Text shown on the site.",
  "product_informations": [
    {
      "name": "Example",
      "description": "Text shown on the site.",
      "_id": "6543210fedcba98765432100"
    }
  ],
  "product_options": [
    {
      "name": "Example",
      "options": [],
      "informations": [],
      "_id": "6543210fedcba98765432100"
    }
  ],
  "published": true,
  "available_for_purchase": true,
  "medias": [
    {
      "media": "6543210fedcba98765432100",
      "gcs_url": "example-item",
      "gcs_480_30_url": "example-item",
      "gcs_720_30_url": "example-item",
      "gcs_1080_30_url": "example-item",
      "duration": 1,
      "vimeo_uri": "example",
      "vimeo_picture": "example",
      "vimeo_url": "example-item",
      "youtube_url": "example-item",
      "youtube_picture": "example",
      "thumbnail": "example",
      "_id": "6543210fedcba98765432100"
    }
  ],
  "collection_id": "6543210fedcba98765432100",
  "grouping": [
    {
      "collection_id": "6543210fedcba98765432100",
      "_id": "6543210fedcba98765432100"
    }
  ],
  "owner_id": "6543210fedcba98765432100",
  "connected_account_owner_id": "6543210fedcba98765432100",
  "qty": 1,
  "origin_address": "example",
  "selected": false,
  "custom_1": "example",
  "custom_2": "example",
  "custom_3": "example",
  "about_page": "6543210fedcba98765432100",
  "is_digital": false,
  "secondary_cta": {
    "show": false,
    "title": "Example",
    "webUrl": "example",
    "appUrl": "example"
  },
  "attached_priceplans": {
    "name": "Example",
    "priceplans": "example"
  }
}

Report an item sales over time

Get report-item-sales-over-time.

Admin token

Needs a site admin token.

Path parameters
fromstringRequired

The item sales over time's from.

tostringRequired

The item sales over time's to.

Status codes

200 401 500

GET/report-item-sales-over-time/:from&:to
curl -X GET 'http://debate.bg/report-item-sales-over-time/{from}&{to}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "organization_name": "Example",
  "firstname": "Example",
  "lastname": "Example",
  "email": "jane@example.com",
  "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.",
  "products": [
    "example"
  ],
  "products_obj": [
    {
      "product_id": "6543210fedcba98765432100",
      "name": "Example",
      "options": "example",
      "price": 49.9,
      "quantity": 1,
      "_id": "6543210fedcba98765432100"
    }
  ],
  "programs": [
    "example"
  ],
  "programs_obj": [
    {
      "program_id": "6543210fedcba98765432100",
      "title": "Example",
      "price": 49.9,
      "_id": "6543210fedcba98765432100"
    }
  ],
  "tickets": [
    "6543210fedcba98765432101"
  ],
  "donations": [
    "6543210fedcba98765432101"
  ],
  "donations_obj": [
    {
      "donation_id": "6543210fedcba98765432100",
      "name": "Example",
      "options": "example",
      "price": 49.9,
      "quantity": 1,
      "_id": "6543210fedcba98765432100"
    }
  ],
  "value": 49.9,
  "finalized": false,
  "fulfilled": false,
  "paid": false,
  "delivery_method": "example"
}

Report a newsletter over time

Get report-newsletter-over-time.

Admin token

Needs a site admin token.

Path parameters
fromstringRequired

The newsletter over time's from.

tostringRequired

The newsletter over time's to.

Status codes

200 401 500

GET/report-newsletter-over-time/:from&:to
curl -X GET 'http://debate.bg/report-newsletter-over-time/{from}&{to}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "name": "Example",
  "age": 1,
  "email": "jane@example.com",
  "city": "example",
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z"
}

Report a payment methods revenue over time

Get report-payment-methods-revenue-over-time.

Admin token

Needs a site admin token.

Path parameters
fromstringRequired

The payment methods revenue over time's from.

tostringRequired

The payment methods revenue over time's to.

Query parameters
splitstring

Only payment methods revenue over times with this split.

paymentsstring

Only payment methods revenue over times with this payments.

Status codes

200 401 500

GET/report-payment-methods-revenue-over-time/:from&:to
curl -X GET 'http://debate.bg/report-payment-methods-revenue-over-time/{from}&{to}?ionic=true&split=...&payments=...' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "organization_name": "Example",
  "firstname": "Example",
  "lastname": "Example",
  "email": "jane@example.com",
  "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.",
  "products": [
    "example"
  ],
  "products_obj": [
    {
      "product_id": "6543210fedcba98765432100",
      "name": "Example",
      "options": "example",
      "price": 49.9,
      "quantity": 1,
      "_id": "6543210fedcba98765432100"
    }
  ],
  "programs": [
    "example"
  ],
  "programs_obj": [
    {
      "program_id": "6543210fedcba98765432100",
      "title": "Example",
      "price": 49.9,
      "_id": "6543210fedcba98765432100"
    }
  ],
  "tickets": [
    "6543210fedcba98765432101"
  ],
  "donations": [
    "6543210fedcba98765432101"
  ],
  "donations_obj": [
    {
      "donation_id": "6543210fedcba98765432100",
      "name": "Example",
      "options": "example",
      "price": 49.9,
      "quantity": 1,
      "_id": "6543210fedcba98765432100"
    }
  ],
  "value": 49.9,
  "finalized": false,
  "fulfilled": false,
  "paid": false,
  "delivery_method": "example"
}

Report a price plan over time

Get report-priceplan-over-time.

Admin token

Needs a site admin token.

Path parameters
fromstringRequired

The price plan over time's from.

tostringRequired

The price plan over time's to.

Query parameters
splitstring

Only price plan over times with this split.

price_plansstring

Only price plan over times with this price plans.

Status codes

200 401 500

GET/report-priceplan-over-time/:from&:to
curl -X GET 'http://debate.bg/report-priceplan-over-time/{from}&{to}?ionic=true&split=...&price_plans=...' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "name": "Example",
  "description": "Text shown on the site.",
  "statement_descriptor": "example",
  "plan_features": [
    {
      "feature_type": "example",
      "feature_name": "Example",
      "feature_value": "example",
      "_id": "6543210fedcba98765432100"
    }
  ],
  "price": 49.9,
  "link": "example-item",
  "image": "6543210fedcba98765432100",
  "price_id": "example",
  "payment_link_id": "example-item",
  "free_trial_days": 0,
  "billing_address_collection": "auto",
  "owner_id": "6543210fedcba98765432100",
  "times_showed": 0,
  "views": [
    "6543210fedcba98765432101"
  ],
  "total_views": 0,
  "disabled": false,
  "ribbon": "example",
  "linked_plans": [
    "6543210fedcba98765432101"
  ],
  "is_hidden": false,
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z",
  "recurring_options": {
    "interval": "example",
    "interval_count": 0
  }
}

Report a push over time

Get report-push-over-time.

Admin token

Needs a site admin token.

Path parameters
fromstringRequired

The push over time's from.

tostringRequired

The push over time's to.

Status codes

200 401 500

GET/report-push-over-time/:from&:to
curl -X GET 'http://debate.bg/report-push-over-time/{from}&{to}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "user": "example",
  "is_admin": false,
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z"
}

Report sales over time

Get report-sales-over-time.

Admin token

Needs a site admin token.

Path parameters
fromstringRequired

The sales over time's from.

tostringRequired

The sales over time's to.

Status codes

200 401 500

GET/report-sales-over-time/:from&:to
curl -X GET 'http://debate.bg/report-sales-over-time/{from}&{to}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "organization_name": "Example",
  "firstname": "Example",
  "lastname": "Example",
  "email": "jane@example.com",
  "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.",
  "products": [
    "example"
  ],
  "products_obj": [
    {
      "product_id": "6543210fedcba98765432100",
      "name": "Example",
      "options": "example",
      "price": 49.9,
      "quantity": 1,
      "_id": "6543210fedcba98765432100"
    }
  ],
  "programs": [
    "example"
  ],
  "programs_obj": [
    {
      "program_id": "6543210fedcba98765432100",
      "title": "Example",
      "price": 49.9,
      "_id": "6543210fedcba98765432100"
    }
  ],
  "tickets": [
    "6543210fedcba98765432101"
  ],
  "donations": [
    "6543210fedcba98765432101"
  ],
  "donations_obj": [
    {
      "donation_id": "6543210fedcba98765432100",
      "name": "Example",
      "options": "example",
      "price": 49.9,
      "quantity": 1,
      "_id": "6543210fedcba98765432100"
    }
  ],
  "value": 49.9,
  "finalized": false,
  "fulfilled": false,
  "paid": false,
  "delivery_method": "example"
}

Report a shipping over time

Get report-shipping-over-time.

Admin token

Needs a site admin token.

Path parameters
fromstringRequired

The shipping over time's from.

tostringRequired

The shipping over time's to.

Query parameters
splitstring

Only shipping over times with this split.

shippingsstring

Only shipping over times with this shippings.

Status codes

200 401 500

GET/report-shipping-over-time/:from&:to
curl -X GET 'http://debate.bg/report-shipping-over-time/{from}&{to}?ionic=true&split=...&shippings=...' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "organization_name": "Example",
  "firstname": "Example",
  "lastname": "Example",
  "email": "jane@example.com",
  "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.",
  "products": [
    "example"
  ],
  "products_obj": [
    {
      "product_id": "6543210fedcba98765432100",
      "name": "Example",
      "options": "example",
      "price": 49.9,
      "quantity": 1,
      "_id": "6543210fedcba98765432100"
    }
  ],
  "programs": [
    "example"
  ],
  "programs_obj": [
    {
      "program_id": "6543210fedcba98765432100",
      "title": "Example",
      "price": 49.9,
      "_id": "6543210fedcba98765432100"
    }
  ],
  "tickets": [
    "6543210fedcba98765432101"
  ],
  "donations": [
    "6543210fedcba98765432101"
  ],
  "donations_obj": [
    {
      "donation_id": "6543210fedcba98765432100",
      "name": "Example",
      "options": "example",
      "price": 49.9,
      "quantity": 1,
      "_id": "6543210fedcba98765432100"
    }
  ],
  "value": 49.9,
  "finalized": false,
  "fulfilled": false,
  "paid": false,
  "delivery_method": "example"
}

Report a traffic over time

Report a traffic over time.

Admin token

Needs a site admin token.

Path parameters
fromstringRequired

The traffic over time's from.

tostringRequired

The traffic over time's to.

Status codes

200 401 500

GET/report-traffic-over-time/:from&:to
curl -X GET 'http://debate.bg/report-traffic-over-time/{from}&{to}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "session_id": "example",
  "page_views": 1,
  "site_session": 0,
  "app_session": 0,
  "last_url": "example-item",
  "path": [
    "example"
  ],
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z"
}

Report users over time

Get report-users-over-time.

Admin token

Needs a site admin token.

Path parameters
fromstringRequired

The users over time's from.

tostringRequired

The users over time's to.

Status codes

200 401 500

GET/report-users-over-time/:from&:to
curl -X GET 'http://debate.bg/report-users-over-time/{from}&{to}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
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"
  }
}

List all user item rating over times

Returns the site's user item rating over times, newest first unless a sort is given.

Admin token

Needs a site admin token.

Path parameters
fromstringRequired

The user item rating over time's from.

tostringRequired

The user item rating over time's to.

Query parameters
charAtstring

Only user item rating over times with this char at.

slicestring

Only user item rating over times with this slice.

typestring

Only user item rating over times with this type.

Status codes

200 401 404 500

GET/user-item-rating-over-time/:from&:to
curl -X GET 'http://debate.bg/user-item-rating-over-time/{from}&{to}?ionic=true&charAt=...&slice=...&type=...' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "name": "Example",
  "make": "6543210fedcba98765432100",
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z"
}

List all trackings

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

Public

Public - no token needed.

Returns

Returns a list of Tracking objects.

Status codes

200 500

GET/trackings
curl -X GET 'http://debate.bg/trackings?ionic=true'
Response
[
  {
    "title": "Example",
    "script": "example",
    "prefix": "example",
    "place_in_body": false,
    "external_tracker_id": "example",
    "external_tracker_integration": "example",
    "event_map": {},
    "_id": "6543210fedcba98765432100"
  }
]

Create a tracking

Create new tracking.

Admin token

Needs a site admin token.

Returns

Returns the Tracking object.

Status codes

201 400 401 500

POST/trackings
curl -X POST 'http://debate.bg/trackings?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "title": "Example",
  "script": "example",
  "prefix": "example",
  "place_in_body": false,
  "external_tracker_id": "example",
  "external_tracker_integration": "example",
  "event_map": {},
  "_id": "6543210fedcba98765432100"
}

Retrieve a tracking

Returns one tracking, found by its ID.

Public

Public - no token needed.

Path parameters
idstringRequired

The ID of the tracking.

Returns

Returns the Tracking object.

Status codes

200 404 500

GET/trackings/:id
curl -X GET 'http://debate.bg/trackings/{id}?ionic=true'
Response
{
  "title": "Example",
  "script": "example",
  "prefix": "example",
  "place_in_body": false,
  "external_tracker_id": "example",
  "external_tracker_integration": "example",
  "event_map": {},
  "_id": "6543210fedcba98765432100"
}

Update a tracking

Update Tracking by id.

Admin token

Needs a site admin token.

Path parameters
idstringRequired

The ID of the tracking.

Returns

Returns the Tracking object.

Status codes

200 400 401 404 500

PATCH/trackings/:id
curl -X PATCH 'http://debate.bg/trackings/{id}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "title": "Example",
  "script": "example",
  "prefix": "example",
  "place_in_body": false,
  "external_tracker_id": "example",
  "external_tracker_integration": "example",
  "event_map": {},
  "_id": "6543210fedcba98765432100"
}

Delete a tracking

Delete Tracking record by id.

Admin token

Needs a site admin token.

Path parameters
idstringRequired

The ID of the tracking.

Returns

Returns an empty answer on success.

Status codes

200 401 404 500

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

Create a SEO keyword with AI

Create a SEO keyword 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 SEO keyword, 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 SEO keyword to change.

Status codes

200 401 500

POST/create-seo-keywords
curl -X POST 'http://debate.bg/create-seo-keywords?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{ "prompt": "...", "chatId": "...", "aiVersion": "...", "item_id": "..." }'
Response
{
  "chat_id": "6543210fedcba98765432100",
  "role": "user",
  "text": "Text shown on the site.",
  "target_url": "example-item",
  "action": "RESPONSE",
  "options": [
    "example"
  ],
  "medias": [
    {
      "media": "6543210fedcba98765432100",
      "gcs_url": "example-item",
      "gemini_uri": "example",
      "gemini_interaction_id": "example",
      "_id": "6543210fedcba98765432100"
    }
  ],
  "products": [
    "6543210fedcba98765432101"
  ],
  "services": [
    "6543210fedcba98765432101"
  ],
  "blogposts": [
    "6543210fedcba98765432101"
  ],
  "programs": [
    "6543210fedcba98765432101"
  ],
  "suggestions": [
    {
      "text": "Text shown on the site.",
      "route": "example",
      "item_id": "6543210fedcba98765432100",
      "medias": [],
      "picture": "6543210fedcba98765432100",
      "_id": "6543210fedcba98765432100"
    }
  ],
  "is_system": false,
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z",
  "data": {
    "object": "example",
    "object_type": "example",
    "edit_summary": "example",
    "edit_diff": "example",
    "undo_record": "example",
    "hero_animation_offer": "example",
    "preview_state": "example",
    "pending_credit_cost": 0,
    "target_restore": "example",
    "media_request": "example",
    "item_request": "example",
    "reference_request": "example"
  }
}

Create a search result meta with AI

Create a search result meta 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 search result meta, 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 search result meta to change.

Status codes

200 401 500

POST/create-serp-meta
curl -X POST 'http://debate.bg/create-serp-meta?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{ "prompt": "...", "chatId": "...", "aiVersion": "...", "item_id": "..." }'
Response
{
  "chat_id": "6543210fedcba98765432100",
  "role": "user",
  "text": "Text shown on the site.",
  "target_url": "example-item",
  "action": "RESPONSE",
  "options": [
    "example"
  ],
  "medias": [
    {
      "media": "6543210fedcba98765432100",
      "gcs_url": "example-item",
      "gemini_uri": "example",
      "gemini_interaction_id": "example",
      "_id": "6543210fedcba98765432100"
    }
  ],
  "products": [
    "6543210fedcba98765432101"
  ],
  "services": [
    "6543210fedcba98765432101"
  ],
  "blogposts": [
    "6543210fedcba98765432101"
  ],
  "programs": [
    "6543210fedcba98765432101"
  ],
  "suggestions": [
    {
      "text": "Text shown on the site.",
      "route": "example",
      "item_id": "6543210fedcba98765432100",
      "medias": [],
      "picture": "6543210fedcba98765432100",
      "_id": "6543210fedcba98765432100"
    }
  ],
  "is_system": false,
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z",
  "data": {
    "object": "example",
    "object_type": "example",
    "edit_summary": "example",
    "edit_diff": "example",
    "undo_record": "example",
    "hero_animation_offer": "example",
    "preview_state": "example",
    "pending_credit_cost": 0,
    "target_restore": "example",
    "media_request": "example",
    "item_request": "example",
    "reference_request": "example"
  }
}

Generate a SEO keyword with AI

Use it to generate, add, or suggest SEO keywords or search terms for the site.

User token

Needs the token of a signed-in user.

Parameters
promptstring

What the AI should do with the SEO keyword, 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-seo-keywords
curl -X POST 'http://debate.bg/generate-seo-keywords?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{ "prompt": "...", "chatId": "..." }'

Generate a search result meta with AI

Use it to generate or update the default meta title, meta description, or site name for SEO/SERP purposes.

User token

Needs the token of a signed-in user.

Parameters
promptstring

What the AI should do with the search result meta, 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-serp-meta
curl -X POST 'http://debate.bg/generate-serp-meta?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{ "prompt": "...", "chatId": "..." }'
↑↓ Navigate↵ GoEsc Close