{
  "$schema_comment": "Non-secret Lucos AdCenter staging fixtures (TW-301). Never put API keys in this file.",
  "ticket": "TW-301",
  "environment": "staging",
  "api_base_url_env": "ADCENTER_API_BASE_URL_STAGING",
  "level1_key_map_env": "ADCENTER_LEVEL1_KEYS_STAGING",
  "advertiser_id_to_key_map_shape": {
    "<advertiser_id>": "<level-1 X-API-KEY from vault/env only>"
  },
  "synthetic_advertiser": {
    "advertiser_id": 19880,
    "purpose": "Dedicated Lucos Business Metrics MCP staging fixture (canonical sample id across Lucos docs/tests)",
    "notes": [
      "Prefer this existing synthetic/test advertiser over production advertiser accounts.",
      "TW-301 locked host: Lucos staging uses https://apiad.admedia.com/v1/ with this synthetic advertiser only.",
      "If AdOps provisions a different Lucos-only advertiser, update advertiser_id here and in ADCENTER_LEVEL1_KEYS_STAGING.",
      "UI-generated keys are level 2 and must not be reused; mint via PUT /api/key with level=1."
    ]
  },
  "sample_ids": {
    "campaign_id": 90553,
    "creative_id": null,
    "report": {
      "path": "/reports/summary/daily",
      "from": "2026-07-14",
      "to": "2026-08-13",
      "format": "daily"
    }
  },
  "discovery": {
    "after_level1_key_injected": [
      "GET {base}/campaigns with X-API-KEY → pick a stable campaign_id owned by advertiser 19880",
      "GET {base}/creatives?id={creative_id} or campaign creatives nested payload → pick creative_id",
      "GET {base}/reports/summary/daily?from=&to= → confirm non-empty or empty-but-200 for E2E date window",
      "Write discovered IDs into sample_ids above (IDs only; never keys)"
    ]
  },
  "allowlisted_get_routes": [
    "GET /campaigns/{id}",
    "GET /campaigns?search=&status=&type=&limit=&offset=",
    "GET /creatives/{id}",
    "GET /reports/summary/{format}",
    "GET /reports/campaigns/{id}",
    "GET /reports/campaigns/{id}/{format}"
  ],
  "report_formats": [
    "daily",
    "monthly",
    "countries",
    "os",
    "browsers",
    "sources",
    "domains",
    "keywords"
  ],
  "question_playbook": "business-mcp.lucos.com/docs/ADCENTER-QUESTION-PLAYBOOK.md",
  "mcp_only_notes": "search_query and dma_by_state require AdCenter REST route changes — not used by Lucos MCP until then; use keywords and countries as documented proxies.",
  "forbidden_for_lucos": [
    "Authorization: Basic + X-API-ADVID (level 10)",
    "UI-generated level-2 keys",
    "Writing keys into git, Jira, Confluence, or tool_audit_logs"
  ]
}
