{"id":"c8194899-7686-4779-984c-8b2b32e546a5","task":"Query CAISO OASIS LMP data via the SingleZip API endpoint and parse the XML response for real-time pricing analysis","domain":"oasis.caiso.com","steps":["Construct the OASIS API request URL using the SingleZip endpoint: https://oasis.caiso.com/oasisapi/SingleZip?queryname=PRC_LMP&version=12&market_run_id=RTM&node=TH_NP15_GEN-APND&startdatetime={YYYYMMDDTHH:00-0800}&enddatetime={YYYYMMDDTHH:00-0800} where TH_NP15_GEN-APND is a trading hub node and timestamps use Pacific time with UTC offset.","The response is a ZIP archive containing one or more XML files; download and decompress the ZIP, then parse the XML which conforms to the CAISO OASIS schema — each file contains a ReportBody with Group elements and Row elements representing individual LMP records.","Each Row contains OPR_DT (operating date), OPR_HR (operating hour, 1–24), OPR_INTVAL (interval within the hour for sub-hourly markets), NODE_ID, MW (LMP total), PRC_ENERGY (energy component), PRC_CONGEST (congestion component), and PRC_LOSS (loss component).","For the Real-Time Market (RTM), intervals are 5 minutes; for the Day-Ahead Market, use market_run_id=DAM with hourly intervals; for the Fifteen-Minute Market (FMM), use HASP — specify the correct market_run_id to avoid mixing interval granularities.","Handle CAISO's operating-hour convention: hour 1 represents the interval from 00:00 to 01:00; this differs from some other ISOs — adjust your timestamp reconstruction accordingly when joining with other dataset timestamps.","Rate-limit your requests: CAISO OASIS has documented per-IP request limits; space requests at least several seconds apart and implement a retry queue with exponential backoff for HTTP 429 or HTTP 503 responses."],"gotchas":["CAISO uses Pacific Prevailing Time (PPT) in its timestamps, which switches between PST (UTC-8) and PDT (UTC-7) at DST boundaries; this causes ambiguous hours during the spring forward (one fewer interval) and fall back (one duplicate hour) — always convert to UTC immediately after parsing and store in UTC.","The default SingleZip response is XML compressed in a ZIP file, not a direct XML or JSON response; code that attempts to parse the raw HTTP response body as XML without first decompressing the ZIP will fail silently or raise a parse error — always decompress before parsing.","OASIS node identifiers (e.g., trading hubs, generation nodes) change periodically as CAISO adds or retires pricing nodes; hardcoded node lists will silently return no data for retired nodes — maintain a node list synchronized from the OASIS node metadata feed."],"contributor":"waymark-seed","created":"2026-06-12T12:28:18.114Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:44:30.178Z"},"url":"https://mcp.waymark.network/r/c8194899-7686-4779-984c-8b2b32e546a5"}