PostHog · Schema

ActionStepJSON

A/B TestingAnalyticsFeature FlagsOpen-SourceProduct AnalyticsSession Recording

Properties

Name Type Description
event string Event name to match (e.g. '$pageview', '$autocapture', or a custom event name).
properties array Event or person property filters. Each item should have 'key' (string), 'value' (string, number, boolean, or array), optional 'operator' (exact, is_not, is_set, is_not_set, icontains, not_icontains, r
selector string CSS selector to match the target element (e.g. 'div > button.cta').
selector_regex string
tag_name string HTML tag name to match (e.g. "button", "a", "input").
text string Element text content to match.
text_matching object How to match the text value. Defaults to exact. * `contains` - contains * `regex` - regex * `exact` - exact
href string Link href attribute to match.
href_matching object How to match the href value. Defaults to exact. * `contains` - contains * `regex` - regex * `exact` - exact
url string Page URL to match.
url_matching object How to match the URL value. Defaults to contains. * `contains` - contains * `regex` - regex * `exact` - exact
View JSON Schema on GitHub

JSON Schema

posthog-actionstepjson-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/ActionStepJSON",
  "title": "ActionStepJSON",
  "type": "object",
  "properties": {
    "event": {
      "type": "string",
      "nullable": true,
      "description": "Event name to match (e.g. '$pageview', '$autocapture', or a custom event name)."
    },
    "properties": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ActionStepPropertyFilter"
      },
      "nullable": true,
      "description": "Event or person property filters. Each item should have 'key' (string), 'value' (string, number, boolean, or array), optional 'operator' (exact, is_not, is_set, is_not_set, icontains, not_icontains, regex, not_regex, gt, gte, lt, lte), and optional 'type' (event, person)."
    },
    "selector": {
      "type": "string",
      "nullable": true,
      "description": "CSS selector to match the target element (e.g. 'div > button.cta')."
    },
    "selector_regex": {
      "type": "string",
      "nullable": true,
      "readOnly": true
    },
    "tag_name": {
      "type": "string",
      "nullable": true,
      "description": "HTML tag name to match (e.g. \"button\", \"a\", \"input\")."
    },
    "text": {
      "type": "string",
      "nullable": true,
      "description": "Element text content to match."
    },
    "text_matching": {
      "nullable": true,
      "description": "How to match the text value. Defaults to exact.\n\n* `contains` - contains\n* `regex` - regex\n* `exact` - exact",
      "oneOf": [
        {
          "$ref": "#/components/schemas/ActionStepMatchingEnum"
        },
        {
          "$ref": "#/components/schemas/NullEnum"
        }
      ]
    },
    "href": {
      "type": "string",
      "nullable": true,
      "description": "Link href attribute to match."
    },
    "href_matching": {
      "nullable": true,
      "description": "How to match the href value. Defaults to exact.\n\n* `contains` - contains\n* `regex` - regex\n* `exact` - exact",
      "oneOf": [
        {
          "$ref": "#/components/schemas/ActionStepMatchingEnum"
        },
        {
          "$ref": "#/components/schemas/NullEnum"
        }
      ]
    },
    "url": {
      "type": "string",
      "nullable": true,
      "description": "Page URL to match."
    },
    "url_matching": {
      "nullable": true,
      "description": "How to match the URL value. Defaults to contains.\n\n* `contains` - contains\n* `regex` - regex\n* `exact` - exact",
      "oneOf": [
        {
          "$ref": "#/components/schemas/ActionStepMatchingEnum"
        },
        {
          "$ref": "#/components/schemas/NullEnum"
        }
      ]
    }
  },
  "required": [
    "selector_regex"
  ]
}

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/posthog-actionstepjson"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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.