List Popups

Returns the popups the owner enabled in the dashboard, with their targeting (pages, delay, frequency, trigger) and the form for form popups. This public, read-only endpoint can also tell you which popups target a given page.

GET/v1/popups

Authentication

Public key?key=pk_…

Public key in the `key` query parameter. No OAuth, no secret.

Edge cache: 5 s

Query Parameters

keystring
required

The site's public key (pk_…). It selects the account. Safe to ship to the browser.

triggersstring
optional

Send `1` to get every popup together with its `trigger` (`delay`, `scroll`, `exit` or `click`). Without it only popups that open after a delay are returned, and `trigger` is left out.

1
pathstring
optional

Page path, for example `/listing/1`. With `triggers=1`, the response adds `matched`: the ids of the popups that target that path.

searchstring
optional

Query string of the page, without the leading `?`. Used together with `path` and `triggers=1` for popups that target search pages.

localestring
optional

Language of the forms inside form popups. Unknown languages and `en` return the form as the owner wrote it.

enesbrptitrufrsrdecnzhplrotrar

Responses

200Success
application/json
popupsarray[object]
matchedarray[string]

Errors

401Missing or invalid public key
403TENANT_INACTIVE: the account has no active subscription (body also carries `code`)

Notes

  • `pages` patterns: `/` is the homepage, `/*` every page, `/listing/*` a prefix, anything else an exact path. A leading language segment such as `/es/` is ignored.
  • `type: "auth"` popups open the sign-up or log-in step (`mode`); `type: "form"` popups carry the form definition in `form`. Form popups whose form was deleted are not returned.
  • `matched` appears only when you send both `triggers=1` and `path`. `form.schema` is the same dynamic form definition the forms endpoints return.
  • The list is `[]` when no popup is enabled.
Request
curl --request GET \
--url "https://api.pandaidx.com/v1/popups?key={{public_key}}&triggers=1&path=%2F"
Response200 OK
{
"popups": [
{
"id": "66f1a2b3c4d5e6f708192a3d",
"type": "form",
"mode": "signup",
"formId": "66f1a2b3c4d5e6f708192a3e",
"form": {
"_id": "66f1a2b3c4d5e6f708192a3e",
"name": "Home valuation",
"description": null,
"schema": {}
},
"pages": [
"/",
"/listing/*"
],
"delay": 8,
"trigger": {
"kind": "scroll",
"percent": 50
},
"frequency": "once_per_session",
"dismissable": true
}
],
"matched": [
"66f1a2b3c4d5e6f708192a3d"
]
}