Skip to content

IT Dashboard

Federal IT investment data from itdashboard.gov exposed at /api/itdashboard/. For field definitions, see the IT Dashboard Data Dictionary.

Endpoints

  • GET /api/itdashboard/ (list + filtering + search)
  • GET /api/itdashboard/{uii}/ (detail by Unique Investment Identifier)

Filtering

Free tier

Param What it does
search Full-text search over UII, investment title, description, agency name, and bureau name (vector-backed).
agency_name Text search on agency name (e.g., ?agency_name=defense).

Pro+ tier

Param What it does
agency_code Filter by numeric agency code (e.g., ?agency_code=21 for the Department of Transportation).
type_of_investment Filter by investment type (case-insensitive, e.g., ?type_of_investment=Major IT Investment).
updated_time_after, updated_time_before Filter by updated time range (e.g., ?updated_time_after=2026-01-01).

Business+ tier

Param What it does
cio_rating Filter by exact CIO risk rating: 1=High Risk, 2=Moderately High, 3=Medium, 4=Moderately Low, 5=Low Risk.
cio_rating_max Filter investments at or below a CIO rating threshold (e.g., ?cio_rating_max=2 returns High + Moderately High Risk).
performance_risk Boolean. ?performance_risk=true returns investments with at least one NOT MET performance metric.

Tier gating

Filters marked Pro+ or Business+ require the corresponding subscription tier. Lower-tier users attempting to use a gated filter receive a 403 response with structured upgrade information.

Pagination

IT Dashboard uses page-number pagination (page, limit) and returns count, next, previous, and results.

Response Shaping

IT Dashboard supports the ?shape= query parameter. When no ?shape= is provided, the endpoint returns a default shape.

Default shape (list): uii,agency_name,bureau_name,investment_title,type_of_investment,part_of_it_portfolio,updated_time,url,organization(*)

Default shape (detail): adds agency_code and bureau_code (otherwise identical to list).

Available fields (all tiers)

Field Type Description
uii String Unique Investment Identifier (e.g., 021-488119819).
agency_code Integer Numeric agency code.
agency_name String Agency name.
bureau_code Integer Numeric bureau code.
bureau_name String Bureau name.
investment_title String Investment title.
type_of_investment String Investment type (e.g., "Major IT Investment").
part_of_it_portfolio String IT portfolio classification.
updated_time DateTime Last updated timestamp from source.
url String Canonical URL on itdashboard.gov.
organization_id UUID Underlying foreign key to agencies.Organization; null when no canonical org match.

Tier-gated leaf field

Field Tier Description
business_case_html Business+ Full business case HTML from IT Dashboard.

Available expansions

All shape expansions are available to every tier — the underlying source data is public from itdashboard.gov. Only the business_case_html leaf field requires Business+.

Expansion Description
organization(*) Canonical 7-key office payload (organization_id, office_code, office_name, agency_code, agency_name, department_code, department_name). Resolved deterministically from (agency_code, bureau_code). Included in default shape.
funding(*) Fiscal-year funding breakdown (FY2020–FY2025 internal funding and contributions).
details(*) Extended metadata: description, previous/current UII, classification, business case URL, public URLs.
cio_evaluation(*) CIO risk ratings over time (rating, comment, date, latest indicator).
contracts(*) Associated IT contracts.
projects(*) Project details under the investment.
cost_pools_towers(*) Cost pool and tower breakdowns.
funding_sources(*) Funding source details.
performance_metrics(*) Performance metrics with targets and actuals.
performance_actual(*) Historical performance actuals.
operational_analysis(*) Operational analysis data.

Examples

# Free tier: basic search
GET /api/itdashboard/?search=navy

# Pro+ tier: filter by agency + expand funding
GET /api/itdashboard/?agency_code=7&shape=uii,investment_title,url,funding(*)

# Business+ tier: find high-risk investments with full details
GET /api/itdashboard/?cio_rating_max=2&shape=uii,investment_title,agency_name,cio_evaluation(*),performance_metrics(*)

# Business+ tier: underperforming investments
GET /api/itdashboard/?performance_risk=true&shape=uii,investment_title,agency_name,url,performance_metrics(*)

# Detail with everything
GET /api/itdashboard/021-488119819/?shape=uii,investment_title,agency_name,url,funding(*),details(*),cio_evaluation(*),contracts(*),projects(*)

See Response Shaping for syntax and examples.