{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/stat-fi/json-schema/stat-fi-filter-schema.json",
  "title": "Filter",
  "description": "Represents a base class for filters that process a collection of dimension value codes.",
  "x-generated": "2026-11-11",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/stat-fi-pxapi-beta-openapi.yml#/components/schemas/Filter",
  "required": [
    "type"
  ],
  "type": "object",
  "properties": {
    "type": {
      "enum": [
        "Code",
        "From",
        "To",
        "First",
        "Last"
      ],
      "type": "string",
      "description": "Filter type. Code | From | To | First | Last"
    },
    "query": {
      "oneOf": [
        {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Code filter: list of codes or wildcard patterns. Comma list in GET; array in POST body. '*' matches zero or more characters."
        },
        {
          "type": "string",
          "description": "From / To filters: single inclusive boundary value; wildcard '*' allowed."
        },
        {
          "minimum": 1,
          "type": "integer",
          "description": "First / Last filters: positive count (N > 0)."
        }
      ],
      "description": "Filter-specific query value. Code: array[string] (supports '*' wildcard). From/To: string (supports '*'). First/Last: positive integer."
    }
  },
  "additionalProperties": false
}