{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/hubspot/refs/heads/main/json-schema/crm-search-api-filter-schema.json",
  "title": "Filter",
  "description": "A single filter condition for a CRM object property.",
  "type": "object",
  "properties": {
    "propertyName": {
      "type": "string",
      "description": "The name of the CRM property to filter on.",
      "example": "Example Record"
    },
    "operator": {
      "type": "string",
      "description": "The comparison operator for the filter.",
      "enum": [
        "EQ",
        "NEQ",
        "LT",
        "LTE",
        "GT",
        "GTE",
        "BETWEEN",
        "IN",
        "NOT_IN",
        "HAS_PROPERTY",
        "NOT_HAS_PROPERTY",
        "CONTAINS_TOKEN",
        "NOT_CONTAINS_TOKEN"
      ],
      "example": "EQ"
    },
    "value": {
      "type": "string",
      "description": "The value to compare against. Not required for HAS_PROPERTY and NOT_HAS_PROPERTY operators.",
      "example": "example-value"
    },
    "highValue": {
      "type": "string",
      "description": "The upper bound value for BETWEEN operator comparisons.",
      "example": "example-value"
    },
    "values": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "An array of values for IN and NOT_IN operator comparisons.",
      "example": [
        "example-value"
      ]
    }
  },
  "required": [
    "propertyName",
    "operator"
  ]
}