{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://howtomakemoneyonsnapchat.com/schemas/v1/get_rule_changes.input.schema.json",
  "title": "get_rule_changes input",
  "description": "FACT tool. Lists approved changes to Snap monetization rules. A change is a record that supersedes an approved earlier record and differs in value, status, or source, or a record with an explicit approved change block (added, retired, or claim_changed). claim_changed is a superseding record whose claim changed while value, status, and source stayed the same. A superseding record that keeps value, status, and source and does not set claim_changed is a date-presentation successor: the earlier record remains the published change. Baseline records (no supersedes and no change block) are omitted unless include_baseline is true, and they are never included in changes or in change counts. since and until filter on the change date: effective_date, else changed_before, else the last day of effective_month, else detected_at. They do not filter on verified_at.",
  "x-generated": "2026-10-30",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/howtomakemoneyonsnapchat-com-openapi.json#/components/schemas/get_rule_changes.input.schema",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "since": {
      "type": "string",
      "format": "date",
      "description": "Inclusive lower bound on the change date: effective_date, else changed_before, else the last day of effective_month, else detected_at. Omitted on GET, POST, and MCP means 90 days before the request's UTC date. until defaults to the UTC date of the request. The response echoes both dates at the top level and inside query."
    },
    "until": {
      "type": "string",
      "format": "date",
      "description": "Inclusive upper bound on that same change date. Default: the UTC date of the request."
    },
    "program": {
      "$ref": "#/$defs/ProgramSlug"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 200,
      "default": 50
    },
    "cursor": {
      "type": "string",
      "maxLength": 200,
      "description": "Opaque pagination cursor from a previous response."
    },
    "include_baseline": {
      "type": "boolean",
      "default": false,
      "description": "When true, also return baseline records in baseline. Baseline records are never included in changes."
    }
  },
  "$defs": {
    "ProgramSlug": {
      "description": "Program identifier. Validated at runtime against programs present in the rules database; unknown values return UNKNOWN_PROGRAM. Examples: unified_monetization_program, snap_star, creator_subscriptions, brand_partnerships, payouts, tax, recommendation_eligibility, creator_monetization_policy, public_profile, lens_creator_rewards.",
      "type": "string",
      "pattern": "^[a-z0-9_]{2,64}$"
    }
  }
}