Data Dictionary¶
Types returned by the CivicOS API. All amounts are in dollars. All dates are ISO 8601 datetimes.
For storage-level schemas (database columns, internal fields), see docs/internal/storage-schema.md.
Meetings & Decisions¶
Decision¶
Returned by what_happened().
| Field | Type | Description |
|---|---|---|
id | str | Unique decision ID |
title | str | Decision title |
date | datetime | Date of the meeting |
outcome | str | One of: approved, denied, continued, withdrawn, received, adopted, other |
body | str | Governing body (e.g., "City Council") |
votes | dict | Vote details (see below) |
votes object: { ayes, noes, absent, motion_by, second_by, passed, unanimous, vote_count } — may be null for consent calendar items.
DecisionWithContext¶
Returned by what_happened_full_context(). A decision enriched with linked transcript excerpts.
| Field | Type | Description |
|---|---|---|
decision | Decision | The decision (see above) |
transcript_links | list | Linked transcript excerpts (see TranscriptExcerpt) |
link_confidence | float | Overall confidence of decision-to-transcript linking |
link_type | str | "high_confidence", "medium_confidence", "low_confidence", "none" |
Properties: has_transcript, public_comments, staff_discussion, council_discussion
Meeting¶
Returned by whats_next().
| Field | Type | Description |
|---|---|---|
id | str | Unique meeting ID |
title | str | Meeting name (e.g., "City Council Regular Meeting") |
date | datetime | Meeting date and time |
body | str | Governing body |
location | str | Physical location |
agenda_items | list | Agenda items (see below) |
Agenda item fields: title, project_type (category), actionability, impact_level, financial_impact_cents (int), participation_guide
TranscriptExcerpt¶
Returned by what_was_said() and get_public_testimony().
| Field | Type | Description |
|---|---|---|
id | str | Excerpt ID |
text | str | Transcript text |
speaker | str | Speaker name |
speaker_role | str | "council", "staff", "public", etc. |
video_id | str | YouTube video ID |
start_timestamp | str | Start time (HH:MM:SS) |
end_timestamp | str | End time (HH:MM:SS) |
is_public_comment | bool | Whether this is public testimony |
score | float | Search relevance score |
Property: video_url — YouTube link with timestamp (e.g., https://youtube.com/watch?v=...&t=123s)
RegulatoryStack¶
Returned by what_applies().
| Field | Type | Description |
|---|---|---|
topic | str | Search topic |
jurisdiction | str | Jurisdiction ID |
federal | list | Federal legislation matches |
state | list | State legislation matches |
local | list | Municipal code section matches |
Each item in federal/state is a Legislation object. Each item in local is a MunicipalCodeSection.
Legislation¶
Legislation¶
Returned within RegulatoryStack and via /api/legislation/ endpoints.
| Field | Type | Description |
|---|---|---|
bill_id | str | Unique bill identifier (e.g., ca-sb123) |
state | str | State code ("CA", "US") |
bill_number | str | Bill number (e.g., "SB 123") |
bill_name | str | Full bill title |
status | str | Legislative status code |
summary | str | Bill summary |
leverage_point | str | How citizens can engage |
keywords | list | Topic keywords |
local_implementation_required | bool | Whether cities must act |
Source: LegiScan (CA + federal bills)
Executive Order¶
Returned via /api/legislation/ endpoints.
| Field | Type | Description |
|---|---|---|
document_number | str | Federal Register document number |
title | str | Executive order title |
president | str | Issuing president |
eo_number | int | EO number |
abstract | str | Summary |
signing_date | str | Date signed |
status | str | "active", "revoked" |
revoked_by_eo | int | EO number that revoked this one |
Source: Federal Register
Municipal Code Section¶
Returned within RegulatoryStack.local.
| Field | Type | Description |
|---|---|---|
section_number | str | Section number (e.g., "14.01.020") |
section_title | str | Section heading |
full_text | str | Complete section text |
chapter | str | Chapter number |
chapter_title | str | Chapter heading |
Source: Municode
Budget & Finance¶
BudgetItem¶
Returned by budget().
| Field | Type | Description |
|---|---|---|
id | str | Budget item ID |
fund | str | Fund name |
department | str | Department |
program | str | Program name |
line_item | str | Line item description |
budgeted_dollars | float | Budgeted amount |
revised_dollars | float | Revised amount |
actual_dollars | float | Actual spending |
fiscal_year | str | Fiscal year |
source_url | str | Source document URL |
source_page | int | Page in source PDF |
BudgetSummary¶
Returned by budget_summary().
| Field | Type | Description |
|---|---|---|
name | str | Department, fund, or program name |
budgeted_dollars | float | Total budgeted |
item_count | int | Number of line items |
revised_dollars | float | Revised total |
actual_dollars | float | Actual spending total |
FederalExpenditure¶
Returned by federal_expenditures(). Audited federal spending from the Single Audit.
| Field | Type | Description |
|---|---|---|
cfda_number | str | CFDA program number (e.g., "93.778") |
federal_program_name | str | Program name (e.g., "MEDICAL ASSISTANCE PROGRAM") |
amount_expended_dollars | float | Amount expended |
audit_year | int | Audit year |
cluster_name | str | Cluster name (e.g., "MEDICAID CLUSTER") |
is_major | bool | Major program flag |
is_passthrough | bool | Pass-through flag |
source_url | str | Link to FAC report |
Source: Federal Audit Clearinghouse (FAC)
IntergovernmentalRevenueSummary¶
Returned by intergovernmental_revenue(). Revenue from federal, state, and county sources.
| Field | Type | Description |
|---|---|---|
fiscal_year | int | Fiscal year |
entity_name | str | City name |
federal_total_dollars | float | Total federal revenue |
state_total_dollars | float | Total state revenue |
county_total_dollars | float | Total county revenue |
total_dollars | float | Grand total |
details | list | Line-item breakdown (see below) |
Detail fields: source ("federal"/"state"/"county"), amount_dollars (float), category, subcategory, line_description
Source: CA State Controller
FundingFlow¶
Returned by funding_flow(). Traces federal-to-state-to-city funding paths.
Note: Linkage data not yet available for all jurisdictions.
| Field | Type | Description |
|---|---|---|
budget_item_id | str | City budget item ID |
budget_description | str | Budget line description |
budget_dollars | float | City-level amount |
department | str | City department |
federal_cfda_number | str | Federal CFDA number |
federal_program_name | str | Federal program name |
federal_dollars | float | Federal award amount |
match_confidence | float | Linkage confidence (0.0–1.0) |
FundingFlowImpact¶
Returned by funding_flow_impact(). Models hypothetical funding cuts.
Note: Depends on funding flow linkage data (see above).
| Field | Type | Description |
|---|---|---|
program_name | str | Program being cut |
cut_percentage | float | Cut percentage (e.g., 0.20) |
total_current_dollars | float | Current funding level |
total_impact_dollars | float | Dollar impact of cut |
affected_items | list | Affected FundingFlow items |
Voting Records¶
VotingRecord¶
Returned by get_voting_record().
| Field | Type | Description |
|---|---|---|
official_name | str | Display name |
topic | str | Topic filter (if applied) |
total_votes | int | Total votes cast |
yes_votes | int | Yes/aye votes |
no_votes | int | No/nay votes |
abstain_votes | int | Abstentions/absences |
decisions | list | Vote details: decision_id, title, date, vote |
Properties: yes_percentage, no_percentage, abstain_percentage
Community Issues¶
Issue (SeeClickFix / 311)¶
Returned via /api/operational-issues/.
| Field | Type | Description |
|---|---|---|
source_id | str | SeeClickFix issue ID |
issue_type | str | Category (e.g., "Pothole", "Graffiti") |
address | str | Location address |
latitude | float | GPS latitude |
longitude | float | GPS longitude |
status | str | Resolution status |
Source: SeeClickFix (311)
AI Actions¶
ActionDraft¶
Returned by draft_action().
| Field | Type | Description |
|---|---|---|
draft | str | Generated text (public comment, letter, etc.) |
description | str | Action description |
citations | list | Source citations |
Data Coverage (San Rafael Pilot)¶
| Corpus | Records | Source |
|---|---|---|
| Meetings | ~98 | ProudCity |
| Decisions | ~44 | Minutes extraction |
| Transcripts | ~19 | YouTube + AssemblyAI |
| Agenda packets | ~5,084 chunks | City agenda PDFs |
| Municipal code | ~16,175 sections | Municode |
| Community issues | ~1,730 | SeeClickFix (311) |
| Budget items | ~58 | FY25-26 budget ($180M) |
| Legislation | ~17,719 | LegiScan (CA + federal) |
| Federal expenditures | 52 | FAC Single Audit |
| Intergovernmental revenue | 10 line items | CA State Controller |