{
  "id": "advertiser",
  "title": "Advertiser",
  "aliases": ["Advertiser", "adv", "advertiser_info"],
  "description": "MNGT advertiser account. Harvested columns live primarily on Admin.Advertiser_info (adv_id).",
  "sourceSystem": "mngt",
  "schemaTables": ["Admin.Advertiser_info", "Admin.Advertiser_budget"],
  "tools": ["get_advertiser", "get_campaign_budget", "list_advertisers_without_recent_campaigns"],
  "statusFields": [
    {
      "field": "Admin.Advertiser_info.status",
      "description": "Advertiser account status (tinyint).",
      "values": [
        {
          "value": "unknown",
          "meaning": "Exact int→label map needs AdOps confirmation before ChatGPT treats codes as authoritative.",
          "confirmed": false
        }
      ]
    },
    {
      "field": "Admin.Advertiser_info.trusted",
      "description": "Trusted advertiser flag used in ops workflows.",
      "values": [
        {
          "value": "0",
          "meaning": "Not marked trusted (confirm semantics with AdOps).",
          "confirmed": false
        },
        {
          "value": "1",
          "meaning": "Trusted — still subject to product/campaign rules.",
          "confirmed": false
        }
      ]
    },
    {
      "field": "Admin.Advertiser_info.role",
      "description": "Advertiser role enum on the account.",
      "values": [
        {
          "value": "enum",
          "meaning": "Use INFORMATION_SCHEMA / MNGT UI for allowed enum labels; do not invent.",
          "confirmed": false
        }
      ]
    }
  ],
  "fieldAllowlist": [
    "adv_id",
    "Advertiser",
    "company",
    "alias",
    "status",
    "trusted",
    "role",
    "website",
    "sales_rep",
    "account_type",
    "admin_type",
    "currency",
    "daily_cap",
    "budget_copy",
    "credit_limit",
    "auto_refill_budget",
    "refill_threshold",
    "country",
    "state",
    "city"
  ],
  "fieldDeny": [
    "pass_clr",
    "pass_hash",
    "reset_token",
    "reset_token_expires",
    "email",
    "telephone",
    "ad_phone",
    "address1",
    "address2",
    "auth_code",
    "auth_file",
    "cc"
  ],
  "reviewStatus": "draft",
  "refs": [
    "https://admedia-jira.atlassian.net/browse/TW-285",
    "https://admedia-jira.atlassian.net/browse/TW-309",
    "https://admedia-jira.atlassian.net/browse/TW-311",
    "https://admedia-jira.atlassian.net/browse/TW-330"
  ],
  "notes": [
    "No live Advertiser base-table columns in staging harvest (0 cols); Advertiser_info is the practical source.",
    "cc column is deny — may hold sensitive contact/payment-adjacent data."
  ]
}
