Hoot Lens · Schema

SettingsPreview

AnalyticsSession ReplayHeatmapsUser ExperienceSoftware-as-a-ServiceParallel Platforms

Properties

Name Type Description
changes object
View JSON Schema on GitHub

JSON Schema

hootlens-com-settings-preview-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/hootlens-com/json-schema/hootlens-com-settings-preview-schema.json",
  "title": "SettingsPreview",
  "x-generated": "2026-11-11",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/hootlens-com-openapi.json#/components/schemas/SettingsPreview",
  "type": "object",
  "properties": {
    "changes": {
      "type": "object",
      "properties": {
        "targeting": {
          "type": "object",
          "properties": {
            "addInclude": {
              "maxItems": 50,
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "removeInclude": {
              "maxItems": 50,
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "addExclude": {
              "maxItems": 50,
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "removeExclude": {
              "maxItems": 50,
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "additionalProperties": false
        },
        "goals": {
          "type": "object",
          "properties": {
            "add": {
              "maxItems": 10,
              "type": "array",
              "items": {
                "oneOf": [
                  {
                    "oneOf": [
                      {
                        "type": "object",
                        "properties": {
                          "kind": {
                            "type": "string",
                            "const": "click"
                          },
                          "name": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 60
                          },
                          "by": {
                            "type": "string",
                            "const": "selector"
                          },
                          "match": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 200
                          }
                        },
                        "required": [
                          "kind",
                          "name",
                          "by",
                          "match"
                        ]
                      },
                      {
                        "type": "object",
                        "properties": {
                          "kind": {
                            "type": "string",
                            "const": "click"
                          },
                          "name": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 60
                          },
                          "by": {
                            "type": "string",
                            "const": "hootId"
                          },
                          "match": {
                            "type": "string",
                            "pattern": "^[a-zA-Z0-9_-]{1,80}$"
                          }
                        },
                        "required": [
                          "kind",
                          "name",
                          "by",
                          "match"
                        ]
                      },
                      {
                        "type": "object",
                        "properties": {
                          "kind": {
                            "type": "string",
                            "const": "click"
                          },
                          "name": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 60
                          },
                          "by": {
                            "type": "string",
                            "const": "label"
                          },
                          "match": {
                            "type": "string",
                            "minLength": 2,
                            "maxLength": 200
                          }
                        },
                        "required": [
                          "kind",
                          "name",
                          "by",
                          "match"
                        ]
                      }
                    ]
                  },
                  {
                    "type": "object",
                    "properties": {
                      "kind": {
                        "type": "string",
                        "const": "page"
                      },
                      "name": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 60
                      },
                      "match": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "kind",
                      "name",
                      "match"
                    ]
                  },
                  {
                    "type": "object",
                    "properties": {
                      "kind": {
                        "type": "string",
                        "const": "event"
                      },
                      "name": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 60
                      },
                      "match": {
                        "type": "string",
                        "pattern": "^[a-z][a-z0-9_]{0,63}$"
                      },
                      "confirmation": {
                        "type": "string",
                        "enum": [
                          "browser",
                          "server"
                        ]
                      }
                    },
                    "required": [
                      "kind",
                      "name",
                      "match",
                      "confirmation"
                    ]
                  }
                ]
              }
            },
            "update": {
              "maxItems": 10,
              "type": "array",
              "items": {
                "allOf": [
                  {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string",
                        "pattern": "^[a-zA-Z0-9_-]{1,80}$"
                      }
                    },
                    "required": [
                      "id"
                    ]
                  },
                  {
                    "oneOf": [
                      {
                        "oneOf": [
                          {
                            "type": "object",
                            "properties": {
                              "kind": {
                                "type": "string",
                                "const": "click"
                              },
                              "name": {
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 60
                              },
                              "by": {
                                "type": "string",
                                "const": "selector"
                              },
                              "match": {
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 200
                              }
                            },
                            "required": [
                              "kind",
                              "name",
                              "by",
                              "match"
                            ]
                          },
                          {
                            "type": "object",
                            "properties": {
                              "kind": {
                                "type": "string",
                                "const": "click"
                              },
                              "name": {
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 60
                              },
                              "by": {
                                "type": "string",
                                "const": "hootId"
                              },
                              "match": {
                                "type": "string",
                                "pattern": "^[a-zA-Z0-9_-]{1,80}$"
                              }
                            },
                            "required": [
                              "kind",
                              "name",
                              "by",
                              "match"
                            ]
                          },
                          {
                            "type": "object",
                            "properties": {
                              "kind": {
                                "type": "string",
                                "const": "click"
                              },
                              "name": {
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 60
                              },
                              "by": {
                                "type": "string",
                                "const": "label"
                              },
                              "match": {
                                "type": "string",
                                "minLength": 2,
                                "maxLength": 200
                              }
                            },
                            "required": [
                              "kind",
                              "name",
                              "by",
                              "match"
                            ]
                          }
                        ]
                      },
                      {
                        "type": "object",
                        "properties": {
                          "kind": {
                            "type": "string",
                            "const": "page"
                          },
                          "name": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 60
                          },
                          "match": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "kind",
                          "name",
                          "match"
                        ]
                      },
                      {
                        "type": "object",
                        "properties": {
                          "kind": {
                            "type": "string",
                            "const": "event"
                          },
                          "name": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 60
                          },
                          "match": {
                            "type": "string",
                            "pattern": "^[a-z][a-z0-9_]{0,63}$"
                          },
                          "confirmation": {
                            "type": "string",
                            "enum": [
                              "browser",
                              "server"
                            ]
                          }
                        },
                        "required": [
                          "kind",
                          "name",
                          "match",
                          "confirmation"
                        ]
                      }
                    ]
                  }
                ]
              }
            },
            "remove": {
              "maxItems": 10,
              "type": "array",
              "items": {
                "type": "string",
                "pattern": "^[a-zA-Z0-9_-]{1,80}$"
              }
            }
          },
          "additionalProperties": false
        },
        "funnels": {
          "type": "object",
          "properties": {
            "add": {
              "maxItems": 10,
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 60
                  },
                  "steps": {
                    "minItems": 2,
                    "maxItems": 8,
                    "type": "array",
                    "items": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 80
                    }
                  }
                },
                "required": [
                  "name",
                  "steps"
                ],
                "additionalProperties": false
              }
            },
            "remove": {
              "maxItems": 10,
              "type": "array",
              "items": {
                "type": "string",
                "pattern": "^[a-zA-Z0-9_-]{1,80}$"
              }
            }
          },
          "additionalProperties": false
        },
        "privacy": {
          "type": "object",
          "properties": {
            "preset": {
              "type": "string",
              "enum": [
                "full",
                "balanced",
                "strict"
              ]
            },
            "addMaskTextSelectors": {
              "maxItems": 10,
              "type": "array",
              "items": {
                "type": "string",
                "minLength": 1,
                "maxLength": 200
              }
            },
            "addBlockSelectors": {
              "maxItems": 10,
              "type": "array",
              "items": {
                "type": "string",
                "minLength": 1,
                "maxLength": 200
              }
            },
            "removeUnmaskInputSelectors": {
              "maxItems": 10,
              "type": "array",
              "items": {
                "type": "string",
                "minLength": 1,
                "maxLength": 200
              }
            },
            "captureQueryStrings": {
              "type": "boolean"
            }
          },
          "additionalProperties": {}
        },
        "pathPresets": {
          "type": "object",
          "properties": {
            "set": {
              "maxItems": 10,
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "match": {
                    "type": "string"
                  },
                  "preset": {
                    "type": "string",
                    "enum": [
                      "safe-form",
                      "balanced",
                      "strict"
                    ]
                  }
                },
                "required": [
                  "match",
                  "preset"
                ]
              }
            }
          },
          "additionalProperties": {}
        }
      },
      "additionalProperties": false
    }
  },
  "required": [
    "changes"
  ]
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/hootlens-com-settings-preview"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.