{"record":{"id":"6c19cfa5e835987c","repo":"nautechsystems/nautilus_trader","slug":"unknown-gamma-event-filter-key-key","errorCode":null,"errorMessage":"Unknown Gamma event filter key '{key}'","messagePattern":"Unknown Gamma event filter key '(.+?)'","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/adapters/polymarket/src/providers.rs","lineNumber":842,"sourceCode":"///\n/// # Errors\n///\n/// Returns an error for unknown keys, malformed values, or invalid filter combinations.\npub fn build_gamma_event_params_from_hashmap(\n    map: &HashMap<String, String>,\n) -> anyhow::Result<GetGammaEventsParams> {\n    for key in map.keys() {\n        match key.as_str() {\n            \"is_active\" | \"active\" | \"closed\" | \"archived\" | \"id\" | \"slug\" | \"live\"\n            | \"featured\" | \"cyom\" | \"title_search\" | \"liquidity_min\" | \"liquidity_max\"\n            | \"volume_min\" | \"volume_max\" | \"start_date_min\" | \"start_date_max\"\n            | \"end_date_min\" | \"end_date_max\" | \"start_time_min\" | \"start_time_max\" | \"tag_id\"\n            | \"tag_slug\" | \"exclude_tag_id\" | \"related_tags\" | \"tag_match\" | \"series_id\"\n            | \"game_id\" | \"event_date\" | \"event_week\" | \"featured_order\" | \"recurrence\"\n            | \"created_by\" | \"parent_event_id\" | \"include_children\" | \"partner_slug\"\n            | \"include_chat\" | \"include_template\" | \"include_best_lines\" | \"locale\" | \"order\"\n            | \"ascending\" | \"limit\" | \"offset\" | \"max_events\" => {}\n            _ => anyhow::bail!(\"Unknown Gamma event filter key '{key}'\"),\n        }\n    }\n\n    let mut params = GetGammaEventsParams::default();\n\n    if map\n        .get(\"is_active\")\n        .map(|value| parse_gamma_filter_bool(\"event\", \"is_active\", value))\n        .transpose()?\n        .unwrap_or(false)\n    {\n        params.active = Some(true);\n        params.archived = Some(false);\n        params.closed = Some(false);\n    }\n\n    macro_rules! set_bool {\n        ($field:ident) => {","sourceCodeStart":824,"sourceCodeEnd":860,"githubUrl":"https://github.com/nautechsystems/nautilus_trader/blob/18893faf8b356be3320add8de2f861b0b647cf06/crates/adapters/polymarket/src/providers.rs#L824-L860","documentation":"build_gamma_params_from_hashmap's event counterpart accepts only a fixed allowlist of Gamma event filter keys (end_date_min, tag_slug, order, limit, etc.). Any other key is rejected with this error. It prevents typos and event API keys leaking into requests.","triggerScenarios":"Calling query_events with a filter map containing a key not in the event allowlist, such as a market-only key or a misspelled parameter.","commonSituations":"Typos like 'tagid' instead of 'tag_id'; reusing market filter maps for event queries; using removed parameters from older Gamma API docs.","solutions":["Verify the key against the event filter allowlist (end_date_min, start_date_min, tag_id, tag_slug, order, ascending, limit, offset, etc.)","Correct or remove the offending key from the filter map","Build filters with a typed struct or constants rather than free-form strings"],"exampleFix":"// before\nlet filters = hashmap!{\"tagid\" => \"1\"};\nprovider.query_events(filters).await?;\n// after\nlet filters = hashmap!{\"tag_id\" => \"1\"};\nprovider.query_events(filters).await?;","handlingStrategy":"validation","validationCode":"const EVENT_KEYS: &[&str] = &[\"end_date_min\",\"end_date_max\",\"tag_id\",\"tag_slug\",\"order\",\"ascending\",\"limit\",\"offset\",\"recurrence\"];\nfor k in filters.keys() {\n    assert!(EVENT_KEYS.contains(&k.as_str()), \"unknown Gamma event filter: {k}\");\n}","typeGuard":null,"tryCatchPattern":"match provider.query_events(filters).await {\n    Err(e) if e.to_string().contains(\"Unknown Gamma event filter\") => {\n        eprintln!(\"bad event filter key: {e}\");\n    }\n    r => r?,\n}","preventionTips":["Define event filter keys as typed constants","Validate filters before query_events in wrappers","Keep market and event filter builders separate"],"tags":["rust","api","validation","filters"],"backgroundTag":"invalid-query-parameter","analyzedSha":"18893faf8b356be3320add8de2f861b0b647cf06","analyzedAt":"2026-09-08T20:49:34.690Z","contentChangedAt":"2026-09-08T20:49:34.690Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}