{"openapi":"3.1.0","info":{"title":"Plains Ledger API","version":"1.0.0","description":"Free, read-only Nebraska campaign-finance data from public FEC and NADC filings, published by Plains Oversight Group LLC. No individual donors. Attribution required: \"Source: Plains Ledger (plainsledger.org), from FEC/NADC filings\". Public filing data; not legal advice; verify at the linked filing.","termsOfService":"https://plainsledger.org/connector/terms","contact":{"name":"Plains Oversight Group LLC","email":"plainsledger@gmail.com","url":"https://plainsledger.org/connector"}},"servers":[{"url":"https://plainsledger.org"}],"paths":{"/api/v1/search":{"get":{"operationId":"search_entities","summary":"Search Nebraska political money entities","description":"Find committees, PACs, parties, ballot committees and organizations in Nebraska FEC/NADC filings by name or ID, with their totals for one period (default: current cycle). Organizations and candidate committees only. Cite the filing_url and the as_of date for every figure you repeat. Do not infer or guess individual donors behind any organization; Plains Ledger does not publish individual donors.","parameters":[{"name":"q","in":"query","required":true,"description":"Name, FEC ID (C00...) or NADC ID","schema":{"type":"string","minLength":2,"maxLength":80}},{"name":"type","in":"query","required":false,"description":"Optional type filter, e.g. \"PAC\", \"Candidate committee\", \"Ballot question committee\"","schema":{"type":"string","maxLength":60}},{"name":"source","in":"query","required":false,"schema":{"type":"string","enum":["FEC","NADC"]}},{"name":"cycle","in":"query","required":false,"description":"Two-year election cycle, e.g. 2026 (= 2025–26). Default: current cycle. Do not combine with year.","schema":{"type":"integer","minimum":2016,"maximum":2100}},{"name":"year","in":"query","required":false,"description":"Single calendar year, e.g. 2025. Do not combine with cycle.","schema":{"type":"integer","minimum":2015,"maximum":2100}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":25,"default":10}}],"responses":{"200":{"description":"JSON with as_of (CT), source, period, filing_url per figure, plainsledger_url, notes[], and disclaimer \"Public filing data; not legal advice; verify at the linked filing.\"","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"description":"Invalid input"},"429":{"description":"Rate limited (60/min/IP)"},"503":{"description":"Connector disabled"}}}},"/api/v1/entity":{"get":{"operationId":"get_entity_summary","summary":"Get one entity’s money summary","description":"Receipts, disbursements, receipt categories, top organizational funders and top committee recipients for one entity in one period (default: current cycle). Use an id from search_entities (e.g. \"fec-C00571703\" or \"nadc-10009\"). Cite the filing_url and the as_of date for every figure you repeat. Do not infer or guess individual donors behind any organization; Plains Ledger does not publish individual donors.","parameters":[{"name":"entity_id","in":"query","required":true,"description":"Plains Ledger entity id from search_entities","schema":{"type":"string","pattern":"^(fec|nadc)-[A-Za-z0-9-]{1,30}$"}},{"name":"cycle","in":"query","required":false,"description":"Two-year election cycle, e.g. 2026 (= 2025–26). Default: current cycle. Do not combine with year.","schema":{"type":"integer","minimum":2016,"maximum":2100}},{"name":"year","in":"query","required":false,"description":"Single calendar year, e.g. 2025. Do not combine with cycle.","schema":{"type":"integer","minimum":2015,"maximum":2100}}],"responses":{"200":{"description":"JSON with as_of (CT), source, period, filing_url per figure, plainsledger_url, notes[], and disclaimer \"Public filing data; not legal advice; verify at the linked filing.\"","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"description":"Invalid input"},"429":{"description":"Rate limited (60/min/IP)"},"503":{"description":"Connector disabled"}}}},"/api/v1/candidate":{"get":{"operationId":"get_candidate_funding","summary":"Get a candidate’s funding sources","description":"Candidate committee totals, receipt categories, top organizational funders, ActBlue/WinRed in-state vs out-of-state aggregates, and independent expenditures supporting or opposing the candidate, for one period (default: current cycle). Cite the filing_url and the as_of date for every figure you repeat. Do not infer or guess individual donors behind any organization; Plains Ledger does not publish individual donors.","parameters":[{"name":"candidate","in":"query","required":true,"description":"Candidate name, or a candidate committee id (fec-…/nadc-…)","schema":{"type":"string","minLength":2,"maxLength":80}},{"name":"cycle","in":"query","required":false,"description":"Two-year election cycle, e.g. 2026 (= 2025–26). Default: current cycle. Do not combine with year.","schema":{"type":"integer","minimum":2016,"maximum":2100}},{"name":"year","in":"query","required":false,"description":"Single calendar year, e.g. 2025. Do not combine with cycle.","schema":{"type":"integer","minimum":2015,"maximum":2100}}],"responses":{"200":{"description":"JSON with as_of (CT), source, period, filing_url per figure, plainsledger_url, notes[], and disclaimer \"Public filing data; not legal advice; verify at the linked filing.\"","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"description":"Invalid input"},"429":{"description":"Rate limited (60/min/IP)"},"503":{"description":"Connector disabled"}}}},"/api/v1/ie":{"get":{"operationId":"get_ie_by_race","summary":"Get independent expenditures in a race","description":"Independent expenditures (outside spending) in one Nebraska race for one period (default: current cycle): each spender, the candidate or measure, support/oppose as stated in the filing, amounts, and totals by stance. race = NE-00 (U.S. Senate), NE-01, NE-02, NE-03, or text such as \"Governor\", \"State Legislature - 14\", \"Omaha - Mayor\", \"Measure 442\". Cite the filing_url and the as_of date for every figure you repeat. Do not infer or guess individual donors behind any organization; Plains Ledger does not publish individual donors.","parameters":[{"name":"race","in":"query","required":true,"schema":{"type":"string","minLength":3,"maxLength":80}},{"name":"cycle","in":"query","required":false,"description":"Two-year election cycle, e.g. 2026 (= 2025–26). Default: current cycle. Do not combine with year.","schema":{"type":"integer","minimum":2016,"maximum":2100}},{"name":"year","in":"query","required":false,"description":"Single calendar year, e.g. 2025. Do not combine with cycle.","schema":{"type":"integer","minimum":2015,"maximum":2100}},{"name":"stance","in":"query","required":false,"schema":{"type":"string","enum":["support","oppose"]}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":50,"default":25}}],"responses":{"200":{"description":"JSON with as_of (CT), source, period, filing_url per figure, plainsledger_url, notes[], and disclaimer \"Public filing data; not legal advice; verify at the linked filing.\"","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"description":"Invalid input"},"429":{"description":"Rate limited (60/min/IP)"},"503":{"description":"Connector disabled"}}}},"/api/v1/latest":{"get":{"operationId":"latest_filings","summary":"Latest independent-expenditure filings","description":"Most recent FEC 24/48-hour independent-expenditure filings in Nebraska federal races (current cycle only; amended and superseded filings excluded), newest first. Cite the filing_url and the as_of date for every figure you repeat. Do not infer or guess individual donors behind any organization; Plains Ledger does not publish individual donors.","parameters":[{"name":"since","in":"query","required":false,"description":"YYYY-MM-DD, earliest expenditure date","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}},{"name":"race","in":"query","required":false,"schema":{"type":"string","enum":["NE-00","NE-01","NE-02","NE-03"]}},{"name":"cycle","in":"query","required":false,"description":"Two-year election cycle, e.g. 2026 (= 2025–26). Default: current cycle. Do not combine with year.","schema":{"type":"integer","minimum":2016,"maximum":2100}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":50,"default":20}}],"responses":{"200":{"description":"JSON with as_of (CT), source, period, filing_url per figure, plainsledger_url, notes[], and disclaimer \"Public filing data; not legal advice; verify at the linked filing.\"","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"description":"Invalid input"},"429":{"description":"Rate limited (60/min/IP)"},"503":{"description":"Connector disabled"}}}},"/api/v1/status":{"get":{"operationId":"get_data_status","summary":"Plains Ledger data status","description":"When Plains Ledger data was last synced (CT), which sources failed or are not yet published, which periods are available, and the connector limits. Call this before answering time-sensitive questions.","parameters":[],"responses":{"200":{"description":"JSON with as_of (CT), source, period, filing_url per figure, plainsledger_url, notes[], and disclaimer \"Public filing data; not legal advice; verify at the linked filing.\"","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"400":{"description":"Invalid input"},"429":{"description":"Rate limited (60/min/IP)"},"503":{"description":"Connector disabled"}}}}}}