{
  "id": "campaign_budget",
  "title": "Campaign / advertiser budget",
  "aliases": ["budget", "Advertiser_budget", "campaign budget"],
  "description": "Budget and spend-related fields for advertisers/campaigns used by get_campaign_budget.",
  "sourceSystem": "mngt",
  "schemaTables": ["Admin.Advertiser_budget", "Admin.campaign", "Admin.adv_budget"],
  "tools": ["get_campaign_budget", "list_campaigns", "list_advertisers_without_recent_campaigns", "list_campaigns_at_cap", "list_campaigns_capped_frequently"],
  "statusFields": [
    {
      "field": "Admin.campaign.status",
      "description": "Campaign lifecycle status (char).",
      "values": [
        {
          "value": "unknown",
          "meaning": "Confirm char codes with AdOps (active/paused/etc.) before documenting as confirmed.",
          "confirmed": false
        }
      ]
    },
    {
      "field": "Admin.campaign.approved",
      "description": "Campaign approval flag.",
      "values": [
        {
          "value": "nonzero",
          "meaning": "Approved for use under current advertiser/product rules (exact code TBD).",
          "confirmed": false
        }
      ]
    },
    {
      "field": "Admin.campaign.unlimited_budget",
      "description": "Whether campaign budget is uncapped.",
      "values": [
        {
          "value": "0",
          "meaning": "Budget-capped campaign (confirm).",
          "confirmed": false
        },
        {
          "value": "1",
          "meaning": "Unlimited budget flag set (confirm).",
          "confirmed": false
        }
      ]
    }
  ],
  "fieldAllowlist": [
    "id",
    "advertiser_id",
    "name",
    "status",
    "approved",
    "budget",
    "budget_spent",
    "unlimited_budget",
    "bid",
    "impression_cap",
    "freq_cap",
    "creation",
    "created_at",
    "daily_cap",
    "advertiser",
    "last_update"
  ],
  "fieldDeny": [
    "linktrust_pixel",
    "pixel",
    "pixel_conv",
    "auth_code"
  ],
  "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-312",
    "https://admedia-jira.atlassian.net/browse/TW-330"
  ],
  "notes": [
    "RO view (TW-309) should project only allowlisted columns.",
    "Pixel / tracking URL fields may embed secrets — keep denied."
  ]
}
