Power Interconnection Queue (CAISO) API v1
Generated from
core.contract.describe_power_interconnection_queue_caiso_v1()and checked fixture-backed examples. Do not hand-edit the example JSON files.
Capability
- Capability:
power.interconnection_queue_caiso - Primitive:
query_power_interconnection_queue_caiso_v1 - Status:
available - Current source:
energy.caiso.queue - Source publisher: California Independent System Operator (CAISO)
- Snapshot behavior:
as_of = latestresolves to an exact snapshot date in every response.
What It Can Answer
- Which projects have REQUESTED to connect to the CAISO grid, by state/county, fuel/technology, cluster, deliverability, and status.
- The net megawatts to grid of each queued CAISO project, cited to its source row.
- The as-reported application status of each CAISO project (Active / Completed / Withdrawn), kept verbatim by tab.
- Each project's deliverability status (Full Capacity / Partial Capacity / Energy Only), TPD allocation, and cluster, as CAISO reports it.
- Row-level detail records when
include_recordsis true. - Raw workbook row evidence for any returned row-level citation.
Represented Facts
CAISO's Public Queue Report reports each project's REQUESTED interconnection capacity (Net MWs to Grid) — a request, not built capacity — across the Active, Completed, and Withdrawn lifecycle tabsCAISO's queue reports each project's location (state, county), the Type/Fuel/MW hybrid triplets, the three-valued deliverability status (Full Capacity / Partial Capacity / Energy Only) with TPD allocation, the cluster study process, the per-phase study statuses, and lifecycle datesCAISO carries the requested-vs-built distinction in application_status + the lifecycle tab — a COMPLETED project carries an actual_online_date (the realized in-service date); CAISO publishes no separate built-MW column
Data Point Contract
- Data point:
power.interconnection_queue_caiso - Product spec:
blocks/power_interconnection_queue_caiso/card.md - Grain:
project_snapshot - Source basis:
energy.caiso.queue - Represented fact: The CAISO generator interconnection queue — California ISO's public Public Queue Report, the waiting line of every project that has REQUESTED to connect to the CAISO grid, served as-reported, project by project across the three lifecycle tabs CAISO publishes (Active / Completed / Withdrawn). CAISO's full published structure is carried faithfully, in CAISO's own words: the net megawatts to grid (
net_mw_to_grid) and the per-component Type/Fuel/MW triplets for hybrids, the as-reportedapplication_status, the clusterstudy_process(C01..C14, the serial/legacy tracks), the three-valued deliverability status (Full Capacity / Partial Capacity / Energy Only) with TPD allocation and off-peak deliverability, the location (state, county, utility/PTO, point of interconnection), the per-phase study statuses, and the lifecycle dates. This is a REQUEST, not built capacity: historically the large majority of queued MW withdraws before it is built (the report is withdrawn-dominated). CAISO carries the requested-vs-built distinction in its OWN structure — every project'sapplication_statusand tab, with Completed projects carrying anactual_online_date(the realized in-service date) — sonet_mw_to_gridis served under CAISO's own name and never relabeled "requested" or summed as operating capacity. This is a forward-looking slice (capacity/generation/demand are backward-looking actuals). CAISO carries no county_fips and no lat/lon; county_fips is derived by name where it resolves and left null otherwise (incl. the out-of-state NV/AZ and MexicoMXrows). It is NOT a data-center product — CAISO reports no load/data-center type and we never infer one.
Does not answer:
built/operating/nameplate capacity as a queue total (net_mw_to_grid is REQUESTED interconnection, not built; for operating capacity use power.capacity / EIA-860M; a Completed project's net_mw_to_grid with an actual_online_date is the per-project built reading)a sum of net MW treated as planned or operating capacity (most queued MW withdraws — totals are scoped by application_status, never read as built)a cross-ISO or national queue total (methodologies, inclusion, deliverability, and withdrawal rates differ per ISO — never summed or deduped across ISOs; for the MISO queue use query_power_interconnection_queue_v1, for PJM query_power_interconnection_queue_pjm_v1)the separate CAISO "Cluster N Interconnection Requests" intake file (a distinct CAISO publication with a different schema — this block serves the Public Queue Report, Cluster 14 and prior plus serial/legacy)which projects are data-center- or load-driven (CAISO reports no load/data-center type; that inference is the analyst's, never tagged here)the probability that a queued project will actually be built or reach commercial operationgeneration MWh, demand, prices, retail sales, or transmission flowslat/lon or plant-level attribution (CAISO supplies none; only state, as-reported county, and derived county_fips)queues for other ISOs/RTOs (MISO, PJM, NYISO, ISO-NE, ERCOT, SPP) — each is a separate block under the same gate
REST Surface
GET /v1/healthGET /v1/capabilitiesGET /v1/power/interconnection-queue-caiso/schemaPOST /v1/power/interconnection-queue-caiso/queryPOST /v1/evidence/source-row
MCP Surface
list_capabilities_v1describe_power_interconnection_queue_caiso_v1query_power_interconnection_queue_caiso_v1get_source_evidence_v1
Local MCP Setup
Some MCP clients launch servers from the user's home directory or ignore a configured cwd. Use uv run --directory so the server always starts from the repository project.
{
"command": "uv",
"args": [
"run",
"--directory",
"/absolute/path/to/OSINT",
"python",
"-m",
"core.mcp_server"
]
}
Leave EXASCALE_PARQUET_BASE / EXASCALE_RAW_BASE unset: the one server hosts every data point's tools, and with no override it resolves each block's promoted snapshots and raw archive from the repository layout. Setting either env var points ALL tools at one directory — a per-block path breaks every other block's tools. They exist only for single-source sandboxes and tests.
Request Schema
Filters:
as_ofstatecounty_fipsapplication_statusstudy_processdeliverability_statusoffpeak_deliverabilitytpd_allocation_groupfuel_1type_1utilitypto_study_regionsuspension_statusia_statusqueue_date
Group by:
statecounty_fipsapplication_statusstudy_processdeliverability_statusoffpeak_deliverabilitytpd_allocation_groupfuel_1type_1utilitypto_study_regionsuspension_statusia_statusis_hybrid
Date range parameters:
queue_date_fromqueue_date_to
Controls:
include_recordsinclude_evidencelimitorder_bytop_norderrollup_other
Ranking (how order_by / top_n / order join — order_by ranks groups by a metric, never a group_by dimension; top_n needs both a group_by and an order_by):
{
"no_ranking": "Omit order_by and top_n to return all groups in group-key order.",
"order": {
"default": "desc",
"valid_values": [
"desc",
"asc"
]
},
"order_by": {
"accepts": "one of output.metrics",
"note": "Ranks the groups by a metric (a measure). Not a group_by dimension \u2014 rows already come back grouped by each group_by field.",
"requires": [
"group_by"
],
"valid_values": [
"net_mw_to_grid",
"source_record_count"
]
},
"top_n": {
"note": "Keeps the top N groups by order_by; the rest fold into one (other) remainder (additive metrics sum into it, non-additive ones are nulled) so the result still reconciles to summary.totals.",
"requires": [
"group_by",
"order_by"
],
"type": "positive integer"
}
}
Output Schema
Aggregate metrics:
net_mw_to_gridsource_record_count
Metric groups:
{
"net_mw": [
"net_mw_to_grid"
],
"records": [
"source_record_count"
]
}
Response summary fields:
group_counttotals
Accepted fact policy:
- Query responses contain accepted, gate-passed facts only.
- Gate, monitor, and audit quality signals are internal controls, not agent-facing answer caveats.
- If a source snapshot is not fit to serve, the source must fail closed before it reaches this API.
Metric metadata:
| Metric | Category | Unit | Aggregation | Additive Across Groups | Authoritative Total | Definition |
|---|---|---|---|---|---|---|
net_mw_to_grid |
net_mw | MW | sum | true | summary.totals.net_mw_to_grid |
The project's Net MWs to Grid, as CAISO reports it — the net export capacity of the request. |
source_record_count |
records | count | count source records | true | summary.totals.source_record_count |
Count of CAISO queue projects in the current result scope (one atom = one project, across the Active/Completed/Withdrawn tabs). |
Rollup rules:
summary.totals.<metric>is the authoritative total for the full matched query.- Grouped row metrics may be summed only when
additive_across_groupsistrue.
Detail record fields returned when include_records is true:
source_idsheet_nameisoqueue_positionsource_record_keyproject_nameapplication_statusstudy_processstatestate_rawcountycounty_fipscounty_fips_sourcecounty_fips_unresolvedtype_1type_2type_3fuel_1fuel_2fuel_3is_hybridnet_mw_to_gridmw_1mw_2mw_3deliverability_statustpd_allocation_percentageoffpeak_deliverabilitytpd_allocation_grouputilitypto_study_regionstation_or_linesuspension_statusfeasibility_statussystem_impact_statusfacilities_statusoptional_study_statusia_statuswithdrawal_reasonir_receive_datequeue_datewithdrawn_dateproposed_online_datecurrent_online_dateactual_online_datereport_periodsource_row_numberas_ofraw_file_sha256citation
Row-level citation fields:
source_idsource_urlsource_filesheetsource_rowraw_file_sha256as_of
Aggregate citation fields:
source_idpublishersource_urlsource_fileraw_file_sha256as_ofsource_rows_countsource_rows_sampleverifylineage_filter
Codebooks
| Field | Coverage | Codes | Examples | Note |
|---|---|---|---|---|
application_status |
the distinct application_status values observed in the served CAISO snapshot | 3 | ACTIVE = Active — a live request still in the queue (requested, not built), COMPLETED = Completed — the project is built and in service (actual_online_date set), WITHDRAWN = Withdrawn — the request left the queue (the report is withdrawn-dominated) |
ALWAYS scope by application_status — the report is dominated by WITHDRAWN requests. ACTIVE is the live pipeline of REQUESTED (not built) capacity; COMPLETED is built and in service (carries an actual_online_date); WITHDRAWN left the queue. A queue-MW total is requested capacity, never built — for built/operating capacity use query_power_capacity_v1. |
deliverability_status |
the distinct deliverability values observed in the served CAISO snapshot | 3 | Full Capacity = Full Capacity Deliverability Status, Partial Capacity = Partial Capacity Deliverability Status, Energy Only = Energy Only (no capacity deliverability) |
CAISO's deliverability is three-valued and first-class: Full Capacity and Partial Capacity count toward resource adequacy (with a TPD allocation), Energy Only does not. Filter by CAISO's EXACT value. This is a CAISO concept MISO/PJM do not carry. |
fuel_1 |
the distinct primary-fuel values observed in the served CAISO snapshot | 5 | Battery = Battery storage, Solar = Solar photovoltaic, Wind Turbine = Wind, Natural Gas = Natural gas, Water = Hydro / pumped storage |
Filter fuel_1 by CAISO's EXACT value — e.g. Battery, Solar, Wind Turbine, Natural Gas. Hybrids carry a second/third Type/Fuel/MW triplet (fuel_2 / fuel_3) and are flagged with is_hybrid; filter on fuel_1 for the primary fuel. Values are as-reported, so a request with no fuel is null. |
The complete machine-readable codebooks are included in capability-schema.json.
Checked Examples
| Agent question | Request params | Checked output |
|---|---|---|
| How much net MW and how many projects sit in the CAISO queue, by lifecycle status? | {"group_by": ["application_status"]} |
caiso-queue-by-status.json |
| Which states have the most active requested interconnection capacity in CAISO's queue? | {"application_status": "ACTIVE", "group_by": ["state"], "order_by": "net_mw_to_grid", "top_n": 10} |
active-net-mw-by-state.json |
| What is the active CAISO pipeline split by deliverability (Full / Partial / Energy Only)? | {"application_status": "ACTIVE", "group_by": ["deliverability_status"]} |
active-by-deliverability.json |
| Return one CAISO queue project with a row-level citation. | {"include_records": true, "limit": 1, "state": "CA"} |
queue-detail-with-citation.json |
| Verify the raw workbook row behind a returned citation | citations[ref].verify (aggregate) or records[0].citation (detail) |
source-row-evidence.json |
| Dogfood the tool sequence as an agent | list -> describe -> query -> evidence |
agent-dogfood-transcript.json |
The checked schema output is capability-schema.json.
Agent Workflow
- Call
list_capabilities_v1and selectpower.interconnection_queue_caiso. - Call
describe_power_interconnection_queue_caiso_v1to inspect valid filters, groupings, metrics, and citation fields. - Call
query_power_interconnection_queue_caiso_v1with bounded JSON params. - If the answer needs proof, pass a returned row-level
citationobject toget_source_evidence_v1. - Answer with the resolved
as_ofand relevant citations. Present returned metrics as authoritative for their declared source, snapshot, grain, and aggregation.