{"openapi":"3.1.0","info":{"title":"Analisa US API","version":"1.0.0","summary":"Open data on quality of life and federal spending (contracts, grants and assistance) in every US state and county.","description":"## Overview\n\nEvery page of Analisa US is built on this public, read-only HTTP API. No key and no sign-up: send `GET` requests and cache what you get (an optional API key raises your limits: see Authentication). Responses are JSON unless stated (the map datasets are binary, exports are CSV).\n\nStatistics cover US states, metro areas, counties, and cities and towns (Census Bureau, CDC, EPA, FEMA, BLS, NOAA and more); contracts are federal prime contracts from USAspending.gov and notices from SAM.gov, by place of performance. Grants and other financial assistance, subawards, exclusions and lobbying/PAC activity extend the spending data: read their sections below before combining figures.\n\n## Places, levels and GEOIDs\n\nA place is identified by its GEOID, and its level follows from the GEOID's shape. The map datasets and the indicator series serve four levels (`state`, `metro`, `county`, `city`); which levels each other endpoint accepts is stated on the endpoint.\n\nMetro areas are made of whole counties and can cross state lines; a city can span counties. The GEOID does not encode those links: the `metro` and `county` columns of a dataset give each place's primary metro area and, for a city, the county holding most of its residents.\n\nA place's score and ranks are percentiles among the places of its own level: a city's among cities (only those with at least 1,000 residents are scored), a metro area's among metro areas. Scores of different levels are not comparable.\n\nEvery value of a dataset has a bit set of data-quality flags (`flags`). Two of them say a value is not the place's own published figure, and any display of the value should say so.\n\n- `US`: the nation.\n- State: 2 digits, the state FIPS code (`48`).\n- Metro area: `M` + the 5-digit CBSA code (`M12420`). The prefix keeps CBSA codes apart from county FIPS codes, which have the same shape.\n- County: 5 digits, state + county FIPS (`48453`).\n- City or town: 7 digits, state + Census place FIPS (`4805000`): incorporated places and census-designated places.\n- Flag `aggregated` (4): a metro area's or state's value that the publisher does not release, rolled up from its counties with the indicator's `rollup` rule (a sum, or a mean weighted by residents, households or land area).\n- Flag `borrowed` (256): a city's value that is really its county's (the county in the dataset's `county` column). It appears only for area-wide measures (`areaWide` in `/api/v1/meta`: climate, air, hazards, crime reported by county agencies, provider supply) when the source has no city figure. Label it as the county's, never as the city's.\n\n## Versioning and caching\n\nThe path carries the API version (`/api/v1`): fields may be added to a v1 response, never renamed or removed. Data changes daily, so every data response also has a content version: a hash that changes exactly when a reload changes the data.\n\nRead the current version once (`version` of `/api/v1/meta` for statistics, of `/api/v1/contracts/meta` for contracts, of `/api/v1/assistance/meta` for assistance, or the `X-Dataset-Version` / `X-Data-Version` header of any response), then add `?v=<version>` to your requests. A URL pinned to the current version never changes and is served `immutable` for a year; unpinned URLs are fresh for 5 minutes.\n\nSubawards, exclusions and influence responses combine the contracts version with their own sources' versions, so no meta route carries theirs: read it from the `X-Data-Version` header of a response of the same family. Congress responses carry `version` of `/api/v1/congress/meta`, except committees, districts and members' money, which add the contracts or influence version; elections and ballot counts have their own: read those from the header too.\n\n- Send `If-None-Match` with the `ETag` you have: an unchanged resource answers `304 Not Modified` in under a millisecond.\n- Responses are precompressed: ask for `Accept-Encoding: br` (or `gzip`).\n- A response marked `\"partial\": true` lacks an optional part that timed out; it is sent with `no-store`, so simply retry later.\n\n## Rate limits and fair use\n\nThe reverse proxy allows about 20 requests per second per client, with bursts of 60; beyond that it answers `429 Too Many Requests`. Expensive builds (place summaries, signals, flows, search, CSV exports) also have per-server concurrency limits and answer `503` with `Retry-After` when saturated.\n\nBack off on 429 and 503 (honour `Retry-After`), pin versions and revalidate with ETags, and prefer the bulk endpoints (datasets, series, CSV exports) over thousands of single-place requests. For whole histories, the pipeline in the repository rebuilds everything from the original public sources.\n\n## Authentication and API keys\n\nUsing the API is free and anonymous: no key, no sign-up, and the same data and responses for everyone. Anonymous requests share the limits above. An API key is for automation that needs more: it identifies your requests so they count against your plan's daily allowance instead of the shared anonymous limits. Keys come with the plans that include them (see the plans page); create and revoke them in your account, under API keys.\n\nSend the key in the `Authorization` header: `Authorization: Bearer aus_live_…`. Never put a key in a URL: URLs end up in logs, browser histories and `Referer` headers, so a request with a key in its URL is refused with `400` (revoke that key and create a new one). A key is a secret for servers and scripts: do not ship one in a web page or an app. It is shown once, when you create it; only a hash is stored. The MCP server (`/mcp`) accepts the same header with a key that has the `mcp` scope, and counts its tool calls against your account's MCP quota instead of the shared anonymous one.\n\nA keyed response has the same body as the anonymous one, plus `X-RateLimit-Limit`, `X-RateLimit-Remaining` and `X-RateLimit-Reset` (when the day's allowance resets, in Unix seconds). The allowance is per account, shared by all its keys, and resets at 00:00 UTC. Keyed responses are `Cache-Control: private` with `Vary: Authorization`, so shared caches never store them; `ETag` revalidation still works, and a `304` counts as a request.\n\n- `401 Unauthorized`, with `WWW-Authenticate: Bearer`: the `Authorization` header is malformed, or the key is unknown, revoked or expired. A header that is present but unusable is never treated as anonymous; drop it to call the public API.\n- `403 Forbidden`: the key is valid but lacks the scope (`api` for the HTTP API, `mcp` for the MCP server), or its owner's plan no longer includes keys.\n- `429 Too Many Requests` with `Retry-After` (seconds until 00:00 UTC) and the `X-RateLimit-*` headers: the account used its day's allowance. Keys do not lift the server's concurrency limits: a saturated server still answers `503` with `Retry-After`.\n- `400 Bad Request`: a key appeared in the URL.\n- A revoked key, or a plan change, reaches every server within about 30 seconds.\n\n## Errors\n\nErrors are `application/problem+json` (RFC 9457): `type`, `title`, `status` and sometimes `detail`. Bad input (an unknown fiscal year, a malformed cursor or id) is a `400`; an unknown place or record a `404`; a saturated server or database a `503` with `Retry-After` (safe to retry); anything else a `500` with a fixed body. Errors are never cached.\n\n## Browsers (CORS)\n\nThe statistics, migrations, OpenAPI and CSV export endpoints send `Access-Control-Allow-Origin: *`, so a web page on any origin can call them. The other contracts endpoints and the assistance, subawards, exclusions, influence, Congress and elections endpoints are same-origin for now: call them from a server, a notebook or the command line.\n\n## Grants and assistance\n\nThe assistance endpoints cover federal financial assistance from USAspending.gov (FABS): grants and cooperative agreements, loans, direct payments, insurance and other assistance, by place of performance, with the Assistance Listing (program) of each award. Filter by `type` (a type group) and `agency` (an assistance agency id from `/api/v1/assistance/meta`, not a contracts id). Grants to state governments recorded at the agency's own address are counted statewide, not in the capital's county.\n\nLoans are counted at their subsidy cost: `obligations` of a loan is the expected cost to the government (often zero, sometimes negative), and the amount lent or guaranteed is `faceValue`, reported apart and never added to obligations. Never add face value to obligations, and compare loan programs on face value (`type=loans` ranks by it).\n\nAssistance and contracts are separate datasets with separate versions. The same organization can appear in both: a ranked recipient's `link` is its contracts recipient id when it has one, else `g<id>`.\n\n## Subawards\n\nSubawards are the first-tier sub-contracts and sub-grants prime recipients report under FFATA. They are money the prime passes on, already inside its obligations: never add subawards to prime totals (that counts the same dollar twice), and read amounts as reported by the prime, not as obligations.\n\nReporting is uneven: repeated reports of the same action are left out (`duplicates`), and reported amounts can exceed the prime's obligations (`shareOfObligations` over 100 is itself a reporting finding). Only the years from `firstFiscalYear` have subawards loaded.\n\n## Competitors and teaming partners\n\nThe competitors of a company are other companies that win from the same buyers in the same markets. A market is a subtier agency × NAICS industry group (the first four digits of the award's code); a company is the recipient's whole company family. Companies are compared by the weighted Jaccard index of their prime contract obligations by market over three fiscal years (`similarity`, 0 to 1): it grows with the dollars both hold in common markets and shrinks with the dollars each holds elsewhere, so a company of the same size and mix ranks above a giant that merely also sells there. It describes who sells to the same buyers, not who wins against whom on a given contract.\n\nTeaming partners are read from subaward reports (see Subawards): the companies a company reported paying, the primes that reported paying it, and potential partners (sub-recipients that its competitors pay and it has no report with). Reported amounts are never added to prime totals, and only organizations are listed.\n\nEveryone gets the top three of each list; plans that include competitor tracking and teaming partners get the full lists (25 of each), potential partners and CSV exports. The payload is built for the caller's plan (`access`), so these responses depend on the session (`Vary: Cookie`).\n\n## Exclusions\n\nExclusions are SAM.gov records of organizations debarred, suspended or otherwise excluded from federal awards. `exclusions` are reported matches: the recipient's UEI or CAGE code is on the record. `possible` are name matches an AI judged likely (with their `probability` and model): shown for review, never counted.\n\nOnly exclusions that bar awards count, and only new awards, options and added work dated while one was in effect; other modifications are context (`continuations`). History starts at `historyFrom`: exclusions that ended before it are unknown. A count is a reason to look closer (an exception may apply), not a finding of wrongdoing.\n\n## Influence\n\nThe influence endpoints join lobbying disclosures (House Clerk: LD-2 reports and LD-203 contributions) and PAC activity (FEC) to contract recipients. The join is an AI name judgment (`matches` with their `probability`, `ai` with the models and threshold): an inferred link, not a reported one.\n\nCorrelation is not influence: an organization that lobbies an agency and wins its contracts shows that both happened, not that one caused the other. A lobbying report's amount covers all its issues and agencies, so per-agency spend is an upper bound. Describe these figures as disclosed activity, never as evidence of wrongdoing.\n\n## Congress and elections\n\nCongress endpoints serve recorded roll calls (House Clerk for the House; Voteview for the Senate, since senate.gov refuses automated clients), bills (GovInfo BILLSTATUS), members, committees and districts. A member's position exists only where a roll call recorded it: voice votes and unanimous consent are never inferred. Voteview data (Senate votes, DW-NOMINATE) must be cited: Lewis, Poole, Rosenthal, Boche, Rudkin and Sonnet, Voteview: Congressional Roll-Call Votes Database.\n\nMoney and votes are side by side, never cause and effect: describe them as received, given and voted. Activity measures (missed votes, votes with the party, bills sponsored) carry their denominators and are not grades. Election candidates are those who filed with the FEC, not the ballot, which the state sets.\n\n## Privacy: organizations only\n\nThe API lists organizations only. Individuals are never listed, except members of Congress and federal candidates as named in official records: assistance to individuals and county aggregates is counted in totals (`individualShare`, `aggregateShare`) but not named; excluded individuals, lobbyists, individual donors, executives and SAM.gov contacts are neither loaded nor shown; registrants or clients that may be people are counted (`unnamed`) or shown without a name; PAC recipients are campaign committees. Please keep it that way in what you publish.\n\n## Licensing and attribution\n\nThe code is licensed under the GNU AGPL-3.0-or-later. The data keeps the terms of its publishers: most are US government works in the public domain; Zillow's values require attribution and the County Health Rankings supplemental release has its own terms. Every indicator lists its source, license and credit line in `/api/v1/meta`, and every contracts payload carries its `source`.\n\nWhen you publish figures, credit the original publisher and \"Analisa US\" with a link, and state the period and vintage of the values. Integrity signals are reasons to look closer, never evidence of wrongdoing. AI-derived fields (name matches, award readings) are labelled as inferred; the AI features themselves (`/api/v1/ai/*`) serve the site, same-origin and quota-limited, and are not part of this API.","license":{"name":"AGPL-3.0-or-later (code); data under each publisher's terms","identifier":"AGPL-3.0-or-later"}},"servers":[{"url":"https://tryanalisa.com"}],"security":[{},{"ApiKey":[]}],"externalDocs":{"description":"Guide and reference","url":"https://tryanalisa.com/developers"},"tags":[{"name":"System","description":"Health checks and this document."},{"name":"Statistics","description":"Quality-of-life indicators for every US state and county: the catalog, the map datasets, series and place histories."},{"name":"Migrations","description":"Immigration and emigration by country of birth or destination, for the nation and the states."},{"name":"Contracts","description":"Federal prime contracts (USAspending.gov) and contract notices (SAM.gov) by place of performance."},{"name":"Assistance","description":"Federal grants, loans, direct payments, insurance and other financial assistance (USAspending.gov), by place of performance. Loans count their subsidy cost; face value is reported apart."},{"name":"Subawards","description":"First-tier sub-contracts and sub-grants reported by prime recipients (FFATA). Already inside the primes' obligations: never add them to prime totals."},{"name":"Exclusions","description":"SAM.gov exclusions (debarred, suspended and otherwise excluded organizations) matched to contract recipients, and the awards dated during one. Identifier matches are reported; name matches are only possible matches."},{"name":"Influence","description":"Lobbying (House Clerk, LDA) and PAC activity (FEC) of organizations matched by AI to contract recipients. Correlation, never evidence of influence."},{"name":"Outcomes","description":"Federal money per resident by place and fiscal year next to how places changed, and counties whose money jumped compared with similar counties whose money did not. Comparisons with sample sizes and intervals, never causes."},{"name":"Congress","description":"Members, recorded roll-call votes, bills, committees and districts of the loaded Congresses, and money beside them. Recorded votes only: voice votes and unanimous consent record no positions, and none is inferred. House positions from the House Clerk; Senate positions and DW-NOMINATE from Voteview, because senate.gov blocks automated access. Cite Voteview as: Lewis, Poole, Rosenthal, Boche, Rudkin & Sonnet, Voteview: Congressional Roll-Call Votes Database. Contract money by district and campaign money members received are shown side by side: comparisons, never causes."},{"name":"Elections","description":"Races of the next federal general election: the candidates who filed with the FEC (primary losers and withdrawn candidates included, so never the ballot), the money their campaigns received, the sitting members' recorded votes and federal money in the place; and how mail and provisional ballots were counted (EAC EAVS). Neutral: comparisons, never endorsements or causes."},{"name":"Screening","description":"Check suppliers against the SAM.gov exclusions by UEI or CAGE code, for prime contractors that must not subcontract with excluded firms. Part of the supplier screening plan; counts against its monthly row allowance."},{"name":"Where to live","description":"Cities, metro areas and counties ranked by formula for a person's criteria (budget, household, priorities, climate, commute, must-haves), with every figure's source. The model never ranks places."},{"name":"Exports","description":"CSV downloads of tables and rankings."}],"paths":{"/api/health":{"get":{"operationId":"getHealth","summary":"Liveness","description":"The server process answers. Never touches the database: use it for container health checks.\n\nNever cached.","tags":["System"],"parameters":[],"responses":{"200":{"description":"Alive.","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Health"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/health'"}],"x-caching":"none","x-cors":false}},"/api/ready":{"get":{"operationId":"getReady","summary":"Readiness","description":"The database answers a trivial query within 1 s (200), else 503 with `Retry-After`. For load balancers and deploy checks.\n\nNever cached.","tags":["System"],"parameters":[],"responses":{"200":{"description":"Ready to serve traffic.","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Ready"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"},"503":{"$ref":"#/components/responses/ServiceUnavailable"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/ready'"}],"x-caching":"none","x-cors":false}},"/api/v1/openapi.json":{"get":{"operationId":"getOpenApi","summary":"This OpenAPI document","description":"OpenAPI 3.1, generated from the typed registry the routes are documented in (`apps/analisa/src/lib/api-docs`).\n\nCached for a short time (see `Cache-Control`).","tags":["System"],"parameters":[],"responses":{"200":{"description":"The document.","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"},"Access-Control-Allow-Origin":{"$ref":"#/components/headers/AllowOrigin"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenApiDocument"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/v1/openapi.json'"}],"x-caching":"short","x-cors":true}},"/api/v1/meta":{"get":{"operationId":"getMeta","summary":"Catalog and dataset version","description":"Every category, indicator, source and scoring profile, the latest loaded release of each source, and the current dataset version with the versioned dataset URLs.\n\nCached for a short time (see `Cache-Control`).","tags":["Statistics"],"parameters":[],"responses":{"200":{"description":"The catalog.","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"},"Access-Control-Allow-Origin":{"$ref":"#/components/headers/AllowOrigin"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Meta"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/v1/meta'"}],"x-caching":"short","x-cors":true}},"/api/v1/datasets/{level}":{"get":{"operationId":"getDataset","summary":"Every place × every indicator","description":"The map dataset of one level (`state`, `metro`, `county` or `city`): for every place, the latest value, percentile score, period and data-quality flags of every indicator. Scores rank a place only among places of its own level, so scores of different levels are not comparable. Cities are the Census places with at least 1,000 residents (smaller ones are stored but not scored). A `borrowed` flag marks a city's value that is really its county's; an `aggregated` flag a metro area's or state's value rolled up from counties (see Places, levels and GEOIDs). Binary by default (about 630 KB with brotli for the 3,144 counties); `?format=json` for JSON, whose `places` columns are `geoid`, `name`, `stateCode`, `lat` and `lng` (the `county` and `metro` columns are in the binary header).\n\nCached per dataset version: `ETag` (answer `304` to `If-None-Match`) and `X-Dataset-Version`; pin the version with `v` (read it from `GET /api/v1/meta` (`version`) or the `X-Dataset-Version` header) for a response cached as immutable.","tags":["Statistics"],"parameters":[{"name":"level","in":"path","required":true,"description":"Geographic level: `state` (2-digit FIPS GEOIDs, \"48\"), `metro` (metropolitan and micropolitan areas: `M` + the 5-digit CBSA code, \"M12420\"), `county` (5-digit GEOIDs, \"48453\") or `city` (Census places with at least 1,000 residents: cities, towns, villages and census-designated places, 7-digit GEOIDs, \"4805000\").","schema":{"type":"string","enum":["county","state","metro","city"]}},{"name":"format","in":"query","required":false,"description":"`json` for the JSON rendition; binary otherwise.","schema":{"type":"string","enum":["binary","json"]}},{"name":"v","in":"query","required":false,"description":"Content version to pin. With the current version the response is immutable (cached for a year); any other value is served as the unpinned URL.","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"The dataset (binary). With `?format=json`.","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"},"ETag":{"$ref":"#/components/headers/ETag"},"X-Dataset-Version":{"$ref":"#/components/headers/DataVersion"},"Access-Control-Allow-Origin":{"$ref":"#/components/headers/AllowOrigin"}},"content":{"application/vnd.analisa.dataset+binary":{"schema":{"contentMediaType":"application/vnd.analisa.dataset+binary","description":"Container \"ANL2\" (header `format` 4): 4 magic bytes, a uint32 little-endian header length, a JSON header (`level`, `version`, `count`, `places`, indicators, block descriptors), then 4-byte aligned blocks of byte-shuffled scaled integers (int16/int32, value × 10^scale), one-byte scores (0–200 = 0–100 in half points) and two-byte little-endian flags per place and indicator (the bit set described at `flags` of the JSON rendition, including 4 `aggregated` and 256 `borrowed`). The header's `places` holds the columns `geoid`, `name` and `stateCode` and, where they apply, `county` (city datasets: the GEOID of the county holding most of each city's residents, which is where its `borrowed` values come from) and `metro` (city and county datasets: the GEOID of the metro area holding most of each place's residents, \"\" outside metro areas). The reference decoder is `apps/analisa/src/lib/dataset/codec.ts` (`decodeDataset`)."}},"application/json; charset=utf-8":{"schema":{"$ref":"#/components/schemas/DatasetJson"}}}},"304":{"$ref":"#/components/responses/NotModified"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/v1/datasets/state?format=json'"}],"x-caching":"versioned","x-cors":true}},"/api/v1/indicators/{key}/series":{"get":{"operationId":"getIndicatorSeries","summary":"One indicator's full history for every place","description":"Every published period of one indicator for every place of a level (`state`, `metro`, `county` or `city`). Places follow the order of the matching dataset.\n\nCached per dataset version: `ETag` (answer `304` to `If-None-Match`) and `X-Dataset-Version`; pin the version with `v` (read it from `GET /api/v1/meta` (`version`) or the `X-Dataset-Version` header) for a response cached as immutable.","tags":["Statistics"],"parameters":[{"name":"key","in":"path","required":true,"description":"Indicator key (from /api/v1/meta).","schema":{"type":"string"}},{"name":"level","in":"query","required":false,"description":"Default `county`.","schema":{"type":"string","enum":["county","state","metro","city"]}},{"name":"v","in":"query","required":false,"description":"Content version to pin. With the current version the response is immutable (cached for a year); any other value is served as the unpinned URL.","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"The series (binary).","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"},"ETag":{"$ref":"#/components/headers/ETag"},"X-Dataset-Version":{"$ref":"#/components/headers/DataVersion"},"Access-Control-Allow-Origin":{"$ref":"#/components/headers/AllowOrigin"}},"content":{"application/vnd.analisa.series+binary":{"schema":{"contentMediaType":"application/vnd.analisa.series+binary","description":"Container \"ANS1\" (same layout as the dataset): the JSON header lists `geoids` and `periods` (oldest first); one scaled-integer block per period, aligned with `geoids`. Reference decoder: `apps/analisa/src/lib/dataset/series.ts` (`decodeSeries`)."}}}},"304":{"$ref":"#/components/responses/NotModified"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/v1/indicators/median_household_income/series?level=state'"}],"x-caching":"versioned","x-cors":true}},"/api/v1/places/{geoid}":{"get":{"operationId":"getPlace","summary":"A place with its full history","description":"The nation, a state, a metro area (`M` + CBSA code), a county or a city or town (7-digit place GEOID) with every published value of every indicator (about 20 KB with brotli) and `links` to the areas it belongs to or overlaps (states, metro, counties with residents' shares).\n\nCached per dataset version: `ETag` (answer `304` to `If-None-Match`) and `X-Dataset-Version`; pin the version with `v` (read it from `GET /api/v1/meta` (`version`) or the `X-Dataset-Version` header) for a response cached as immutable.","tags":["Statistics"],"parameters":[{"name":"geoid","in":"path","required":true,"description":"\"US\", a 2-digit state FIPS code or a 5-digit county GEOID.","schema":{"type":"string","pattern":"^(?:US|\\d{2}|\\d{5})$"}},{"name":"v","in":"query","required":false,"description":"Content version to pin. With the current version the response is immutable (cached for a year); any other value is served as the unpinned URL.","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"The place.","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"},"ETag":{"$ref":"#/components/headers/ETag"},"X-Dataset-Version":{"$ref":"#/components/headers/DataVersion"},"Access-Control-Allow-Origin":{"$ref":"#/components/headers/AllowOrigin"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaceDetail"}}}},"304":{"$ref":"#/components/responses/NotModified"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/v1/places/48453'"}],"x-caching":"versioned","x-cors":true}},"/api/v1/places/search":{"get":{"operationId":"searchPlaces","summary":"Search places by name","description":"Finds states, metro and micro areas, counties, and cities and towns (about 36,000 places) by name. `q` is a name, a prefix or a misspelling (\"aus\", \"austn\"), optionally followed by a state (\"austin, tx\", \"austin texas\"); a comma makes the state certain, while without one the state is dropped when it leaves no result (\"Mount Pleasant in\" is not a place in Indiana). Fewer than 2 letters or digits answer an empty list. Results are ordered exact name, name prefix, word prefix, then similar spelling, the larger place first within a tier. Each has its GEOID, label, population and page. Identical queries are answered from a cache per data version; a burst of distinct queries is shed with `503` and `Retry-After`.\n\nCached per places version: `ETag` (answer `304` to `If-None-Match`) and `X-Data-Version`; pin the version with `v` (read it from `GET /api/v1/meta` (`version`, the dataset version that search results follow) or the `X-Data-Version` header) for a response cached as immutable.","tags":["Statistics"],"parameters":[{"name":"q","in":"query","required":false,"description":"The text to search for (only the first 100 characters count).","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"Most results to return: 1 to 20 (default 8); values outside the range are clamped.","schema":{"type":"integer","minimum":1,"maximum":20}},{"name":"level","in":"query","required":false,"description":"Comma-separated levels to search: any of `state`, `metro`, `county`, `city` (for example `city,metro`). Unknown names are ignored; every level when none is valid.","schema":{"type":"string"}},{"name":"v","in":"query","required":false,"description":"Content version to pin. With the current version the response is immutable (cached for a year); any other value is served as the unpinned URL.","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"The matches.","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"},"ETag":{"$ref":"#/components/headers/ETag"},"X-Data-Version":{"$ref":"#/components/headers/DataVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaceSearchResponse"}}}},"304":{"$ref":"#/components/responses/NotModified"},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"},"503":{"$ref":"#/components/responses/ServiceUnavailable"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/v1/places/search?q=austin%2C%20tx&limit=5'"}],"x-caching":"versioned","x-cors":false}},"/api/v1/migrations/{metric}":{"get":{"operationId":"getMigrationMetric","summary":"One migration metric for one hub","description":"Every period × every counterpart country, plus the publisher's all-countries total, for the nation or a state (10–100 KB).\n\nCached per migrations version: `ETag` (answer `304` to `If-None-Match`) and `X-Dataset-Version`; pin the version with `v` (read it from the `X-Dataset-Version` header of any migrations response) for a response cached as immutable.","tags":["Migrations"],"parameters":[{"name":"metric","in":"path","required":true,"description":"Migration metric key (see `packages/indicators/src/migration`).","schema":{"type":"string"}},{"name":"hub","in":"query","required":false,"description":"\"US\" (default) or a 2-digit state FIPS code, for metrics published by state.","schema":{"type":"string","pattern":"^(US|\\d{2})$"}},{"name":"v","in":"query","required":false,"description":"Content version to pin. With the current version the response is immutable (cached for a year); any other value is served as the unpinned URL.","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"The metric.","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"},"ETag":{"$ref":"#/components/headers/ETag"},"X-Dataset-Version":{"$ref":"#/components/headers/DataVersion"},"Access-Control-Allow-Origin":{"$ref":"#/components/headers/AllowOrigin"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MigrationPayload"}}}},"304":{"$ref":"#/components/responses/NotModified"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/v1/migrations/foreign_born_population?hub=US'"}],"x-caching":"versioned","x-cors":true}},"/api/v1/migrations/context":{"get":{"operationId":"getMigrationContext","summary":"National context series","description":"International migration against natural increase, the share born abroad and long national totals.\n\nCached per migrations version: `ETag` (answer `304` to `If-None-Match`) and `X-Dataset-Version`; pin the version with `v` (read it from the `X-Dataset-Version` header of any migrations response) for a response cached as immutable.","tags":["Migrations"],"parameters":[{"name":"v","in":"query","required":false,"description":"Content version to pin. With the current version the response is immutable (cached for a year); any other value is served as the unpinned URL.","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"The series.","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"},"ETag":{"$ref":"#/components/headers/ETag"},"X-Dataset-Version":{"$ref":"#/components/headers/DataVersion"},"Access-Control-Allow-Origin":{"$ref":"#/components/headers/AllowOrigin"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MigrationContext"}}}},"304":{"$ref":"#/components/responses/NotModified"},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/v1/migrations/context'"}],"x-caching":"versioned","x-cors":true}},"/api/v1/datasets/tract/areas/{geoid}":{"get":{"operationId":"getTractArea","summary":"Counties behind an area's neighborhoods","description":"The counties whose census tracts make up the neighborhoods of a county, a city or a metro area, each with the content hash of its tract shapes, so a client can fetch every county's tract dataset and shapes in parallel. A city spans whole counties here: its neighborhoods are all the tracts of the counties its residents live in.\n\nCached per tracts version: `ETag` (answer `304` to `If-None-Match`) and `X-Data-Version`; pin the version with `v` (read it from `version` of `GET /api/v1/datasets/tract/areas/{geoid}` or the `X-Data-Version` header of a neighborhoods response; it follows the dataset version) for a response cached as immutable.","tags":["Statistics"],"parameters":[{"name":"geoid","in":"path","required":true,"description":"The area: a county (5 digits, `48453`), a city or town (7 digits, `4805000`) or a metro area (`M` + CBSA code, `M12420`).","schema":{"type":"string","pattern":"^(?:\\d{5}|\\d{7}|M\\d{5})$"}},{"name":"v","in":"query","required":false,"description":"Content version to pin. With the current version the response is immutable (cached for a year); any other value is served as the unpinned URL.","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"The area's counties.","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"},"ETag":{"$ref":"#/components/headers/ETag"},"X-Data-Version":{"$ref":"#/components/headers/DataVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TractArea"}}}},"304":{"$ref":"#/components/responses/NotModified"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/v1/datasets/tract/areas/4805000'"}],"x-caching":"versioned","x-cors":false}},"/api/v1/datasets/tract":{"get":{"operationId":"getTractDataset","summary":"One county's neighborhoods × every indicator","description":"The census tracts (\"neighborhoods\", about 4,000 residents each) of one county, in the format of `/api/v1/datasets/{level}`: the latest value, score, period and data-quality flags of every indicator with a tract figure (ACS 5-year estimates with their `unreliable` flags, CDC PLACES crude prevalence flagged `crude` and `model-based`, FEMA's hazard percentile among tracts, distances), plus the county's own value of area-wide measures, flagged `borrowed`. Scores rank a tract among every tract of the nation (reliability-adjusted toward its county's mean where a standard error is published), so they compare across counties; tracts under 500 residents carry values but no scores. Indicators with no value in the county are left out. Binary by default (Travis County: 37 KB with brotli; Los Angeles County, the largest: 266 KB); `?format=json` for JSON.\n\nCached per tracts version: `ETag` (answer `304` to `If-None-Match`) and `X-Data-Version`; pin the version with `v` (read it from `version` of `GET /api/v1/datasets/tract/areas/{geoid}` or the `X-Data-Version` header of a neighborhoods response; it follows the dataset version) for a response cached as immutable.","tags":["Statistics"],"parameters":[{"name":"county","in":"query","required":true,"description":"5-digit county GEOID (state + county FIPS), e.g. `48453` (Travis County, TX).","schema":{"type":"string","pattern":"^\\d{5}$"}},{"name":"format","in":"query","required":false,"description":"`json` for the JSON rendition; binary otherwise.","schema":{"type":"string","enum":["binary","json"]}},{"name":"v","in":"query","required":false,"description":"Content version to pin. With the current version the response is immutable (cached for a year); any other value is served as the unpinned URL.","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"The county's tracts (binary). With `?format=json`.","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"},"ETag":{"$ref":"#/components/headers/ETag"},"X-Data-Version":{"$ref":"#/components/headers/DataVersion"},"Access-Control-Allow-Origin":{"$ref":"#/components/headers/AllowOrigin"}},"content":{"application/vnd.analisa.dataset+binary":{"schema":{"contentMediaType":"application/vnd.analisa.dataset+binary","description":"The \"ANL2\" container of `/api/v1/datasets/{level}` with `level` \"tract\": scores are always shipped (they are national ranks, which a county's values cannot recompute), `places.counties` holds the county, borrowed values are stored once per county (`countyValues`), and the header's `shards` maps the county to the content hash of its shapes. Reference decoder: `apps/analisa/src/lib/dataset/codec.ts` (`decodeTractDataset`)."}},"application/json; charset=utf-8":{"schema":{"$ref":"#/components/schemas/TractDatasetJson"}}}},"304":{"$ref":"#/components/responses/NotModified"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/v1/datasets/tract?county=48453&format=json'"}],"x-caching":"versioned","x-cors":true}},"/api/v1/datasets/tract/estimates/{geoid}":{"get":{"operationId":"getTractEstimates","summary":"One neighborhood's estimates with margins of error","description":"One census tract's own published estimates with their standard errors and 90% margins of error (ACS: published margin; CDC PLACES: from the confidence interval). Tract estimates are noisy: a difference between two tracts smaller than their margins is not a difference. The tract dataset leaves standard errors out to stay small; this is what to show next to a selected tract's values.\n\nCached per tracts version: `ETag` (answer `304` to `If-None-Match`) and `X-Data-Version`; pin the version with `v` (read it from `version` of `GET /api/v1/datasets/tract/areas/{geoid}` or the `X-Data-Version` header of a neighborhoods response; it follows the dataset version) for a response cached as immutable.","tags":["Statistics"],"parameters":[{"name":"geoid","in":"path","required":true,"description":"11-digit census tract GEOID (county + 6-digit tract code), e.g. `48453001101`.","schema":{"type":"string","pattern":"^\\d{11}$"}},{"name":"v","in":"query","required":false,"description":"Content version to pin. With the current version the response is immutable (cached for a year); any other value is served as the unpinned URL.","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"The tract's estimates.","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"},"ETag":{"$ref":"#/components/headers/ETag"},"X-Data-Version":{"$ref":"#/components/headers/DataVersion"},"Access-Control-Allow-Origin":{"$ref":"#/components/headers/AllowOrigin"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TractEstimates"}}}},"304":{"$ref":"#/components/responses/NotModified"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/v1/datasets/tract/estimates/48453001101'"}],"x-caching":"versioned","x-cors":true}},"/api/v1/geo/shards/{kind}/{key}":{"get":{"operationId":"getGeoShard","summary":"Generated boundary shapes: a county's tracts or a state's cities (TopoJSON)","description":"Boundaries too numerous for one file, as TopoJSON with the feature id = the GEOID and `properties.name` = its short name. `tracts/{county}`: the census tracts of one county (object `tracts`). `cities/{state}`: the cities and towns of one state (object `cities`). 1:500,000 cartographic boundaries, simplified for map zoom and clipped to the shoreline (for maps, not for measuring areas). Addressed by content: with `h` set to the current hash (`shard` of `/api/v1/datasets/tract/areas/{geoid}`, or `shards` of the tract and city datasets) the response is cached as immutable for a year; without it, or with an outdated hash, it is the current shapes cached for five minutes. The `ETag` is the content hash.\n\nCached for a short time (see `Cache-Control`).","tags":["Statistics"],"parameters":[{"name":"kind","in":"path","required":true,"description":"What the shard holds: `tracts` (a county's census tracts) or `cities` (a state's cities and towns).","schema":{"type":"string","enum":["tracts","cities"]}},{"name":"key","in":"path","required":true,"description":"`tracts`: 5-digit county GEOID (e.g. `48453`). `cities`: 2-digit state FIPS code (e.g. `48`).","schema":{"type":"string","pattern":"^(\\d{5}|\\d{2})$"}},{"name":"h","in":"query","required":false,"description":"Content hash of the shapes, for an immutable response.","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"The shapes.","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"},"Access-Control-Allow-Origin":{"$ref":"#/components/headers/AllowOrigin"}},"content":{"application/json; charset=utf-8":{"schema":{"contentMediaType":"application/json","description":"TopoJSON topology (UTF-8), quantized."}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/v1/geo/shards/tracts/48453'"}],"x-caching":"short","x-cors":true}},"/api/v1/places/{geoid}/breakdowns":{"get":{"operationId":"getPlaceBreakdowns","summary":"The distributions behind a place's numbers","description":"Household income brackets, age and sex, race and Hispanic origin, owners and renters, rent, home values, commute mode and time, education, age and size of homes: for the latest American Community Survey 5-year window and the one before it, each bucket with its count, 90% margin of error, share and change in share since the earlier window, the state's and the nation's distribution, and the data.census.gov table it comes from. Buckets sum published Census cells; the grouping is ours. A bucket with a margin of error above 30% of its estimate is flagged `lowReliability`; a change is `significant` only beyond the combined margin of error.\n\nCached per breakdowns version: `ETag` (answer `304` to `If-None-Match`) and `X-Data-Version`; pin the version with `v` (read it from the `X-Data-Version` header (or `version`) of any breakdowns response; it changes when a new ACS release is loaded) for a response cached as immutable.","tags":["Statistics"],"parameters":[{"name":"geoid","in":"path","required":true,"description":"\"US\", a 2-digit state FIPS code, a metro area GEOID (`M` + the 5-digit CBSA code), a 5-digit county GEOID or a 7-digit city GEOID.","schema":{"type":"string","pattern":"^(?:US|\\d{2}|M\\d{5}|\\d{5}|\\d{7})$"}},{"name":"v","in":"query","required":false,"description":"Content version to pin. With the current version the response is immutable (cached for a year); any other value is served as the unpinned URL.","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"The place's distributions.","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"},"ETag":{"$ref":"#/components/headers/ETag"},"X-Data-Version":{"$ref":"#/components/headers/DataVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaceBreakdowns"}}}},"304":{"$ref":"#/components/responses/NotModified"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/v1/places/4805000/breakdowns'"}],"x-caching":"versioned","x-cors":false}},"/api/v1/occupations":{"get":{"operationId":"searchOccupations","summary":"Search occupations","description":"SOC 2018 occupations whose title or code matches `q`, best first (an exact title, then titles whose words start with the query, then titles containing it; detailed occupations before group totals; larger occupations first). Without `q`, the largest occupations nationally. Use a returned `code` with `/api/v1/places/{geoid}/wages`.\n\nCached per wages version: `ETag` (answer `304` to `If-None-Match`) and `X-Data-Version`; pin the version with `v` (read it from the `X-Data-Version` header (or `version`) of any occupations or wages response; it changes when a new BLS release is loaded) for a response cached as immutable.","tags":["Statistics"],"parameters":[{"name":"q","in":"query","required":false,"description":"Text to find in titles, or a code prefix such as \"15-12\". Default: none.","schema":{"type":"string","maxLength":80}},{"name":"limit","in":"query","required":false,"description":"Results to return. Default 10.","schema":{"type":"integer","minimum":1,"maximum":50}},{"name":"v","in":"query","required":false,"description":"Content version to pin. With the current version the response is immutable (cached for a year); any other value is served as the unpinned URL.","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"The matching occupations.","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"},"ETag":{"$ref":"#/components/headers/ETag"},"X-Data-Version":{"$ref":"#/components/headers/DataVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OccupationSearch"}}}},"304":{"$ref":"#/components/responses/NotModified"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/v1/occupations?q=nurse&limit=5'"}],"x-caching":"versioned","x-cors":false}},"/api/v1/places/{geoid}/wages":{"get":{"operationId":"getPlaceWages","summary":"Jobs and pay in a place's area","description":"Employment and annual pay (mean, median, 10th/25th/75th/90th percentiles, location quotient) by occupation from the BLS Occupational Employment and Wage Statistics survey, all industries and ownerships, next to the principal state's and the nation's. BLS publishes metro areas, states and the nation: those answer as themselves, a county or city with the metro area it lies in (`requested` says which place was asked about), and a place in no metro area is a 404. With `occupation` the one occupation; otherwise the largest occupations by employment (`group`, `limit`). Pay is in current dollars, not adjusted for the cost of living, and BLS caps the highest wages it publishes (`wage-top-coded`).\n\nCached per wages version: `ETag` (answer `304` to `If-None-Match`) and `X-Data-Version`; pin the version with `v` (read it from the `X-Data-Version` header (or `version`) of any occupations or wages response; it changes when a new BLS release is loaded) for a response cached as immutable.","tags":["Statistics"],"parameters":[{"name":"geoid","in":"path","required":true,"description":"\"US\", a 2-digit state FIPS code, a metro area GEOID (`M` + the 5-digit CBSA code), a 5-digit county GEOID or a 7-digit city GEOID.","schema":{"type":"string","pattern":"^(?:US|\\d{2}|M\\d{5}|\\d{5}|\\d{7})$"}},{"name":"occupation","in":"query","required":false,"description":"SOC code from /api/v1/occupations, e.g. \"15-1252\". Default: the largest occupations.","schema":{"type":"string","pattern":"^\\d{2}-\\d{4}$"}},{"name":"group","in":"query","required":false,"description":"Which occupations to rank when `occupation` is not given. Default `detailed`.","schema":{"type":"string","enum":["detailed","major"]}},{"name":"limit","in":"query","required":false,"description":"Occupations to return when `occupation` is not given. Default 12.","schema":{"type":"integer","minimum":1,"maximum":50}},{"name":"v","in":"query","required":false,"description":"Content version to pin. With the current version the response is immutable (cached for a year); any other value is served as the unpinned URL.","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"Pay by occupation.","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"},"ETag":{"$ref":"#/components/headers/ETag"},"X-Data-Version":{"$ref":"#/components/headers/DataVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaceWages"}}}},"304":{"$ref":"#/components/responses/NotModified"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/v1/places/M12420/wages?occupation=15-1252'"}],"x-caching":"versioned","x-cors":false}},"/api/v1/places/{geoid}/changes":{"get":{"operationId":"getPlaceChanges","summary":"What changed in a place over five years","description":"For every scored indicator with a comparable history: the latest value and the one about five years earlier (two non-overlapping periods of the same publisher dataset; for American Community Survey indicators the windows 2015-2019 and 2020-2024), the change, whether it is an improvement for the indicator's direction, whether it exceeds the published margin of error (1.645 × the root of the summed squared standard errors; indicators without a margin are `unassessed`), and how favourable it is against the same change in the other places of the level (`peers`). Also the five largest improvements and declines, and up to five places that looked most like this one five years ago and have improved most since (most real improvements minus declines, then the rise in standing). Never compared across a source change. A comparison of published estimates: it says what moved, not why. Cities under 1,000 residents are not ranked and answer 404.\n\nCached per changes version: `ETag` (answer `304` to `If-None-Match`) and `X-Data-Version`; pin the version with `v` (read it from the `X-Data-Version` header (or `version`) of any changes response; it changes when a release of any indicator source is loaded) for a response cached as immutable.","tags":["Statistics"],"parameters":[{"name":"geoid","in":"path","required":true,"description":"A 2-digit state FIPS code, a metro area GEOID (`M` + the 5-digit CBSA code), a 5-digit county GEOID or a 7-digit city GEOID (cities of at least 1,000 residents).","schema":{"type":"string","pattern":"^(?:\\d{2}|M\\d{5}|\\d{5}|\\d{7})$"}},{"name":"v","in":"query","required":false,"description":"Content version to pin. With the current version the response is immutable (cached for a year); any other value is served as the unpinned URL.","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"The place's changes.","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"},"ETag":{"$ref":"#/components/headers/ETag"},"X-Data-Version":{"$ref":"#/components/headers/DataVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaceChanges"}}}},"304":{"$ref":"#/components/responses/NotModified"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/v1/places/48453/changes'"}],"x-caching":"versioned","x-cors":false}},"/api/v1/places/{geoid}/business":{"get":{"operationId":"getPlaceBusiness","summary":"Local businesses of a place by industry","description":"Employer establishments, paid employees, annual payroll and nonemployer businesses for the NAICS sectors and a curated list of narrower industries (restaurants, child day care, dentists, gyms, auto repair…), from the Census Bureau's County Business Patterns (2023) and Nonemployer Statistics (2024), with establishments per 10,000 residents against the state's and the nation's, a density index (1.00 = the nation's density) and average pay. Metro areas are the exact sums of their counties (flag `aggregated`). The Census Bureau publishes business counts no finer than counties, so a city answers with its county's figures (`requested` names the city). Employment and payroll are noise-infused by the Census Bureau (see `flags`). Counts of businesses against counts of residents: not a measure of demand, size, quality or profit.\n\nCached per business version: `ETag` (answer `304` to `If-None-Match`) and `X-Data-Version`; pin the version with `v` (read it from the `X-Data-Version` header (or `version`) of any business response; it changes when a new County Business Patterns or Nonemployer Statistics release is loaded) for a response cached as immutable.","tags":["Statistics"],"parameters":[{"name":"geoid","in":"path","required":true,"description":"A 2-digit state FIPS code, a metro area GEOID (`M` + the 5-digit CBSA code), a 5-digit county GEOID or a 7-digit city GEOID (answered with its county's figures).","schema":{"type":"string","pattern":"^(?:\\d{2}|M\\d{5}|\\d{5}|\\d{7})$"}},{"name":"v","in":"query","required":false,"description":"Content version to pin. With the current version the response is immutable (cached for a year); any other value is served as the unpinned URL.","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"The place's business figures.","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"},"ETag":{"$ref":"#/components/headers/ETag"},"X-Data-Version":{"$ref":"#/components/headers/DataVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaceBusiness"}}}},"304":{"$ref":"#/components/responses/NotModified"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/v1/places/48453/business'"}],"x-caching":"versioned","x-cors":false}},"/api/v1/business/industries":{"get":{"operationId":"getBusinessIndustries","summary":"Industries with national business figures","description":"The all-industries total, the 19 NAICS sectors and the curated narrower industries, each with its stable `key`, its NAICS code in both editions the surveys use (County Business Patterns 2023 is NAICS 2017, Nonemployer Statistics 2024 is NAICS 2022) and national establishments, employment, payroll and nonemployers. Use a `key` or NAICS code with `/api/v1/business/industries/{naics}/places`.\n\nCached per business version: `ETag` (answer `304` to `If-None-Match`) and `X-Data-Version`; pin the version with `v` (read it from the `X-Data-Version` header (or `version`) of any business response; it changes when a new County Business Patterns or Nonemployer Statistics release is loaded) for a response cached as immutable.","tags":["Statistics"],"parameters":[{"name":"v","in":"query","required":false,"description":"Content version to pin. With the current version the response is immutable (cached for a year); any other value is served as the unpinned URL.","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"The industries.","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"},"ETag":{"$ref":"#/components/headers/ETag"},"X-Data-Version":{"$ref":"#/components/headers/DataVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BusinessIndustries"}}}},"304":{"$ref":"#/components/responses/NotModified"},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/v1/business/industries'"}],"x-caching":"versioned","x-cors":false}},"/api/v1/business/industries/{naics}/places":{"get":{"operationId":"getIndustryPlaces","summary":"Metro areas or counties ranked for an industry","description":"Places ranked for one industry: establishments, employment, average pay, nonemployers, establishments per 10,000 residents, residents per establishment (more residents per business means fewer competitors per resident: a count, not a measure of demand), a density index against the nation's and, once the tables hold a second reference year of the same NAICS edition, growth of establishments (only 2023 is loaded now, so `growth` is null). With federal contract obligations in the industry's NAICS codes for the contracts fiscal year: the nation's, and the ten metro areas (sums of their counties), counties and cities (estimated from ZIP codes) where the most was performed. Metro areas count under their principal state. Places below `minPopulation` or with fewer than `minEstablishments` are left out: a handful of businesses makes the ratios jump around.\n\nCached per business version: `ETag` (answer `304` to `If-None-Match`) and `X-Data-Version`; pin the version with `v` (read it from the `X-Data-Version` header (or `version`) of any business response; it changes when a new County Business Patterns or Nonemployer Statistics release is loaded) for a response cached as immutable.","tags":["Statistics"],"parameters":[{"name":"naics","in":"path","required":true,"description":"An industry `key` from /api/v1/business/industries (\"restaurants\") or a NAICS code of the catalog (\"7225\", \"44-45\").","schema":{"type":"string","minLength":2,"maxLength":64}},{"name":"level","in":"query","required":false,"description":"Places to rank. Default `metro`.","schema":{"type":"string","enum":["metro","county"]}},{"name":"state","in":"query","required":false,"description":"USPS state code (TX) to keep one state's places. A metro area counts under its principal state.","schema":{"type":"string","minLength":2,"maxLength":2}},{"name":"minPopulation","in":"query","required":false,"description":"Fewest residents. Default 100,000 for metros, 50,000 for counties.","schema":{"type":"integer","minimum":0}},{"name":"minEstablishments","in":"query","required":false,"description":"Fewest establishments of the industry. Default 5.","schema":{"type":"integer","minimum":0}},{"name":"sort","in":"query","required":false,"description":"Ranking key. Default `residents` (residents per establishment). Missing values sort last.","schema":{"type":"string","enum":["residents","density","establishments","employment","pay","nonemployers","growth","population"]}},{"name":"order","in":"query","required":false,"description":"Default `desc`.","schema":{"type":"string","enum":["asc","desc"]}},{"name":"limit","in":"query","required":false,"description":"Places per page. Default 25.","schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"offset","in":"query","required":false,"description":"Places to skip. Default 0.","schema":{"type":"integer","minimum":0,"maximum":10000}},{"name":"v","in":"query","required":false,"description":"Content version to pin. With the current version the response is immutable (cached for a year); any other value is served as the unpinned URL.","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"One page of ranked places.","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"},"ETag":{"$ref":"#/components/headers/ETag"},"X-Data-Version":{"$ref":"#/components/headers/DataVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IndustryPlaces"}}}},"304":{"$ref":"#/components/responses/NotModified"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/v1/business/industries/restaurants/places?state=TX&limit=10'"}],"x-caching":"versioned","x-cors":false}},"/api/v1/contracts/meta":{"get":{"operationId":"getContractsMeta","summary":"Fiscal years, agencies and freshness","description":"The loaded fiscal years, the agency filter options, the latest action date loaded and the contracts data version.\n\nCached per contracts version: `ETag` (answer `304` to `If-None-Match`) and `X-Data-Version`; pin the version with `v` (read it from `GET /api/v1/contracts/meta` (`version`) or the `X-Data-Version` header) for a response cached as immutable.","tags":["Contracts"],"parameters":[{"name":"v","in":"query","required":false,"description":"Content version to pin. With the current version the response is immutable (cached for a year); any other value is served as the unpinned URL.","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"The metadata.","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"},"ETag":{"$ref":"#/components/headers/ETag"},"X-Data-Version":{"$ref":"#/components/headers/DataVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContractsMeta"}}}},"304":{"$ref":"#/components/responses/NotModified"},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/v1/contracts/meta'"}],"x-caching":"versioned","x-cors":false}},"/api/v1/contracts/map":{"get":{"operationId":"getContractsMap","summary":"One value per county or state","description":"Cached per contracts version: `ETag` (answer `304` to `If-None-Match`) and `X-Data-Version`; pin the version with `v` (read it from `GET /api/v1/contracts/meta` (`version`) or the `X-Data-Version` header) for a response cached as immutable.","tags":["Contracts"],"parameters":[{"name":"level","in":"query","required":false,"schema":{"type":"string","enum":["county","state"]}},{"name":"metric","in":"query","required":false,"schema":{"type":"string","enum":["obligations","per_capita","actions","low_competition_share","not_competed_share","single_offer_share","small_business_share"]}},{"name":"fy","in":"query","required":false,"description":"Federal fiscal year (October–September, named by the year it ends). Default and fallback for years without data: the latest mostly complete year (`defaultFiscalYear` of /api/v1/contracts/meta).","schema":{"type":"integer","minimum":2000,"maximum":2100}},{"name":"category","in":"query","required":false,"description":"Spending category (what was bought). Unknown values are ignored.","schema":{"type":"string","enum":["defense-equipment","it-telecom","research","professional","construction","health","maintenance","facilities","transport","education-social","fuel","supplies","unclassified"]}},{"name":"agency","in":"query","required":false,"description":"Toptier agency id, one of `agencies` in /api/v1/contracts/meta. Other ids are ignored (400 on the awards list).","schema":{"type":"integer","exclusiveMinimum":0}},{"name":"v","in":"query","required":false,"description":"Content version to pin. With the current version the response is immutable (cached for a year); any other value is served as the unpinned URL.","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"The map values.","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"},"ETag":{"$ref":"#/components/headers/ETag"},"X-Data-Version":{"$ref":"#/components/headers/DataVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContractsMap"}}}},"304":{"$ref":"#/components/responses/NotModified"},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/v1/contracts/map?level=state&metric=per_capita'"}],"x-caching":"versioned","x-cors":false}},"/api/v1/contracts/places/{geoid}":{"get":{"operationId":"getContractsPlace","summary":"A place's spending summary","description":"KPIs against the previous year, monthly and yearly series, categories, top buyers, recipients and industries, largest awards. Place = place of performance. A metro area's figures are the sum of its counties'. A city's are estimated: each action's county money split by the share of its award's ZIP code that lies in the city (land, Census ZCTA relationship files), part of its counties' figures (see `attribution`); counts are of actions with any share in the city.\n\nCached per contracts version: `ETag` (answer `304` to `If-None-Match`) and `X-Data-Version`; pin the version with `v` (read it from `GET /api/v1/contracts/meta` (`version`) or the `X-Data-Version` header) for a response cached as immutable.","tags":["Contracts"],"parameters":[{"name":"geoid","in":"path","required":true,"description":"\"US\", a 2-digit state FIPS code, a 5-digit county GEOID, a metro area GEOID (`M` + the 5-digit CBSA code, \"M12420\") or a 7-digit city GEOID (\"4805000\"). A metro area's money is the sum of its counties'; a city's is its share of its counties' money, split by the land of each ZIP code inside it (see `attribution`).","schema":{"type":"string","pattern":"^(?:US|\\d{2}|\\d{5}|M\\d{5}|\\d{7})$"}},{"name":"fy","in":"query","required":false,"description":"Federal fiscal year (October–September, named by the year it ends). Default and fallback for years without data: the latest mostly complete year (`defaultFiscalYear` of /api/v1/contracts/meta).","schema":{"type":"integer","minimum":2000,"maximum":2100}},{"name":"category","in":"query","required":false,"description":"Spending category (what was bought). Unknown values are ignored.","schema":{"type":"string","enum":["defense-equipment","it-telecom","research","professional","construction","health","maintenance","facilities","transport","education-social","fuel","supplies","unclassified"]}},{"name":"agency","in":"query","required":false,"description":"Toptier agency id, one of `agencies` in /api/v1/contracts/meta. Other ids are ignored (400 on the awards list).","schema":{"type":"integer","exclusiveMinimum":0}},{"name":"v","in":"query","required":false,"description":"Content version to pin. With the current version the response is immutable (cached for a year); any other value is served as the unpinned URL.","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"The summary.","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"},"ETag":{"$ref":"#/components/headers/ETag"},"X-Data-Version":{"$ref":"#/components/headers/DataVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContractsPlaceSummary"}}}},"304":{"$ref":"#/components/responses/NotModified"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"},"503":{"$ref":"#/components/responses/ServiceUnavailable"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/v1/contracts/places/06?fy=2025'"}],"x-caching":"versioned","x-cors":false}},"/api/v1/contracts/search":{"get":{"operationId":"searchContracts","summary":"Search agencies, recipients, awards, notices, grant recipients and programs","description":"Trigram and full-text matching; 3 normalized characters or more (shorter queries answer empty groups). Also organizations with federal assistance and no contracts, and Assistance Listings by number or title.\n\nCached per contracts version: `ETag` (answer `304` to `If-None-Match`) and `X-Data-Version`; pin the version with `v` (read it from `GET /api/v1/contracts/meta` (`version`) or the `X-Data-Version` header) for a response cached as immutable.","tags":["Contracts"],"parameters":[{"name":"q","in":"query","required":true,"description":"The text to search.","schema":{"type":"string","maxLength":120}},{"name":"v","in":"query","required":false,"description":"Content version to pin. With the current version the response is immutable (cached for a year); any other value is served as the unpinned URL.","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"Matches by group.","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"},"ETag":{"$ref":"#/components/headers/ETag"},"X-Data-Version":{"$ref":"#/components/headers/DataVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContractsSearchResults"}}}},"304":{"$ref":"#/components/responses/NotModified"},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"},"503":{"$ref":"#/components/responses/ServiceUnavailable"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/v1/contracts/search?q=lockheed'"}],"x-caching":"versioned","x-cors":false}},"/api/v1/contracts/awards":{"get":{"operationId":"listAwards","summary":"Awards, 25 per page","description":"Keyset pagination: pass `nextCursor` back as `cursor`. An unknown fiscal year or agency, or a malformed cursor, is a 400; other unrecognized filters are ignored.\n\nCached per contracts version: `ETag` (answer `304` to `If-None-Match`) and `X-Data-Version`; pin the version with `v` (read it from `GET /api/v1/contracts/meta` (`version`) or the `X-Data-Version` header) for a response cached as immutable.","tags":["Contracts"],"parameters":[{"name":"q","in":"query","required":false,"description":"Words in the description (full text), or a contract number (PIID) prefix.","schema":{"type":"string","maxLength":200}},{"name":"fy","in":"query","required":false,"description":"Fiscal year the award was active in (400 when not loaded).","schema":{"type":"integer","minimum":2000,"maximum":2100}},{"name":"agency","in":"query","required":false,"description":"Toptier agency id, one of `agencies` in /api/v1/contracts/meta. Other ids are ignored (400 on the awards list).","schema":{"type":"integer","exclusiveMinimum":0}},{"name":"subtier","in":"query","required":false,"description":"Awarding subtier agency id.","schema":{"type":"integer"}},{"name":"office","in":"query","required":false,"description":"Awarding office id.","schema":{"type":"integer"}},{"name":"recipient","in":"query","required":false,"description":"Recipient id.","schema":{"type":"string","pattern":"^\\d{1,19}$"}},{"name":"place","in":"query","required":false,"description":"State FIPS or county GEOID of the place of performance.","schema":{"type":"string"}},{"name":"category","in":"query","required":false,"description":"Spending category (what was bought). Unknown values are ignored.","schema":{"type":"string","enum":["defense-equipment","it-telecom","research","professional","construction","health","maintenance","facilities","transport","education-social","fuel","supplies","unclassified"]}},{"name":"competition","in":"query","required":false,"schema":{"type":"string","enum":["competed","not-competed","unknown"]}},{"name":"flag","in":"query","required":false,"description":"Only awards carrying this integrity signal (award-level signals only).","schema":{"type":"string","enum":["low-competition","not-competed","single-offer","urgency","year-end","ceiling-growth","undefinitized","time-materials","threshold-bunching","default-termination","excluded-parties","recurring-sole-source","concentration","opaque-description","code-mismatch","governmental-functions","advisory-services","weak-sole-source"]}},{"name":"sort","in":"query","required":false,"description":"Largest first (default), latest action first, or largest ceiling growth first.","schema":{"type":"string","enum":["value","recent","growth"]}},{"name":"cursor","in":"query","required":false,"description":"`nextCursor` of the previous page.","schema":{"type":"string"}},{"name":"v","in":"query","required":false,"description":"Content version to pin. With the current version the response is immutable (cached for a year); any other value is served as the unpinned URL.","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"A page of awards.","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"},"ETag":{"$ref":"#/components/headers/ETag"},"X-Data-Version":{"$ref":"#/components/headers/DataVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AwardPage"}}}},"304":{"$ref":"#/components/responses/NotModified"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/v1/contracts/awards?fy=2025&place=48&sort=value'"}],"x-caching":"versioned","x-cors":false}},"/api/v1/contracts/awards/{id}":{"get":{"operationId":"getAward","summary":"An award with every action","description":"Cached per contracts version: `ETag` (answer `304` to `If-None-Match`) and `X-Data-Version`; pin the version with `v` (read it from `GET /api/v1/contracts/meta` (`version`) or the `X-Data-Version` header) for a response cached as immutable.","tags":["Contracts"],"parameters":[{"name":"id","in":"path","required":true,"description":"Award id (the `id` of an award row).","schema":{"type":"string","pattern":"^\\d{1,19}$"}},{"name":"v","in":"query","required":false,"description":"Content version to pin. With the current version the response is immutable (cached for a year); any other value is served as the unpinned URL.","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"The award.","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"},"ETag":{"$ref":"#/components/headers/ETag"},"X-Data-Version":{"$ref":"#/components/headers/DataVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AwardDetail"}}}},"304":{"$ref":"#/components/responses/NotModified"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/v1/contracts/awards/8469442'"}],"x-caching":"versioned","x-cors":false}},"/api/v1/contracts/recipients":{"get":{"operationId":"listRecipients","summary":"Recipients ranked by obligations, 25 per page","description":"Cached per contracts version: `ETag` (answer `304` to `If-None-Match`) and `X-Data-Version`; pin the version with `v` (read it from `GET /api/v1/contracts/meta` (`version`) or the `X-Data-Version` header) for a response cached as immutable.","tags":["Contracts"],"parameters":[{"name":"q","in":"query","required":false,"description":"Name words or a UEI.","schema":{"type":"string","maxLength":200}},{"name":"cursor","in":"query","required":false,"description":"An offset from `nextCursor` (multiples of 25 up to 10,000).","schema":{"type":"string"}},{"name":"fy","in":"query","required":false,"description":"Federal fiscal year (October–September, named by the year it ends). Default and fallback for years without data: the latest mostly complete year (`defaultFiscalYear` of /api/v1/contracts/meta).","schema":{"type":"integer","minimum":2000,"maximum":2100}},{"name":"category","in":"query","required":false,"description":"Spending category (what was bought). Unknown values are ignored.","schema":{"type":"string","enum":["defense-equipment","it-telecom","research","professional","construction","health","maintenance","facilities","transport","education-social","fuel","supplies","unclassified"]}},{"name":"agency","in":"query","required":false,"description":"Toptier agency id, one of `agencies` in /api/v1/contracts/meta. Other ids are ignored (400 on the awards list).","schema":{"type":"integer","exclusiveMinimum":0}},{"name":"v","in":"query","required":false,"description":"Content version to pin. With the current version the response is immutable (cached for a year); any other value is served as the unpinned URL.","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"A page of recipients.","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"},"ETag":{"$ref":"#/components/headers/ETag"},"X-Data-Version":{"$ref":"#/components/headers/DataVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecipientPage"}}}},"304":{"$ref":"#/components/responses/NotModified"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/v1/contracts/recipients?fy=2025'"}],"x-caching":"versioned","x-cors":false}},"/api/v1/contracts/recipients/{id}":{"get":{"operationId":"getRecipient","summary":"A recipient's profile","description":"The response version combines the data and company-family versions: a URL pinned to the data version alone is revalidated by ETag rather than cached as immutable.\n\nCached per contracts version: `ETag` (answer `304` to `If-None-Match`) and `X-Data-Version`; pin the version with `v` (read it from `GET /api/v1/contracts/meta` (`version`) or the `X-Data-Version` header) for a response cached as immutable.","tags":["Contracts"],"parameters":[{"name":"id","in":"path","required":true,"description":"Recipient id.","schema":{"type":"string","pattern":"^\\d{1,19}$"}},{"name":"fy","in":"query","required":false,"description":"Federal fiscal year (October–September, named by the year it ends). Default and fallback for years without data: the latest mostly complete year (`defaultFiscalYear` of /api/v1/contracts/meta).","schema":{"type":"integer","minimum":2000,"maximum":2100}},{"name":"v","in":"query","required":false,"description":"Content version to pin. With the current version the response is immutable (cached for a year); any other value is served as the unpinned URL.","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"The profile.","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"},"ETag":{"$ref":"#/components/headers/ETag"},"X-Data-Version":{"$ref":"#/components/headers/DataVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecipientProfile"}}}},"304":{"$ref":"#/components/responses/NotModified"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/v1/contracts/recipients/1451334?fy=2025'"}],"x-caching":"versioned","x-cors":false}},"/api/v1/contracts/agencies":{"get":{"operationId":"listAgencies","summary":"Subtier agencies ranked by obligations","description":"Cached per contracts version: `ETag` (answer `304` to `If-None-Match`) and `X-Data-Version`; pin the version with `v` (read it from `GET /api/v1/contracts/meta` (`version`) or the `X-Data-Version` header) for a response cached as immutable.","tags":["Contracts"],"parameters":[{"name":"place","in":"query","required":false,"description":"State FIPS or county GEOID.","schema":{"type":"string"}},{"name":"fy","in":"query","required":false,"description":"Federal fiscal year (October–September, named by the year it ends). Default and fallback for years without data: the latest mostly complete year (`defaultFiscalYear` of /api/v1/contracts/meta).","schema":{"type":"integer","minimum":2000,"maximum":2100}},{"name":"category","in":"query","required":false,"description":"Spending category (what was bought). Unknown values are ignored.","schema":{"type":"string","enum":["defense-equipment","it-telecom","research","professional","construction","health","maintenance","facilities","transport","education-social","fuel","supplies","unclassified"]}},{"name":"agency","in":"query","required":false,"description":"Toptier agency id, one of `agencies` in /api/v1/contracts/meta. Other ids are ignored (400 on the awards list).","schema":{"type":"integer","exclusiveMinimum":0}},{"name":"v","in":"query","required":false,"description":"Content version to pin. With the current version the response is immutable (cached for a year); any other value is served as the unpinned URL.","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"The agencies.","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"},"ETag":{"$ref":"#/components/headers/ETag"},"X-Data-Version":{"$ref":"#/components/headers/DataVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgencyPage"}}}},"304":{"$ref":"#/components/responses/NotModified"},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/v1/contracts/agencies?fy=2025&place=06'"}],"x-caching":"versioned","x-cors":false}},"/api/v1/contracts/agencies/{id}":{"get":{"operationId":"getAgency","summary":"An agency's profile","description":"Cached per contracts version: `ETag` (answer `304` to `If-None-Match`) and `X-Data-Version`; pin the version with `v` (read it from `GET /api/v1/contracts/meta` (`version`) or the `X-Data-Version` header) for a response cached as immutable.","tags":["Contracts"],"parameters":[{"name":"id","in":"path","required":true,"description":"Toptier, subtier or office id.","schema":{"type":"string","pattern":"^\\d{1,19}$"}},{"name":"fy","in":"query","required":false,"description":"Federal fiscal year (October–September, named by the year it ends). Default and fallback for years without data: the latest mostly complete year (`defaultFiscalYear` of /api/v1/contracts/meta).","schema":{"type":"integer","minimum":2000,"maximum":2100}},{"name":"v","in":"query","required":false,"description":"Content version to pin. With the current version the response is immutable (cached for a year); any other value is served as the unpinned URL.","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"The profile.","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"},"ETag":{"$ref":"#/components/headers/ETag"},"X-Data-Version":{"$ref":"#/components/headers/DataVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgencyProfile"}}}},"304":{"$ref":"#/components/responses/NotModified"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/v1/contracts/agencies/8838?fy=2025'"}],"x-caching":"versioned","x-cors":false}},"/api/v1/contracts/opportunities":{"get":{"operationId":"listOpportunities","summary":"SAM.gov notices, 25 per page","description":"Cached per contracts version: `ETag` (answer `304` to `If-None-Match`) and `X-Data-Version`; pin the version with `v` (read it from `GET /api/v1/contracts/meta` (`version`) or the `X-Data-Version` header) for a response cached as immutable.","tags":["Contracts"],"parameters":[{"name":"q","in":"query","required":false,"description":"Words (full text) or a solicitation number.","schema":{"type":"string","maxLength":200}},{"name":"open","in":"query","required":false,"description":"Only notices still open for responses.","schema":{"type":"string","enum":["1"]}},{"name":"type","in":"query","required":false,"description":"Notice base type.","schema":{"type":"string"}},{"name":"category","in":"query","required":false,"description":"Spending category (what was bought). Unknown values are ignored.","schema":{"type":"string","enum":["defense-equipment","it-telecom","research","professional","construction","health","maintenance","facilities","transport","education-social","fuel","supplies","unclassified"]}},{"name":"agency","in":"query","required":false,"description":"Toptier agency id, one of `agencies` in /api/v1/contracts/meta. Other ids are ignored (400 on the awards list).","schema":{"type":"integer","exclusiveMinimum":0}},{"name":"state","in":"query","required":false,"description":"Two-letter state code of the place of performance.","schema":{"type":"string","pattern":"^[A-Za-z]{2}$"}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","enum":["recent","deadline"]}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"v","in":"query","required":false,"description":"Content version to pin. With the current version the response is immutable (cached for a year); any other value is served as the unpinned URL.","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"A page of notices.","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"},"ETag":{"$ref":"#/components/headers/ETag"},"X-Data-Version":{"$ref":"#/components/headers/DataVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpportunityPage"}}}},"304":{"$ref":"#/components/responses/NotModified"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/v1/contracts/opportunities?open=1&sort=deadline'"}],"x-caching":"versioned","x-cors":false}},"/api/v1/contracts/opportunities/{id}":{"get":{"operationId":"getOpportunity","summary":"A SAM.gov notice","description":"Cached per contracts version: `ETag` (answer `304` to `If-None-Match`) and `X-Data-Version`; pin the version with `v` (read it from `GET /api/v1/contracts/meta` (`version`) or the `X-Data-Version` header) for a response cached as immutable.","tags":["Contracts"],"parameters":[{"name":"id","in":"path","required":true,"description":"Notice id.","schema":{"type":"string","pattern":"^[\\w-]{6,64}$"}},{"name":"v","in":"query","required":false,"description":"Content version to pin. With the current version the response is immutable (cached for a year); any other value is served as the unpinned URL.","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"The notice.","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"},"ETag":{"$ref":"#/components/headers/ETag"},"X-Data-Version":{"$ref":"#/components/headers/DataVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpportunityDetail"}}}},"304":{"$ref":"#/components/responses/NotModified"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/v1/contracts/opportunities/9832ec694bd8461bb279fd5f19e43e5a'"}],"x-caching":"versioned","x-cors":false}},"/api/v1/contracts/graph":{"get":{"operationId":"getContractsGraph","summary":"Buyer ↔ recipient network","description":"Cached per contracts version: `ETag` (answer `304` to `If-None-Match`) and `X-Data-Version`; pin the version with `v` (read it from `GET /api/v1/contracts/meta` (`version`) or the `X-Data-Version` header) for a response cached as immutable.","tags":["Contracts"],"parameters":[{"name":"focus","in":"query","required":false,"description":"\"a<agency id>\" or \"r<recipient id>\".","schema":{"type":"string","pattern":"^[ar]\\d+$"}},{"name":"limit","in":"query","required":false,"description":"Edges; rounded down to 20, 40, 80, 160, 240, 320 or 400 (default 160, 80 in focus).","schema":{"type":"integer"}},{"name":"signal","in":"query","required":false,"schema":{"type":"string","enum":["low-competition"]}},{"name":"families","in":"query","required":false,"description":"Merge each company family into one node.","schema":{"type":"string","enum":["1"]}},{"name":"fy","in":"query","required":false,"description":"Federal fiscal year (October–September, named by the year it ends). Default and fallback for years without data: the latest mostly complete year (`defaultFiscalYear` of /api/v1/contracts/meta).","schema":{"type":"integer","minimum":2000,"maximum":2100}},{"name":"category","in":"query","required":false,"description":"Spending category (what was bought). Unknown values are ignored.","schema":{"type":"string","enum":["defense-equipment","it-telecom","research","professional","construction","health","maintenance","facilities","transport","education-social","fuel","supplies","unclassified"]}},{"name":"agency","in":"query","required":false,"description":"Toptier agency id, one of `agencies` in /api/v1/contracts/meta. Other ids are ignored (400 on the awards list).","schema":{"type":"integer","exclusiveMinimum":0}},{"name":"v","in":"query","required":false,"description":"Content version to pin. With the current version the response is immutable (cached for a year); any other value is served as the unpinned URL.","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"The network.","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"},"ETag":{"$ref":"#/components/headers/ETag"},"X-Data-Version":{"$ref":"#/components/headers/DataVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContractsGraph"}}}},"304":{"$ref":"#/components/responses/NotModified"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/v1/contracts/graph?fy=2025&limit=80'"}],"x-caching":"versioned","x-cors":false}},"/api/v1/contracts/relationship":{"get":{"operationId":"getContractsRelationship","summary":"One agency–recipient relationship","description":"Cached per contracts version: `ETag` (answer `304` to `If-None-Match`) and `X-Data-Version`; pin the version with `v` (read it from `GET /api/v1/contracts/meta` (`version`) or the `X-Data-Version` header) for a response cached as immutable.","tags":["Contracts"],"parameters":[{"name":"subtier","in":"query","required":true,"description":"Subtier agency id.","schema":{"type":"integer"}},{"name":"recipient","in":"query","required":true,"description":"Recipient id.","schema":{"type":"string","pattern":"^\\d{1,19}$"}},{"name":"fy","in":"query","required":false,"description":"Federal fiscal year (October–September, named by the year it ends). Default and fallback for years without data: the latest mostly complete year (`defaultFiscalYear` of /api/v1/contracts/meta).","schema":{"type":"integer","minimum":2000,"maximum":2100}},{"name":"v","in":"query","required":false,"description":"Content version to pin. With the current version the response is immutable (cached for a year); any other value is served as the unpinned URL.","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"The relationship.","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"},"ETag":{"$ref":"#/components/headers/ETag"},"X-Data-Version":{"$ref":"#/components/headers/DataVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContractsRelationship"}}}},"304":{"$ref":"#/components/responses/NotModified"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/v1/contracts/relationship?subtier=8917&recipient=2999810&fy=2026'"}],"x-caching":"versioned","x-cors":false}},"/api/v1/contracts/signals/{geoid}":{"get":{"operationId":"getContractsSignals","summary":"Integrity signals of a place","description":"Every integrity signal for the scope with the national value, top contributors and the sole-source justifications cited.\n\nCached per contracts version: `ETag` (answer `304` to `If-None-Match`) and `X-Data-Version`; pin the version with `v` (read it from `GET /api/v1/contracts/meta` (`version`) or the `X-Data-Version` header) for a response cached as immutable.","tags":["Contracts"],"parameters":[{"name":"geoid","in":"path","required":true,"description":"\"US\", a 2-digit state FIPS code or a 5-digit county GEOID.","schema":{"type":"string","pattern":"^(?:US|\\d{2}|\\d{5})$"}},{"name":"fy","in":"query","required":false,"description":"Federal fiscal year (October–September, named by the year it ends). Default and fallback for years without data: the latest mostly complete year (`defaultFiscalYear` of /api/v1/contracts/meta).","schema":{"type":"integer","minimum":2000,"maximum":2100}},{"name":"category","in":"query","required":false,"description":"Spending category (what was bought). Unknown values are ignored.","schema":{"type":"string","enum":["defense-equipment","it-telecom","research","professional","construction","health","maintenance","facilities","transport","education-social","fuel","supplies","unclassified"]}},{"name":"agency","in":"query","required":false,"description":"Toptier agency id, one of `agencies` in /api/v1/contracts/meta. Other ids are ignored (400 on the awards list).","schema":{"type":"integer","exclusiveMinimum":0}},{"name":"v","in":"query","required":false,"description":"Content version to pin. With the current version the response is immutable (cached for a year); any other value is served as the unpinned URL.","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"The signals.","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"},"ETag":{"$ref":"#/components/headers/ETag"},"X-Data-Version":{"$ref":"#/components/headers/DataVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContractsSignals"}}}},"304":{"$ref":"#/components/responses/NotModified"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"},"503":{"$ref":"#/components/responses/ServiceUnavailable"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/v1/contracts/signals/US?fy=2025'"}],"x-caching":"versioned","x-cors":false}},"/api/v1/contracts/rankings":{"get":{"operationId":"getContractsRanking","summary":"A ranking (top 50)","description":"Agencies, offices, recipients or relationships by obligations or an integrity measure, with a minimum size for shares.\n\nCached per contracts version: `ETag` (answer `304` to `If-None-Match`) and `X-Data-Version`; pin the version with `v` (read it from `GET /api/v1/contracts/meta` (`version`) or the `X-Data-Version` header) for a response cached as immutable.","tags":["Contracts"],"parameters":[{"name":"kind","in":"query","required":true,"schema":{"type":"string","enum":["agencies","offices","recipients","relationships"]}},{"name":"metric","in":"query","required":true,"description":"`obligations` or an integrity measure (e.g. `not_competed_share`, `single_offer_share`); see the rankings panel for the list.","schema":{"type":"string"}},{"name":"order","in":"query","required":false,"schema":{"type":"string","enum":["desc","asc"]}},{"name":"place","in":"query","required":false,"description":"Agencies only: a state FIPS or county GEOID.","schema":{"type":"string"}},{"name":"fy","in":"query","required":false,"description":"Federal fiscal year (October–September, named by the year it ends). Default and fallback for years without data: the latest mostly complete year (`defaultFiscalYear` of /api/v1/contracts/meta).","schema":{"type":"integer","minimum":2000,"maximum":2100}},{"name":"category","in":"query","required":false,"description":"Spending category (what was bought). Unknown values are ignored.","schema":{"type":"string","enum":["defense-equipment","it-telecom","research","professional","construction","health","maintenance","facilities","transport","education-social","fuel","supplies","unclassified"]}},{"name":"agency","in":"query","required":false,"description":"Toptier agency id, one of `agencies` in /api/v1/contracts/meta. Other ids are ignored (400 on the awards list).","schema":{"type":"integer","exclusiveMinimum":0}},{"name":"v","in":"query","required":false,"description":"Content version to pin. With the current version the response is immutable (cached for a year); any other value is served as the unpinned URL.","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"The ranking.","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"},"ETag":{"$ref":"#/components/headers/ETag"},"X-Data-Version":{"$ref":"#/components/headers/DataVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContractsRanking"}}}},"304":{"$ref":"#/components/responses/NotModified"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/v1/contracts/rankings?kind=agencies&metric=not_competed_share'"}],"x-caching":"versioned","x-cors":false}},"/api/v1/contracts/flows/{geoid}":{"get":{"operationId":"getContractsFlows","summary":"Money flows (Sankey)","description":"Cached per contracts version: `ETag` (answer `304` to `If-None-Match`) and `X-Data-Version`; pin the version with `v` (read it from `GET /api/v1/contracts/meta` (`version`) or the `X-Data-Version` header) for a response cached as immutable.","tags":["Contracts"],"parameters":[{"name":"geoid","in":"path","required":true,"description":"\"US\", a 2-digit state FIPS code or a 5-digit county GEOID.","schema":{"type":"string","pattern":"^(?:US|\\d{2}|\\d{5})$"}},{"name":"mode","in":"query","required":false,"schema":{"type":"string","enum":["agency-recipient","category-recipient","agency-category"]}},{"name":"fy","in":"query","required":false,"description":"Federal fiscal year (October–September, named by the year it ends). Default and fallback for years without data: the latest mostly complete year (`defaultFiscalYear` of /api/v1/contracts/meta).","schema":{"type":"integer","minimum":2000,"maximum":2100}},{"name":"category","in":"query","required":false,"description":"Spending category (what was bought). Unknown values are ignored.","schema":{"type":"string","enum":["defense-equipment","it-telecom","research","professional","construction","health","maintenance","facilities","transport","education-social","fuel","supplies","unclassified"]}},{"name":"agency","in":"query","required":false,"description":"Toptier agency id, one of `agencies` in /api/v1/contracts/meta. Other ids are ignored (400 on the awards list).","schema":{"type":"integer","exclusiveMinimum":0}},{"name":"v","in":"query","required":false,"description":"Content version to pin. With the current version the response is immutable (cached for a year); any other value is served as the unpinned URL.","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"The flows.","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"},"ETag":{"$ref":"#/components/headers/ETag"},"X-Data-Version":{"$ref":"#/components/headers/DataVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContractsFlows"}}}},"304":{"$ref":"#/components/responses/NotModified"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"},"503":{"$ref":"#/components/responses/ServiceUnavailable"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/v1/contracts/flows/US?mode=agency-category'"}],"x-caching":"versioned","x-cors":false}},"/api/v1/contracts/export/awards":{"get":{"operationId":"exportAwardsCsv","summary":"Awards as CSV (first 10,000 rows)","description":"The awards list with the same filters and order, as a CSV download (UTF-8 with BOM, CRLF). Streamed; one export at a time per server share (503 + `Retry-After` when busy). Text cells that start like a spreadsheet formula are prefixed with an apostrophe.\n\nCached per contracts version: `ETag` (answer `304` to `If-None-Match`) and `X-Data-Version`; pin the version with `v` (read it from `GET /api/v1/contracts/meta` (`version`) or the `X-Data-Version` header) for a response cached as immutable.","tags":["Exports"],"parameters":[{"name":"q","in":"query","required":false,"description":"Words in the description (full text), or a contract number (PIID) prefix.","schema":{"type":"string","maxLength":200}},{"name":"fy","in":"query","required":false,"description":"Fiscal year the award was active in (400 when not loaded).","schema":{"type":"integer","minimum":2000,"maximum":2100}},{"name":"agency","in":"query","required":false,"description":"Toptier agency id, one of `agencies` in /api/v1/contracts/meta. Other ids are ignored (400 on the awards list).","schema":{"type":"integer","exclusiveMinimum":0}},{"name":"subtier","in":"query","required":false,"description":"Awarding subtier agency id.","schema":{"type":"integer"}},{"name":"office","in":"query","required":false,"description":"Awarding office id.","schema":{"type":"integer"}},{"name":"recipient","in":"query","required":false,"description":"Recipient id.","schema":{"type":"string","pattern":"^\\d{1,19}$"}},{"name":"place","in":"query","required":false,"description":"State FIPS or county GEOID of the place of performance.","schema":{"type":"string"}},{"name":"category","in":"query","required":false,"description":"Spending category (what was bought). Unknown values are ignored.","schema":{"type":"string","enum":["defense-equipment","it-telecom","research","professional","construction","health","maintenance","facilities","transport","education-social","fuel","supplies","unclassified"]}},{"name":"competition","in":"query","required":false,"schema":{"type":"string","enum":["competed","not-competed","unknown"]}},{"name":"flag","in":"query","required":false,"description":"Only awards carrying this integrity signal (award-level signals only).","schema":{"type":"string","enum":["low-competition","not-competed","single-offer","urgency","year-end","ceiling-growth","undefinitized","time-materials","threshold-bunching","default-termination","excluded-parties","recurring-sole-source","concentration","opaque-description","code-mismatch","governmental-functions","advisory-services","weak-sole-source"]}},{"name":"sort","in":"query","required":false,"description":"Largest first (default), latest action first, or largest ceiling growth first.","schema":{"type":"string","enum":["value","recent","growth"]}},{"name":"v","in":"query","required":false,"description":"Content version to pin. With the current version the response is immutable (cached for a year); any other value is served as the unpinned URL.","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"The CSV file (`Content-Disposition: attachment`; `X-Row-Limit: 10000`).","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"},"ETag":{"$ref":"#/components/headers/ETag"},"X-Data-Version":{"$ref":"#/components/headers/DataVersion"},"Access-Control-Allow-Origin":{"$ref":"#/components/headers/AllowOrigin"}},"content":{"text/csv; charset=utf-8":{"schema":{"type":"string","contentMediaType":"text/csv","description":"Columns: award_id, piid, description, award_type, awarding_agency, awarding_agency_id, recipient, recipient_id, place_of_performance, place_geoid, category, competition, offers_received, total_obligated_usd, potential_value_usd, first_action_date, last_action_date, analisa_url, source, data_through."}}}},"304":{"$ref":"#/components/responses/NotModified"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"},"503":{"$ref":"#/components/responses/ServiceUnavailable"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/v1/contracts/export/awards?fy=2025&place=06'"}],"x-caching":"versioned","x-cors":true}},"/api/v1/contracts/export/rankings":{"get":{"operationId":"exportRankingCsv","summary":"A ranking as CSV","description":"A server ranking (top 50, as `/api/v1/contracts/rankings`), or with `kind=places` every county or state on a map metric, ranked.\n\nCached per contracts version: `ETag` (answer `304` to `If-None-Match`) and `X-Data-Version`; pin the version with `v` (read it from `GET /api/v1/contracts/meta` (`version`) or the `X-Data-Version` header) for a response cached as immutable.","tags":["Exports"],"parameters":[{"name":"kind","in":"query","required":true,"schema":{"type":"string","enum":["agencies","offices","recipients","relationships","places"]}},{"name":"level","in":"query","required":false,"description":"`kind=places` only.","schema":{"type":"string","enum":["county","state"]}},{"name":"metric","in":"query","required":false,"description":"A ranking metric, or for `kind=places` a map metric (default `obligations`).","schema":{"type":"string"}},{"name":"order","in":"query","required":false,"schema":{"type":"string","enum":["desc","asc"]}},{"name":"place","in":"query","required":false,"description":"Agencies only: a state FIPS or county GEOID.","schema":{"type":"string"}},{"name":"fy","in":"query","required":false,"description":"Federal fiscal year (October–September, named by the year it ends). Default and fallback for years without data: the latest mostly complete year (`defaultFiscalYear` of /api/v1/contracts/meta).","schema":{"type":"integer","minimum":2000,"maximum":2100}},{"name":"category","in":"query","required":false,"description":"Spending category (what was bought). Unknown values are ignored.","schema":{"type":"string","enum":["defense-equipment","it-telecom","research","professional","construction","health","maintenance","facilities","transport","education-social","fuel","supplies","unclassified"]}},{"name":"agency","in":"query","required":false,"description":"Toptier agency id, one of `agencies` in /api/v1/contracts/meta. Other ids are ignored (400 on the awards list).","schema":{"type":"integer","exclusiveMinimum":0}},{"name":"v","in":"query","required":false,"description":"Content version to pin. With the current version the response is immutable (cached for a year); any other value is served as the unpinned URL.","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"The CSV file.","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"},"ETag":{"$ref":"#/components/headers/ETag"},"X-Data-Version":{"$ref":"#/components/headers/DataVersion"},"Access-Control-Allow-Origin":{"$ref":"#/components/headers/AllowOrigin"}},"content":{"text/csv; charset=utf-8":{"schema":{"type":"string","contentMediaType":"text/csv","description":"One row per ranked entity or place, with the metric, unit, value, scope filters, source and data date."}}}},"304":{"$ref":"#/components/responses/NotModified"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/v1/contracts/export/rankings?kind=places&level=state&metric=per_capita'"}],"x-caching":"versioned","x-cors":true}},"/api/v1/contracts/recompetes":{"get":{"operationId":"listRecompetes","summary":"Contracts ending soon (the recompete calendar)","description":"Contract awards whose current period of performance ends between today and the window's end, and whose potential value (base plus every option) is at least the floor, soonest end date first, 25 per page (keyset pagination: pass `nextCursor` back as `cursor`). Each row says whether options remain (an option may be exercised instead of recompeting), whether the award was sole-source, who the incumbent is, and up to three SAM.gov notices that may relate to it (`match`: same solicitation, cites the contract number, or an open notice of the same office for the same NAICS or PSC code, which is only a hint). A recompete candidate is not a prediction: the data cannot tell whether the agency will compete, extend or end the work. End dates are those of the latest loaded modification (`lastActionDate`). With `summary=1` the first page also carries the totals of everything selected, by month and by toptier agency. Anonymous and free callers get the window and the value floor, the soonest ten awards and the totals; one buyer (`agency`, `subtier`, `office`) or one company (`recipient`) shows five rows to everyone, as profiles do. The recompete calendar plan (Pro and above) gets every row and every filter, for a signed-in session or an API key of its owner (`Authorization: Bearer`); the CSV export needs the session. `access` and `filters` in the payload say what applied; `access.ignored` lists the filters a preview dropped. The answer depends on the caller's plan (session or key), so it is `private` and `Vary: Cookie`. An unknown window, value, agency or place, a malformed filter or cursor is a 400.\n\nCached for a short time (see `Cache-Control`).","tags":["Contracts"],"parameters":[{"name":"window","in":"query","required":false,"description":"Months ahead of today (UTC) in which the current period of performance must end. Default 18.","schema":{"type":"number","enum":[6,12,18,24]}},{"name":"min","in":"query","required":false,"description":"Minimum potential value (base plus every option), US dollars. Default and smallest: 1,000,000.","schema":{"type":"number","enum":[1000000,2500000,5000000,10000000,25000000,50000000,100000000]}},{"name":"agency","in":"query","required":false,"description":"Awarding toptier agency id, one of `agencies` in /api/v1/contracts/meta (400 otherwise). Recompete calendar plan.","schema":{"type":"integer","exclusiveMinimum":0}},{"name":"subtier","in":"query","required":false,"description":"Awarding subtier agency id.","schema":{"type":"integer","exclusiveMinimum":0}},{"name":"office","in":"query","required":false,"description":"Awarding office id.","schema":{"type":"integer","exclusiveMinimum":0}},{"name":"recipient","in":"query","required":false,"description":"Incumbent recipient id.","schema":{"type":"string","pattern":"^\\d{1,18}$"}},{"name":"naics","in":"query","required":false,"description":"NAICS code prefix, 2 to 6 digits. Recompete calendar plan.","schema":{"type":"string","pattern":"^\\d{2,6}$"}},{"name":"psc","in":"query","required":false,"description":"Product and service code prefix, 1 to 4 characters. Recompete calendar plan.","schema":{"type":"string","pattern":"^[A-Za-z0-9]{1,4}$"}},{"name":"setAside","in":"query","required":false,"description":"Set-aside group of the award. Recompete calendar plan.","schema":{"type":"string","enum":["none","small-business","8a","hubzone","sdvosb","wosb","veteran","indian","other"]}},{"name":"place","in":"query","required":false,"description":"State FIPS or county GEOID of the place of performance (400 when unknown). Recompete calendar plan.","schema":{"type":"string","pattern":"^(?:US|\\d{2}|\\d{5})$"}},{"name":"sole","in":"query","required":false,"description":"`1`: only awards that were not competed. Recompete calendar plan.","schema":{"type":"string","enum":["0","1"]}},{"name":"options","in":"query","required":false,"description":"Only awards with options left (`with`) or none left (`without`). Recompete calendar plan.","schema":{"type":"string","enum":["any","with","without"]}},{"name":"summary","in":"query","required":false,"description":"`1`: include the totals on the first page.","schema":{"type":"string","enum":["0","1"]}},{"name":"limit","in":"query","required":false,"description":"Rows on the page, 1 to 25 (default 25); a preview's cap applies too.","schema":{"type":"integer","minimum":1,"maximum":25}},{"name":"cursor","in":"query","required":false,"description":"`nextCursor` of the previous page.","schema":{"type":"string"}}],"responses":{"200":{"description":"A page of the calendar.","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecompetePage"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"},"503":{"$ref":"#/components/responses/ServiceUnavailable"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/v1/contracts/recompetes?window=12&min=10000000&summary=1'"}],"x-caching":"short","x-cors":false}},"/api/v1/contracts/export/recompetes":{"get":{"operationId":"exportRecompetesCsv","summary":"The recompete calendar as CSV","description":"The calendar with the same filters and order as `/api/v1/contracts/recompetes`, as a CSV download (UTF-8 with BOM, CRLF), streamed, at most the plan's export rows (`X-Row-Limit`). Part of the recompete calendar plan (Pro and above): 401 when not signed in, 403 on a plan without it. One export at a time per server share (503 + `Retry-After` when busy). Text cells that start like a spreadsheet formula are prefixed with an apostrophe. Private to the signed-in caller (`private`, revalidated by ETag).\n\nCached for a short time (see `Cache-Control`).","tags":["Exports"],"parameters":[{"name":"window","in":"query","required":false,"description":"Months ahead of today (UTC) in which the current period of performance must end. Default 18.","schema":{"type":"number","enum":[6,12,18,24]}},{"name":"min","in":"query","required":false,"description":"Minimum potential value (base plus every option), US dollars. Default and smallest: 1,000,000.","schema":{"type":"number","enum":[1000000,2500000,5000000,10000000,25000000,50000000,100000000]}},{"name":"agency","in":"query","required":false,"description":"Awarding toptier agency id, one of `agencies` in /api/v1/contracts/meta (400 otherwise). Recompete calendar plan.","schema":{"type":"integer","exclusiveMinimum":0}},{"name":"subtier","in":"query","required":false,"description":"Awarding subtier agency id.","schema":{"type":"integer","exclusiveMinimum":0}},{"name":"office","in":"query","required":false,"description":"Awarding office id.","schema":{"type":"integer","exclusiveMinimum":0}},{"name":"recipient","in":"query","required":false,"description":"Incumbent recipient id.","schema":{"type":"string","pattern":"^\\d{1,18}$"}},{"name":"naics","in":"query","required":false,"description":"NAICS code prefix, 2 to 6 digits. Recompete calendar plan.","schema":{"type":"string","pattern":"^\\d{2,6}$"}},{"name":"psc","in":"query","required":false,"description":"Product and service code prefix, 1 to 4 characters. Recompete calendar plan.","schema":{"type":"string","pattern":"^[A-Za-z0-9]{1,4}$"}},{"name":"setAside","in":"query","required":false,"description":"Set-aside group of the award. Recompete calendar plan.","schema":{"type":"string","enum":["none","small-business","8a","hubzone","sdvosb","wosb","veteran","indian","other"]}},{"name":"place","in":"query","required":false,"description":"State FIPS or county GEOID of the place of performance (400 when unknown). Recompete calendar plan.","schema":{"type":"string","pattern":"^(?:US|\\d{2}|\\d{5})$"}},{"name":"sole","in":"query","required":false,"description":"`1`: only awards that were not competed. Recompete calendar plan.","schema":{"type":"string","enum":["0","1"]}},{"name":"options","in":"query","required":false,"description":"Only awards with options left (`with`) or none left (`without`). Recompete calendar plan.","schema":{"type":"string","enum":["any","with","without"]}}],"responses":{"200":{"description":"The CSV file (`Content-Disposition: attachment`).","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"}},"content":{"text/csv; charset=utf-8":{"schema":{"type":"string","contentMediaType":"text/csv","description":"Columns: award_id, piid, description, award_type, awarding_agency, awarding_agency_id, awarding_office, incumbent, incumbent_id, place_of_performance, place_geoid, naics, psc, set_aside, competition, sole_source, potential_value_usd, total_obligated_usd, current_end_date, potential_end_date, options_remaining, days_to_end, last_action_date, analisa_url, source, data_through, as_of."}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"},"503":{"$ref":"#/components/responses/ServiceUnavailable"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/v1/contracts/export/recompetes?window=12&naics=5415'"}],"x-caching":"short","x-cors":false}},"/api/v1/contracts/recipients/{id}/competitors":{"get":{"operationId":"getRecipientCompetitors","summary":"Competitors of a company","description":"Companies that win from the same buyers in the same markets as the company (the recipient's whole company family). A market is a subtier agency × NAICS industry group (first four digits of the award's code); the company's obligations by market over the three fiscal years ending in `fy` are compared with every other company's by weighted Jaccard similarity (`similarity`, 0 to 1), so a company of the same size and mix ranks above a giant that merely also sells there. The 300 largest markets of the company are compared and the 500 companies sharing the most dollars are ranked; organizations only. Each competitor carries its obligations by year, the percent change between the last two complete years and its top three shared markets. Prime contract obligations only: subawards are never added. Everyone gets the top three; a plan that includes the feature gets the full lists. The payload is built for the caller's plan (`access` says which: rows beyond `limit` are never sent), so the response depends on the session: it is `Vary: Cookie`, and for a caller with the plan it is `private`. `format=csv` downloads the full list (UTF-8 with BOM; 401 signed out, 402 or 403 without the plan). 404 for an unknown recipient.\n\nCached per contracts version: `ETag` (answer `304` to `If-None-Match`) and `X-Data-Version`; pin the version with `v` (read it from `GET /api/v1/contracts/meta` (`version`) or the `X-Data-Version` header) for a response cached as immutable.","tags":["Contracts"],"parameters":[{"name":"id","in":"path","required":true,"description":"Contract recipient id (any entity of the company).","schema":{"type":"string","pattern":"^\\d{1,18}$"}},{"name":"fy","in":"query","required":false,"description":"Fiscal year the three-year window ends in. Default and fallback: `defaultFiscalYear` of /api/v1/contracts/meta.","schema":{"type":"integer","minimum":2000,"maximum":2100}},{"name":"format","in":"query","required":false,"description":"`csv`: the full list as a download (needs the plan). Default `json`.","schema":{"type":"string","enum":["json","csv"]}},{"name":"v","in":"query","required":false,"description":"Content version to pin. With the current version the response is immutable (cached for a year); any other value is served as the unpinned URL.","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"The company's competitors. With `format=csv` (the plan's full list).","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"},"ETag":{"$ref":"#/components/headers/ETag"},"X-Data-Version":{"$ref":"#/components/headers/DataVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompetitorsRecipient"}},"text/csv; charset=utf-8":{"schema":{"type":"string","contentMediaType":"text/csv","description":"Columns: rank, competitor_id, competitor, location, entities, similarity, overlap_usd, overlap_share_of_company_percent, obligations_usd, obligations_fy<year>_usd (one per window year), change_percent, shared_markets, shared_market_count, company_id, company, window, source, data_through."}}}},"304":{"$ref":"#/components/responses/NotModified"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"},"503":{"$ref":"#/components/responses/ServiceUnavailable"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/v1/contracts/recipients/1461780/competitors?fy=2026'"}],"x-caching":"versioned","x-cors":false}},"/api/v1/subawards/recipients/{id}/teaming":{"get":{"operationId":"getRecipientTeaming","summary":"Teaming partners of a company","description":"The companies a company reported paying as a prime (`subcontractors`), the primes that reported paying it (`primes`), and potential partners: sub-recipients that the company's competitors (see the competitors route) reported paying and that have no report with the company in either direction, ranked by how many competitors paid them. The company is the recipient's whole family (every entity's UEI); a partner that is a contract recipient is its whole family too. Every loaded fiscal year is counted; each partner lists its fiscal years and, for sub-contracts, the industries and buyers of the prime awards behind it. Reported amounts are first-tier subawards primes report themselves (FFATA; many go unreported), money already inside the primes' obligations: never add them to prime totals. Organizations only. Everyone gets the top three; a plan that includes the feature gets the full lists. The payload is built for the caller's plan (`access` says which: rows beyond `limit` are never sent), so the response depends on the session: it is `Vary: Cookie`, and for a caller with the plan it is `private`. Potential partners and `format=csv` (the full lists in one table) are part of the plan (401 signed out, 402 or 403 without it). 404 for an unknown recipient.\n\nCached per subawards version: `ETag` (answer `304` to `If-None-Match`) and `X-Data-Version`; pin the version with `v` (read it from the `X-Data-Version` header of a subawards response, which combines the contracts and subawards versions) for a response cached as immutable.","tags":["Subawards"],"parameters":[{"name":"id","in":"path","required":true,"description":"Contract recipient id (any entity of the company).","schema":{"type":"string","pattern":"^\\d{1,18}$"}},{"name":"format","in":"query","required":false,"description":"`csv`: every list as one table, for a caller with the plan. Default `json`.","schema":{"type":"string","enum":["json","csv"]}},{"name":"v","in":"query","required":false,"description":"Content version to pin. With the current version the response is immutable (cached for a year); any other value is served as the unpinned URL.","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"The company's teaming partners. With `format=csv`.","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"},"ETag":{"$ref":"#/components/headers/ETag"},"X-Data-Version":{"$ref":"#/components/headers/DataVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamingRecipient"}},"text/csv; charset=utf-8":{"schema":{"type":"string","contentMediaType":"text/csv","description":"Columns: relationship (subcontractor, prime, potential partner), rank, partner, partner_uei, partner_recipient_id, location, reported_usd, subawards, fiscal_years, competitors_paying, top_industries, top_agencies, paid_by, company_id, company, source, data_through."}}}},"304":{"$ref":"#/components/responses/NotModified"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"},"503":{"$ref":"#/components/responses/ServiceUnavailable"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/v1/subawards/recipients/1461780/teaming'"}],"x-caching":"versioned","x-cors":false}},"/api/v1/assistance/meta":{"get":{"operationId":"getAssistanceMeta","summary":"Fiscal years, agencies and freshness","description":"The loaded fiscal years, the agency filter options (assistance agency ids), the date the data is current to and the assistance data version.\n\nCached per assistance version: `ETag` (answer `304` to `If-None-Match`) and `X-Data-Version`; pin the version with `v` (read it from `GET /api/v1/assistance/meta` (`version`) or the `X-Data-Version` header) for a response cached as immutable.","tags":["Assistance"],"parameters":[{"name":"v","in":"query","required":false,"description":"Content version to pin. With the current version the response is immutable (cached for a year); any other value is served as the unpinned URL.","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"The metadata.","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"},"ETag":{"$ref":"#/components/headers/ETag"},"X-Data-Version":{"$ref":"#/components/headers/DataVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssistanceMeta"}}}},"304":{"$ref":"#/components/responses/NotModified"},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/v1/assistance/meta'"}],"x-caching":"versioned","x-cors":false}},"/api/v1/assistance/map":{"get":{"operationId":"getAssistanceMap","summary":"One value per county or state","description":"Obligations, obligations per resident, or loan face value (`face_value`) by place of performance. Unknown `level` or `metric` values fall back to `county` and `obligations`.\n\nCached per assistance version: `ETag` (answer `304` to `If-None-Match`) and `X-Data-Version`; pin the version with `v` (read it from `GET /api/v1/assistance/meta` (`version`) or the `X-Data-Version` header) for a response cached as immutable.","tags":["Assistance"],"parameters":[{"name":"level","in":"query","required":false,"description":"Default `county`.","schema":{"type":"string","enum":["county","state"]}},{"name":"metric","in":"query","required":false,"description":"Default `obligations`.","schema":{"type":"string","enum":["obligations","per_capita","face_value"]}},{"name":"fy","in":"query","required":false,"description":"Federal fiscal year (October–September, named by the year it ends). Default and fallback for years without data: `defaultFiscalYear` of /api/v1/assistance/meta.","schema":{"type":"integer","minimum":2000,"maximum":2100}},{"name":"type","in":"query","required":false,"description":"Assistance type group. Unknown values are ignored (every type).","schema":{"type":"string","enum":["grants","loans","direct-payments","insurance","other"]}},{"name":"agency","in":"query","required":false,"description":"Toptier assistance agency id, one of `agencies` in /api/v1/assistance/meta (not a contracts id). Other ids are ignored.","schema":{"type":"integer","exclusiveMinimum":0}},{"name":"v","in":"query","required":false,"description":"Content version to pin. With the current version the response is immutable (cached for a year); any other value is served as the unpinned URL.","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"The map values.","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"},"ETag":{"$ref":"#/components/headers/ETag"},"X-Data-Version":{"$ref":"#/components/headers/DataVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssistanceMap"}}}},"304":{"$ref":"#/components/responses/NotModified"},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/v1/assistance/map?level=state&metric=per_capita'"}],"x-caching":"versioned","x-cors":false}},"/api/v1/assistance/places/{geoid}":{"get":{"operationId":"getAssistancePlace","summary":"A place's assistance summary","description":"KPIs against the previous year, monthly and yearly series, types, programs, top agencies and top organizations. County aggregates and individuals are counted in the totals (`aggregateShare`, `individualShare`), never listed. A metro area's figures are the sum of its counties'.\n\nCached per assistance version: `ETag` (answer `304` to `If-None-Match`) and `X-Data-Version`; pin the version with `v` (read it from `GET /api/v1/assistance/meta` (`version`) or the `X-Data-Version` header) for a response cached as immutable.","tags":["Assistance"],"parameters":[{"name":"geoid","in":"path","required":true,"description":"\"US\", a 2-digit state FIPS code, a 5-digit county GEOID or a metro area GEOID (`M` + the 5-digit CBSA code, \"M12420\"). A metro area's money is the sum of its counties'.","schema":{"type":"string","pattern":"^(?:US|\\d{2}|\\d{5}|M\\d{5})$"}},{"name":"fy","in":"query","required":false,"description":"Federal fiscal year (October–September, named by the year it ends). Default and fallback for years without data: `defaultFiscalYear` of /api/v1/assistance/meta.","schema":{"type":"integer","minimum":2000,"maximum":2100}},{"name":"type","in":"query","required":false,"description":"Assistance type group. Unknown values are ignored (every type).","schema":{"type":"string","enum":["grants","loans","direct-payments","insurance","other"]}},{"name":"agency","in":"query","required":false,"description":"Toptier assistance agency id, one of `agencies` in /api/v1/assistance/meta (not a contracts id). Other ids are ignored.","schema":{"type":"integer","exclusiveMinimum":0}},{"name":"v","in":"query","required":false,"description":"Content version to pin. With the current version the response is immutable (cached for a year); any other value is served as the unpinned URL.","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"The summary.","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"},"ETag":{"$ref":"#/components/headers/ETag"},"X-Data-Version":{"$ref":"#/components/headers/DataVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssistancePlaceSummary"}}}},"304":{"$ref":"#/components/responses/NotModified"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"},"503":{"$ref":"#/components/responses/ServiceUnavailable"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/v1/assistance/places/06?fy=2025&type=grants'"}],"x-caching":"versioned","x-cors":false}},"/api/v1/assistance/recipients/{id}":{"get":{"operationId":"getAssistanceRecipient","summary":"Assistance an organization received","description":"404 when it received none in the loaded years (or it is not an organization: individuals and county aggregates have no profile).\n\nCached per assistance version: `ETag` (answer `304` to `If-None-Match`) and `X-Data-Version`; pin the version with `v` (read it from `GET /api/v1/assistance/meta` (`version`) or the `X-Data-Version` header) for a response cached as immutable.","tags":["Assistance"],"parameters":[{"name":"id","in":"path","required":true,"description":"A contracts recipient id (the same organization, matched by its UEI) or \"g<id>\" for a recipient with assistance only (the `link` of a ranked recipient).","schema":{"type":"string","pattern":"^g?\\d{1,18}$"}},{"name":"fy","in":"query","required":false,"description":"Federal fiscal year (October–September, named by the year it ends). Default and fallback for years without data: `defaultFiscalYear` of /api/v1/assistance/meta.","schema":{"type":"integer","minimum":2000,"maximum":2100}},{"name":"v","in":"query","required":false,"description":"Content version to pin. With the current version the response is immutable (cached for a year); any other value is served as the unpinned URL.","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"The profile.","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"},"ETag":{"$ref":"#/components/headers/ETag"},"X-Data-Version":{"$ref":"#/components/headers/DataVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssistanceRecipientProfile"}}}},"304":{"$ref":"#/components/responses/NotModified"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/v1/assistance/recipients/3002653?fy=2025'"}],"x-caching":"versioned","x-cors":false}},"/api/v1/assistance/agencies/{id}":{"get":{"operationId":"getAssistanceAgency","summary":"Assistance an agency awarded","description":"A toptier agency (its subtiers together) or a subtier agency. 404 for offices and for agencies that awarded no assistance.\n\nCached per assistance version: `ETag` (answer `304` to `If-None-Match`) and `X-Data-Version`; pin the version with `v` (read it from `GET /api/v1/assistance/meta` (`version`) or the `X-Data-Version` header) for a response cached as immutable.","tags":["Assistance"],"parameters":[{"name":"id","in":"path","required":true,"description":"Contracts toptier or subtier agency id (as in /api/v1/contracts/agencies/{id}); matched to the assistance agency by level and code.","schema":{"type":"string","pattern":"^\\d{1,9}$"}},{"name":"fy","in":"query","required":false,"description":"Federal fiscal year (October–September, named by the year it ends). Default and fallback for years without data: `defaultFiscalYear` of /api/v1/assistance/meta.","schema":{"type":"integer","minimum":2000,"maximum":2100}},{"name":"v","in":"query","required":false,"description":"Content version to pin. With the current version the response is immutable (cached for a year); any other value is served as the unpinned URL.","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"The profile.","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"},"ETag":{"$ref":"#/components/headers/ETag"},"X-Data-Version":{"$ref":"#/components/headers/DataVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssistanceAgencyProfile"}}}},"304":{"$ref":"#/components/responses/NotModified"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/v1/assistance/agencies/8933?fy=2025'"}],"x-caching":"versioned","x-cors":false}},"/api/v1/assistance/programs":{"get":{"operationId":"listAssistancePrograms","summary":"Assistance Listings ranked by obligations (top 25)","description":"Programs of a fiscal year, optionally of one type group and matching `q`. With `type=loans` the ranking and shares follow face value (loan obligations are subsidy costs).\n\nCached per assistance version: `ETag` (answer `304` to `If-None-Match`) and `X-Data-Version`; pin the version with `v` (read it from `GET /api/v1/assistance/meta` (`version`) or the `X-Data-Version` header) for a response cached as immutable.","tags":["Assistance"],"parameters":[{"name":"q","in":"query","required":false,"description":"An Assistance Listing number (e.g. `93.778`) or title words; trimmed to 80 characters (400 beyond 160).","schema":{"type":"string","maxLength":160}},{"name":"fy","in":"query","required":false,"description":"Federal fiscal year (October–September, named by the year it ends). Default and fallback for years without data: `defaultFiscalYear` of /api/v1/assistance/meta.","schema":{"type":"integer","minimum":2000,"maximum":2100}},{"name":"type","in":"query","required":false,"description":"Assistance type group. Unknown values are ignored (every type).","schema":{"type":"string","enum":["grants","loans","direct-payments","insurance","other"]}},{"name":"v","in":"query","required":false,"description":"Content version to pin. With the current version the response is immutable (cached for a year); any other value is served as the unpinned URL.","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"The ranking.","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"},"ETag":{"$ref":"#/components/headers/ETag"},"X-Data-Version":{"$ref":"#/components/headers/DataVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssistanceProgramRanking"}}}},"304":{"$ref":"#/components/responses/NotModified"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/v1/assistance/programs?fy=2025&q=medicaid'"}],"x-caching":"versioned","x-cors":false}},"/api/v1/subawards/awards/{id}":{"get":{"operationId":"getAwardSubawards","summary":"Subawards reported on a contract award","description":"Totals, the largest sub-recipients and the largest subawards the prime reported, every loaded year. `reported` is null when it reported none; 404 for an unknown award.\n\nCached per subawards version: `ETag` (answer `304` to `If-None-Match`) and `X-Data-Version`; pin the version with `v` (read it from the `X-Data-Version` header of a subawards response, which combines the contracts and subawards versions) for a response cached as immutable.","tags":["Subawards"],"parameters":[{"name":"id","in":"path","required":true,"description":"Contract award id (as in /api/v1/contracts/awards/{id}).","schema":{"type":"string","pattern":"^\\d{1,18}$"}},{"name":"v","in":"query","required":false,"description":"Content version to pin. With the current version the response is immutable (cached for a year); any other value is served as the unpinned URL.","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"The award's subawards.","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"},"ETag":{"$ref":"#/components/headers/ETag"},"X-Data-Version":{"$ref":"#/components/headers/DataVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubawardsAward"}}}},"304":{"$ref":"#/components/responses/NotModified"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/v1/subawards/awards/18603297'"}],"x-caching":"versioned","x-cors":false}},"/api/v1/subawards/recipients/{id}":{"get":{"operationId":"getRecipientSubawards","summary":"A recipient as prime and as sub-recipient","description":"The sub-recipients a contract recipient reported paying and the primes that reported paying it (matched by UEI), for a fiscal year, with both amounts by year. 404 for an unknown recipient.\n\nCached per subawards version: `ETag` (answer `304` to `If-None-Match`) and `X-Data-Version`; pin the version with `v` (read it from the `X-Data-Version` header of a subawards response, which combines the contracts and subawards versions) for a response cached as immutable.","tags":["Subawards"],"parameters":[{"name":"id","in":"path","required":true,"description":"Contract recipient id.","schema":{"type":"string","pattern":"^\\d{1,18}$"}},{"name":"fy","in":"query","required":false,"description":"Federal fiscal year of the subaward actions. Follows the contracts years: default and fallback `defaultFiscalYear` of /api/v1/contracts/meta (years before `firstFiscalYear` of the payload have no subawards loaded).","schema":{"type":"integer","minimum":2000,"maximum":2100}},{"name":"v","in":"query","required":false,"description":"Content version to pin. With the current version the response is immutable (cached for a year); any other value is served as the unpinned URL.","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"The recipient's subawards.","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"},"ETag":{"$ref":"#/components/headers/ETag"},"X-Data-Version":{"$ref":"#/components/headers/DataVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubawardsRecipient"}}}},"304":{"$ref":"#/components/responses/NotModified"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/v1/subawards/recipients/1458732?fy=2026'"}],"x-caching":"versioned","x-cors":false}},"/api/v1/subawards/agencies/{id}":{"get":{"operationId":"getAgencySubawards","summary":"Subawards under an agency's prime awards","description":"Totals by kind and the largest sub-recipients under a toptier or subtier agency's prime awards in a fiscal year. 404 for offices and unknown agencies.\n\nCached per subawards version: `ETag` (answer `304` to `If-None-Match`) and `X-Data-Version`; pin the version with `v` (read it from the `X-Data-Version` header of a subawards response, which combines the contracts and subawards versions) for a response cached as immutable.","tags":["Subawards"],"parameters":[{"name":"id","in":"path","required":true,"description":"Contracts toptier or subtier agency id.","schema":{"type":"string","pattern":"^\\d{1,10}$"}},{"name":"fy","in":"query","required":false,"description":"Federal fiscal year of the subaward actions. Follows the contracts years: default and fallback `defaultFiscalYear` of /api/v1/contracts/meta (years before `firstFiscalYear` of the payload have no subawards loaded).","schema":{"type":"integer","minimum":2000,"maximum":2100}},{"name":"v","in":"query","required":false,"description":"Content version to pin. With the current version the response is immutable (cached for a year); any other value is served as the unpinned URL.","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"The agency's subawards.","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"},"ETag":{"$ref":"#/components/headers/ETag"},"X-Data-Version":{"$ref":"#/components/headers/DataVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubawardsAgency"}}}},"304":{"$ref":"#/components/responses/NotModified"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/v1/subawards/agencies/8838?fy=2026'"}],"x-caching":"versioned","x-cors":false}},"/api/v1/contracts/exclusions/recipients/{id}":{"get":{"operationId":"getRecipientExclusions","summary":"A recipient's exclusions","description":"Its SAM.gov exclusion records and its awards with actions dated during one; every loaded year (exclusions span years). `exclusions` are exact identifier matches (reported); `possible` are name matches an AI judged likely (shown, never counted). Only exclusions that bar awards count, and only new awards, options and added work. 404 when it has none.\n\nCached per exclusions version: `ETag` (answer `304` to `If-None-Match`) and `X-Data-Version`; pin the version with `v` (read it from the `X-Data-Version` header of an exclusions response, which combines the contracts and exclusions versions) for a response cached as immutable.","tags":["Exclusions"],"parameters":[{"name":"id","in":"path","required":true,"description":"Contract recipient id.","schema":{"type":"string","pattern":"^\\d{1,18}$"}},{"name":"v","in":"query","required":false,"description":"Content version to pin. With the current version the response is immutable (cached for a year); any other value is served as the unpinned URL.","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"The exclusions.","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"},"ETag":{"$ref":"#/components/headers/ETag"},"X-Data-Version":{"$ref":"#/components/headers/DataVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExclusionsRecipient"}}}},"304":{"$ref":"#/components/responses/NotModified"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/v1/contracts/exclusions/recipients/1461087'"}],"x-caching":"versioned","x-cors":false}},"/api/v1/contracts/exclusions/awards/{id}":{"get":{"operationId":"getAwardExclusions","summary":"An award's actions during an exclusion","description":"The recipient's exclusions and the award's actions dated while one was in effect. `exclusions` are exact identifier matches (reported); `possible` are name matches an AI judged likely (shown, never counted). Only exclusions that bar awards count, and only new awards, options and added work. 404 when the recipient has no exclusion.\n\nCached per exclusions version: `ETag` (answer `304` to `If-None-Match`) and `X-Data-Version`; pin the version with `v` (read it from the `X-Data-Version` header of an exclusions response, which combines the contracts and exclusions versions) for a response cached as immutable.","tags":["Exclusions"],"parameters":[{"name":"id","in":"path","required":true,"description":"Contract award id.","schema":{"type":"string","pattern":"^\\d{1,18}$"}},{"name":"v","in":"query","required":false,"description":"Content version to pin. With the current version the response is immutable (cached for a year); any other value is served as the unpinned URL.","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"The award's actions.","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"},"ETag":{"$ref":"#/components/headers/ETag"},"X-Data-Version":{"$ref":"#/components/headers/DataVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExclusionsAward"}}}},"304":{"$ref":"#/components/responses/NotModified"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/v1/contracts/exclusions/awards/37562989'"}],"x-caching":"versioned","x-cors":false}},"/api/v1/contracts/exclusions/agencies/{id}":{"get":{"operationId":"getAgencyExclusions","summary":"Awards an agency made to excluded parties","description":"Counted actions of a toptier, subtier or office in a fiscal year and in every loaded year, the recipients and the awards (exact identifier matches only). 404 when there are none.\n\nCached per exclusions version: `ETag` (answer `304` to `If-None-Match`) and `X-Data-Version`; pin the version with `v` (read it from the `X-Data-Version` header of an exclusions response, which combines the contracts and exclusions versions) for a response cached as immutable.","tags":["Exclusions"],"parameters":[{"name":"id","in":"path","required":true,"description":"Contracts toptier, subtier or office id.","schema":{"type":"string","pattern":"^\\d{1,10}$"}},{"name":"fy","in":"query","required":false,"description":"Federal fiscal year (October–September, named by the year it ends). Default and fallback for years without data: the latest mostly complete year (`defaultFiscalYear` of /api/v1/contracts/meta).","schema":{"type":"integer","minimum":2000,"maximum":2100}},{"name":"v","in":"query","required":false,"description":"Content version to pin. With the current version the response is immutable (cached for a year); any other value is served as the unpinned URL.","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"The agency's awards to excluded parties.","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"},"ETag":{"$ref":"#/components/headers/ETag"},"X-Data-Version":{"$ref":"#/components/headers/DataVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExclusionsAgency"}}}},"304":{"$ref":"#/components/responses/NotModified"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/v1/contracts/exclusions/agencies/8926?fy=2024'"}],"x-caching":"versioned","x-cors":false}},"/api/v1/influence/recipients/{id}":{"get":{"operationId":"getRecipientInfluence","summary":"Lobbying and PACs of a recipient's company family","description":"Lobbying disclosures (House Clerk: LD-2 reports, LD-203 contributions) and PAC activity (FEC) of the organizations matched to the recipient's company family, every loaded year and cycle. Organizations are matched to contract recipients by AI name judgments (`matches`, `ai`): the links are inferred, and a match shows a correlation, never influence. Empty `matches` (and null `lobbying`, `pacs`) when nothing matched; 404 for an unknown recipient.\n\nCached per influence version: `ETag` (answer `304` to `If-None-Match`) and `X-Data-Version`; pin the version with `v` (read it from the `X-Data-Version` header of an influence response, which combines the contracts, company-family and influence versions) for a response cached as immutable.","tags":["Influence"],"parameters":[{"name":"id","in":"path","required":true,"description":"Contract recipient id.","schema":{"type":"string","pattern":"^\\d{1,18}$"}},{"name":"v","in":"query","required":false,"description":"Content version to pin. With the current version the response is immutable (cached for a year); any other value is served as the unpinned URL.","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"The family's lobbying and PAC activity.","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"},"ETag":{"$ref":"#/components/headers/ETag"},"X-Data-Version":{"$ref":"#/components/headers/DataVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InfluenceRecipient"}}}},"304":{"$ref":"#/components/responses/NotModified"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/v1/influence/recipients/1461780'"}],"x-caching":"versioned","x-cors":false}},"/api/v1/influence/recipients/{id}/congress":{"get":{"operationId":"getRecipientCongress","summary":"Members and bills beside a recipient's lobbying and PACs","description":"Through the organizations matched to the recipient's company family: members of Congress whose campaigns received contributions from their PACs in the latest two FEC cycles (amount and number of PACs; members' current or latest seat), and the bills and resolutions their current lobbying reports named in issue descriptions (each reference resolved to a Congress from the report's period, explicit markers and the bill's title; the description itself is not stored). Comparisons, not causes: nothing says why a contribution was made, how a member voted or which side a report took. Organizations are matched to contract recipients by AI name judgments (`matches`, `ai`): the links are inferred, and a match shows a correlation, never influence. Versioned on both the influence and the Congress data. 404 for an unknown recipient.\n\nCached per influence version: `ETag` (answer `304` to `If-None-Match`) and `X-Data-Version`; pin the version with `v` (read it from the `X-Data-Version` header of an influence response, which combines the contracts, company-family and influence versions) for a response cached as immutable.","tags":["Influence"],"parameters":[{"name":"id","in":"path","required":true,"description":"Contract recipient id.","schema":{"type":"string","pattern":"^\\d{1,18}$"}},{"name":"v","in":"query","required":false,"description":"Content version to pin. With the current version the response is immutable (cached for a year); any other value is served as the unpinned URL.","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"Members and bills beside the family's lobbying and PACs.","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"},"ETag":{"$ref":"#/components/headers/ETag"},"X-Data-Version":{"$ref":"#/components/headers/DataVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InfluenceRecipientCongress"}}}},"304":{"$ref":"#/components/responses/NotModified"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"},"503":{"$ref":"#/components/responses/ServiceUnavailable"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/v1/influence/recipients/1455292/congress'"}],"x-caching":"versioned","x-cors":false}},"/api/v1/influence/agencies/{id}":{"get":{"operationId":"getAgencyInfluence","summary":"Who lobbies an agency","description":"Organizations whose lobbying reports list a toptier or subtier agency, for the calendar year named like the fiscal year (else the nearest loaded one), ranked by spend. A report's amount covers all its issues and agencies (reports do not split it). For matched organizations, the share of their family's contract obligations in the fiscal year that came from the agency. Organizations are matched to contract recipients by AI name judgments (`matches`, `ai`): the links are inferred, and a match shows a correlation, never influence. Clients that may be people are counted in `unnamed`, never named. 404 for offices and agencies lobbying reports do not name.\n\nCached per influence version: `ETag` (answer `304` to `If-None-Match`) and `X-Data-Version`; pin the version with `v` (read it from the `X-Data-Version` header of an influence response, which combines the contracts, company-family and influence versions) for a response cached as immutable.","tags":["Influence"],"parameters":[{"name":"id","in":"path","required":true,"description":"Contracts toptier or subtier agency id.","schema":{"type":"string","pattern":"^\\d{1,9}$"}},{"name":"fy","in":"query","required":false,"description":"Federal fiscal year (October–September, named by the year it ends). Default and fallback for years without data: the latest mostly complete year (`defaultFiscalYear` of /api/v1/contracts/meta).","schema":{"type":"integer","minimum":2000,"maximum":2100}},{"name":"v","in":"query","required":false,"description":"Content version to pin. With the current version the response is immutable (cached for a year); any other value is served as the unpinned URL.","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"The agency's lobbying clients.","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"},"ETag":{"$ref":"#/components/headers/ETag"},"X-Data-Version":{"$ref":"#/components/headers/DataVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InfluenceAgency"}}}},"304":{"$ref":"#/components/responses/NotModified"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/v1/influence/agencies/8838?fy=2025'"}],"x-caching":"versioned","x-cors":false}},"/api/v1/outcomes/meta":{"get":{"operationId":"getOutcomesMeta","summary":"Domains, outcomes, crosswalk and method","description":"The money domains, the outcomes, every domain–outcome pairing with its rationale, lag, caveat and finding (strength, shocks, interval, placebo), the method's parameters, coverage (fiscal years, shock counts) and the caveats to show.\n\nCached per outcomes version: `ETag` (answer `304` to `If-None-Match`) and `X-Data-Version`; pin the version with `v` (read it from `GET /api/v1/outcomes/meta` (`version`) or the `X-Data-Version` header) for a response cached as immutable.","tags":["Outcomes"],"parameters":[{"name":"v","in":"query","required":false,"description":"Content version to pin. With the current version the response is immutable (cached for a year); any other value is served as the unpinned URL.","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"The metadata.","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"},"ETag":{"$ref":"#/components/headers/ETag"},"X-Data-Version":{"$ref":"#/components/headers/DataVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OutcomesMeta"}}}},"304":{"$ref":"#/components/responses/NotModified"},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/v1/outcomes/meta'"}],"x-caching":"versioned","x-cors":false}},"/api/v1/outcomes/places/{geoid}":{"get":{"operationId":"getOutcomesPlace","summary":"Money and outcomes of a place","description":"Money per resident by domain and fiscal year (with the nation's), the related outcomes by calendar year (with the nation's, and their change since the base year), and spending shocks: a county's own, each with its matched comparison counties and event study per outcome; a state's counties' (summaries). 404 for an unknown place.\n\nCached per outcomes version: `ETag` (answer `304` to `If-None-Match`) and `X-Data-Version`; pin the version with `v` (read it from `GET /api/v1/outcomes/meta` (`version`) or the `X-Data-Version` header) for a response cached as immutable.","tags":["Outcomes"],"parameters":[{"name":"geoid","in":"path","required":true,"description":"\"US\", a 2-digit state FIPS code or a 5-digit county GEOID.","schema":{"type":"string","pattern":"^(?:US|\\d{2}|\\d{5})$"}},{"name":"v","in":"query","required":false,"description":"Content version to pin. With the current version the response is immutable (cached for a year); any other value is served as the unpinned URL.","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"The place's money, outcomes and shocks.","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"},"ETag":{"$ref":"#/components/headers/ETag"},"X-Data-Version":{"$ref":"#/components/headers/DataVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OutcomesPlace"}}}},"304":{"$ref":"#/components/responses/NotModified"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/v1/outcomes/places/16001'"}],"x-caching":"versioned","x-cors":false}},"/api/v1/outcomes/effects":{"get":{"operationId":"getOutcomesEffects","summary":"Pooled comparison of a pairing","description":"For one domain–outcome pairing of the crosswalk: the pooled event study (mean difference in change between shock counties and their comparison counties by relative year, 95% bootstrap interval clustered by county, number of shocks), the placebo, the finding and the shocks behind it. 400 for a pair outside the crosswalk.\n\nCached per outcomes version: `ETag` (answer `304` to `If-None-Match`) and `X-Data-Version`; pin the version with `v` (read it from `GET /api/v1/outcomes/meta` (`version`) or the `X-Data-Version` header) for a response cached as immutable.","tags":["Outcomes"],"parameters":[{"name":"domain","in":"query","required":true,"description":"Money domain.","schema":{"type":"string","enum":["contracts","construction-contracts","contracts-and-grants","transportation-grants","housing-assistance","health-grants","sba-lending"]}},{"name":"outcome","in":"query","required":true,"description":"Outcome (indicator key); the pair must be in the crosswalk.","schema":{"type":"string","enum":["job_growth_rate","average_weekly_wage","unemployment_rate","per_capita_income","median_household_income","poverty_rate","typical_home_value","market_rent","housing_permits_rate","business_applications_rate","net_domestic_migration_rate","uninsured_rate"]}},{"name":"v","in":"query","required":false,"description":"Content version to pin. With the current version the response is immutable (cached for a year); any other value is served as the unpinned URL.","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"The pairing's pooled comparison.","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"},"ETag":{"$ref":"#/components/headers/ETag"},"X-Data-Version":{"$ref":"#/components/headers/DataVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OutcomesEffects"}}}},"304":{"$ref":"#/components/responses/NotModified"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/v1/outcomes/effects?domain=contracts&outcome=job_growth_rate'"}],"x-caching":"versioned","x-cors":false}},"/api/v1/congress/meta":{"get":{"operationId":"getCongressMeta","summary":"Loaded Congresses, next election and provenance","description":"The loaded Congresses (dates, district plan, roll calls per chamber, bills, laws, last vote, which is current), the next federal general election, the plan and fiscal years of contract money by district, the content hash of each plan's district shapes, and the sources. Its `version` pins the Congress routes that follow only Congress data.\n\nCached per congress version: `ETag` (answer `304` to `If-None-Match`) and `X-Data-Version`; pin the version with `v` (read it from `GET /api/v1/congress/meta` (`version`) or the `X-Data-Version` header) for a response cached as immutable.","tags":["Congress"],"parameters":[{"name":"v","in":"query","required":false,"description":"Content version to pin. With the current version the response is immutable (cached for a year); any other value is served as the unpinned URL.","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"The metadata.","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"},"ETag":{"$ref":"#/components/headers/ETag"},"X-Data-Version":{"$ref":"#/components/headers/DataVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CongressMeta"}}}},"304":{"$ref":"#/components/responses/NotModified"},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/v1/congress/meta'"}],"x-caching":"versioned","x-cors":false}},"/api/v1/congress/chamber":{"get":{"operationId":"getCongressChamber","summary":"Everyone who sat in a chamber","description":"One entry per member and seat during the Congress: party and caucus, seat, dates served, whether seated on the reference date, and activity (roll calls held while serving, missed, party-unity votes and those cast with the caucus majority, DW-NOMINATE first dimension, bills sponsored and enacted, cosponsorships across the aisle), with the vacancies and the chamber's roll-call counts as denominators. Volume and attendance, never a grade. House positions come from the House Clerk; Senate positions and DW-NOMINATE scores from Voteview (senate.gov blocks automated access), cited as Lewis, Poole, Rosenthal, Boche, Rudkin & Sonnet, Voteview: Congressional Roll-Call Votes Database.\n\nCached per congress version: `ETag` (answer `304` to `If-None-Match`) and `X-Data-Version`; pin the version with `v` (read it from `GET /api/v1/congress/meta` (`version`) or the `X-Data-Version` header) for a response cached as immutable.","tags":["Congress"],"parameters":[{"name":"congress","in":"query","required":false,"description":"Congress number, one of `congresses` in /api/v1/congress/meta. Default: the current Congress; one not loaded answers 400.","schema":{"type":"integer","minimum":100,"maximum":999}},{"name":"chamber","in":"query","required":true,"description":"`house` or `senate`.","schema":{"type":"string","enum":["house","senate"]}},{"name":"v","in":"query","required":false,"description":"Content version to pin. With the current version the response is immutable (cached for a year); any other value is served as the unpinned URL.","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"The chamber.","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"},"ETag":{"$ref":"#/components/headers/ETag"},"X-Data-Version":{"$ref":"#/components/headers/DataVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CongressChamber"}}}},"304":{"$ref":"#/components/responses/NotModified"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"},"503":{"$ref":"#/components/responses/ServiceUnavailable"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/v1/congress/chamber?congress=119&chamber=senate'"}],"x-caching":"versioned","x-cors":false}},"/api/v1/congress/votes":{"get":{"operationId":"listCongressVotes","summary":"Roll calls","description":"Roll calls of a Congress, newest first, 50 per page (pass `next` back as `cursor`), with totals and party tallies. Recorded roll calls only: voice votes and unanimous consent record no positions, and none is inferred. House positions come from the House Clerk; Senate positions and DW-NOMINATE scores from Voteview (senate.gov blocks automated access), cited as Lewis, Poole, Rosenthal, Boche, Rudkin & Sonnet, Voteview: Congressional Roll-Call Votes Database.\n\nCached per congress version: `ETag` (answer `304` to `If-None-Match`) and `X-Data-Version`; pin the version with `v` (read it from `GET /api/v1/congress/meta` (`version`) or the `X-Data-Version` header) for a response cached as immutable.","tags":["Congress"],"parameters":[{"name":"congress","in":"query","required":false,"description":"Congress number, one of `congresses` in /api/v1/congress/meta. Default: the current Congress; one not loaded answers 400.","schema":{"type":"integer","minimum":100,"maximum":999}},{"name":"chamber","in":"query","required":false,"description":"`house`, `senate` or `all` (default).","schema":{"type":"string","enum":["house","senate","all"]}},{"name":"category","in":"query","required":false,"description":"Kind of question.","schema":{"type":"string","enum":["passage","amendment","procedural","cloture","nomination","other"]}},{"name":"q","in":"query","required":false,"description":"A bill number (\"H.R. 3684\", in the chosen Congress) or words matched in the question, description, measure or bill title (first 120 characters).","schema":{"type":"string"}},{"name":"bill","in":"query","required":false,"description":"Only roll calls on this bill (\"119-hr-3684\").","schema":{"type":"string","pattern":"^\\d{2,3}-(?:hr|s|hjres|sjres|hconres|sconres|hres|sres)-\\d{1,5}$"}},{"name":"member","in":"query","required":false,"description":"Only roll calls this member (Bioguide id, upper case) has a recorded position on.","schema":{"type":"string","pattern":"^[A-Z]\\d{6}$"}},{"name":"cursor","in":"query","required":false,"description":"`next` of the previous page.","schema":{"type":"string","maxLength":64}},{"name":"v","in":"query","required":false,"description":"Content version to pin. With the current version the response is immutable (cached for a year); any other value is served as the unpinned URL.","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"A page of roll calls.","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"},"ETag":{"$ref":"#/components/headers/ETag"},"X-Data-Version":{"$ref":"#/components/headers/DataVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CongressVotesPage"}}}},"304":{"$ref":"#/components/responses/NotModified"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/v1/congress/votes?congress=119&chamber=house&category=passage'"}],"x-caching":"versioned","x-cors":false}},"/api/v1/congress/votes/{id}":{"get":{"operationId":"getCongressVote","summary":"A roll call and every recorded position","description":"Every member's position as recorded (yea, nay, present, not voting, or a name in Speaker elections), party tallies, which Democrats and Republicans voted against their party's majority, the measure and the other roll calls on it. `sourceId` names the record the positions come from. House positions come from the House Clerk; Senate positions and DW-NOMINATE scores from Voteview (senate.gov blocks automated access), cited as Lewis, Poole, Rosenthal, Boche, Rudkin & Sonnet, Voteview: Congressional Roll-Call Votes Database. 404 for an unknown roll call.\n\nCached per congress version: `ETag` (answer `304` to `If-None-Match`) and `X-Data-Version`; pin the version with `v` (read it from `GET /api/v1/congress/meta` (`version`) or the `X-Data-Version` header) for a response cached as immutable.","tags":["Congress"],"parameters":[{"name":"id","in":"path","required":true,"description":"Roll call id: chamber initial, Congress, session and roll number (\"h119-1-145\").","schema":{"type":"string","pattern":"^[hs]\\d{2,3}-[1-3]-\\d{1,4}$"}},{"name":"v","in":"query","required":false,"description":"Content version to pin. With the current version the response is immutable (cached for a year); any other value is served as the unpinned URL.","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"The roll call.","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"},"ETag":{"$ref":"#/components/headers/ETag"},"X-Data-Version":{"$ref":"#/components/headers/DataVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CongressVote"}}}},"304":{"$ref":"#/components/responses/NotModified"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/v1/congress/votes/h119-1-145'"}],"x-caching":"versioned","x-cors":false}},"/api/v1/congress/bills":{"get":{"operationId":"listCongressBills","summary":"Bills and resolutions","description":"Bills and resolutions of a Congress, latest action first (by relevance for a text search), 50 per page with the total (pass `next` back as `cursor`). Stage is the furthest reached, from the Library of Congress action codes; the policy area is the one CRS assigned.\n\nCached per congress version: `ETag` (answer `304` to `If-None-Match`) and `X-Data-Version`; pin the version with `v` (read it from `GET /api/v1/congress/meta` (`version`) or the `X-Data-Version` header) for a response cached as immutable.","tags":["Congress"],"parameters":[{"name":"congress","in":"query","required":false,"description":"Congress number, one of `congresses` in /api/v1/congress/meta. Default: the current Congress; one not loaded answers 400.","schema":{"type":"integer","minimum":100,"maximum":999}},{"name":"q","in":"query","required":false,"description":"A bill number (\"H.R. 3684\") finds that measure in the chosen Congress; words search titles, subjects and CRS summaries (first 120 characters).","schema":{"type":"string"}},{"name":"stage","in":"query","required":false,"description":"Furthest stage reached.","schema":{"type":"string","enum":["introduced","reported","passed_one","passed_both","to_president","law","vetoed","failed"]}},{"name":"area","in":"query","required":false,"description":"CRS policy area.","schema":{"type":"string","enum":["Agriculture and Food","Animals","Armed Forces and National Security","Arts, Culture, Religion","Civil Rights and Liberties, Minority Issues","Commerce","Congress","Crime and Law Enforcement","Economics and Public Finance","Education","Emergency Management","Energy","Environmental Protection","Families","Finance and Financial Sector","Foreign Trade and International Finance","Government Operations and Politics","Health","Housing and Community Development","Immigration","International Affairs","Labor and Employment","Law","Native Americans","Private Legislation","Public Lands and Natural Resources","Science, Technology, Communications","Social Sciences and History","Social Welfare","Sports and Recreation","Taxation","Transportation and Public Works","Water Resources Development"]}},{"name":"sponsor","in":"query","required":false,"description":"Sponsor's Bioguide id (upper case).","schema":{"type":"string","pattern":"^[A-Z]\\d{6}$"}},{"name":"cursor","in":"query","required":false,"description":"`next` of the previous page.","schema":{"type":"string","maxLength":64}},{"name":"v","in":"query","required":false,"description":"Content version to pin. With the current version the response is immutable (cached for a year); any other value is served as the unpinned URL.","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"A page of bills.","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"},"ETag":{"$ref":"#/components/headers/ETag"},"X-Data-Version":{"$ref":"#/components/headers/DataVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CongressBillsPage"}}}},"304":{"$ref":"#/components/responses/NotModified"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/v1/congress/bills?congress=119&stage=law'"}],"x-caching":"versioned","x-cors":false}},"/api/v1/congress/bills/{id}":{"get":{"operationId":"getCongressBill","summary":"A bill's record","description":"Titles, the latest CRS summary, subjects, committees, the action history, cosponsors (original, withdrawn), the roll calls on it, the toptier agencies under its committees' jurisdiction (Analisa's mapping), and the organizations that named it in lobbying reports, each with its AI match to a contract recipient and the match probability: disclosed activity, never evidence of influence. 404 for an unknown bill.\n\nCached per congress version: `ETag` (answer `304` to `If-None-Match`) and `X-Data-Version`; pin the version with `v` (read it from `GET /api/v1/congress/meta` (`version`) or the `X-Data-Version` header) for a response cached as immutable.","tags":["Congress"],"parameters":[{"name":"id","in":"path","required":true,"description":"Bill id: Congress, type and number (\"119-hr-1\").","schema":{"type":"string","pattern":"^\\d{2,3}-(?:hr|s|hjres|sjres|hconres|sconres|hres|sres)-\\d{1,5}$"}},{"name":"v","in":"query","required":false,"description":"Content version to pin. With the current version the response is immutable (cached for a year); any other value is served as the unpinned URL.","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"The bill.","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"},"ETag":{"$ref":"#/components/headers/ETag"},"X-Data-Version":{"$ref":"#/components/headers/DataVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CongressBill"}}}},"304":{"$ref":"#/components/responses/NotModified"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/v1/congress/bills/119-hr-1'"}],"x-caching":"versioned","x-cors":false}},"/api/v1/congress/search":{"get":{"operationId":"searchCongress","summary":"Search members and bills","description":"Members by name (sitting members first) and bills by number (any loaded Congress) or by words (full text, the current Congress first). Names and words need at least 3 characters; a bill number may be shorter.\n\nCached per congress version: `ETag` (answer `304` to `If-None-Match`) and `X-Data-Version`; pin the version with `v` (read it from `GET /api/v1/congress/meta` (`version`) or the `X-Data-Version` header) for a response cached as immutable.","tags":["Congress"],"parameters":[{"name":"q","in":"query","required":true,"description":"A name, a bill number (\"H.R. 3684\") or words (first 120 characters). Under 2 letters or digits answers 400.","schema":{"type":"string"}},{"name":"v","in":"query","required":false,"description":"Content version to pin. With the current version the response is immutable (cached for a year); any other value is served as the unpinned URL.","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"Up to 8 members and 8 bills.","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"},"ETag":{"$ref":"#/components/headers/ETag"},"X-Data-Version":{"$ref":"#/components/headers/DataVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CongressSearchResults"}}}},"304":{"$ref":"#/components/responses/NotModified"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/v1/congress/search?q=water%20resources'"}],"x-caching":"versioned","x-cors":false}},"/api/v1/congress/patterns":{"get":{"operationId":"getCongressPatterns","summary":"How a chamber voted","description":"Roll calls by category and pass rate, votes per day, the monthly share of party-unity votes, how often both parties' majorities voted the same way, the members with the most party-unity votes against their caucus, the closest votes, bills by furthest stage reached and laws by policy area. Recorded roll calls only: voice votes and unanimous consent record no positions, and none is inferred.\n\nCached per congress version: `ETag` (answer `304` to `If-None-Match`) and `X-Data-Version`; pin the version with `v` (read it from `GET /api/v1/congress/meta` (`version`) or the `X-Data-Version` header) for a response cached as immutable.","tags":["Congress"],"parameters":[{"name":"congress","in":"query","required":false,"description":"Congress number, one of `congresses` in /api/v1/congress/meta. Default: the current Congress; one not loaded answers 400.","schema":{"type":"integer","minimum":100,"maximum":999}},{"name":"chamber","in":"query","required":true,"description":"`house` or `senate`.","schema":{"type":"string","enum":["house","senate"]}},{"name":"v","in":"query","required":false,"description":"Content version to pin. With the current version the response is immutable (cached for a year); any other value is served as the unpinned URL.","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"The chamber's patterns.","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"},"ETag":{"$ref":"#/components/headers/ETag"},"X-Data-Version":{"$ref":"#/components/headers/DataVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CongressPatterns"}}}},"304":{"$ref":"#/components/responses/NotModified"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"},"503":{"$ref":"#/components/responses/ServiceUnavailable"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/v1/congress/patterns?congress=119&chamber=senate'"}],"x-caching":"versioned","x-cors":false}},"/api/v1/congress/members/{id}":{"get":{"operationId":"getCongressMember","summary":"A member's record","description":"Terms, contact, committee seats, recorded activity per loaded Congress (roll calls, missed votes, party-unity votes with the caucus, rank among members with at least 100 roll calls), DW-NOMINATE placement, the latest passage and amendment votes and breaks with the caucus, sponsored bills and identifiers (GovTrack, OpenSecrets, Wikidata, Ballotpedia, FEC). Volume and attendance, never a grade. House positions come from the House Clerk; Senate positions and DW-NOMINATE scores from Voteview (senate.gov blocks automated access), cited as Lewis, Poole, Rosenthal, Boche, Rudkin & Sonnet, Voteview: Congressional Roll-Call Votes Database. 404 for an unknown member.\n\nCached per congress version: `ETag` (answer `304` to `If-None-Match`) and `X-Data-Version`; pin the version with `v` (read it from `GET /api/v1/congress/meta` (`version`) or the `X-Data-Version` header) for a response cached as immutable.","tags":["Congress"],"parameters":[{"name":"id","in":"path","required":true,"description":"Bioguide id (\"S001231\", any case).","schema":{"type":"string","pattern":"^[A-Za-z]\\d{6}$"}},{"name":"v","in":"query","required":false,"description":"Content version to pin. With the current version the response is immutable (cached for a year); any other value is served as the unpinned URL.","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"The member.","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"},"ETag":{"$ref":"#/components/headers/ETag"},"X-Data-Version":{"$ref":"#/components/headers/DataVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CongressMember"}}}},"304":{"$ref":"#/components/responses/NotModified"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"},"503":{"$ref":"#/components/responses/ServiceUnavailable"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/v1/congress/members/S001231'"}],"x-caching":"versioned","x-cors":false}},"/api/v1/congress/members/{id}/money":{"get":{"operationId":"getCongressMemberMoney","summary":"Money a member's campaigns received","description":"Per loaded FEC cycle: contributions the member's campaigns received from political committees (direct and in-kind, by kind of giving committee), the part received from PACs whose sponsoring organization is matched by AI to a federal contract recipient (each match with its probability; the largest ten PACs beside that recipient's contract obligations), and the FEC summaries of the member's candidacies. Comparisons, not causes: money given and received is shown next to contracts, never why it was given or what followed. 404 for an unknown member.\n\nCached per congress-money version: `ETag` (answer `304` to `If-None-Match`) and `X-Data-Version`; pin the version with `v` (read it from the `X-Data-Version` header (or `version`) of a response of the same route, which combines the Congress version with the contracts version (committees, districts, district money) or the influence version (a member's money)) for a response cached as immutable.","tags":["Congress"],"parameters":[{"name":"id","in":"path","required":true,"description":"Bioguide id (\"S001231\", any case).","schema":{"type":"string","pattern":"^[A-Za-z]\\d{6}$"}},{"name":"v","in":"query","required":false,"description":"Content version to pin. With the current version the response is immutable (cached for a year); any other value is served as the unpinned URL.","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"The member's campaign money.","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"},"ETag":{"$ref":"#/components/headers/ETag"},"X-Data-Version":{"$ref":"#/components/headers/DataVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CongressMemberMoney"}}}},"304":{"$ref":"#/components/responses/NotModified"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"},"503":{"$ref":"#/components/responses/ServiceUnavailable"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/v1/congress/members/S001231/money'"}],"x-caching":"versioned","x-cors":false}},"/api/v1/congress/committees/{id}":{"get":{"operationId":"getCongressCommittee","summary":"A committee or subcommittee","description":"Current members as published (title, side, rank), subcommittees, the toptier agencies in its jurisdiction (Analisa's mapping) with their contract obligations in the latest closed fiscal year, and the bills referred to it in the current Congress. 404 for an unknown committee.\n\nCached per congress-money version: `ETag` (answer `304` to `If-None-Match`) and `X-Data-Version`; pin the version with `v` (read it from the `X-Data-Version` header (or `version`) of a response of the same route, which combines the Congress version with the contracts version (committees, districts, district money) or the influence version (a member's money)) for a response cached as immutable.","tags":["Congress"],"parameters":[{"name":"id","in":"path","required":true,"description":"Committee id (\"HSAP\"), or a subcommittee's (\"HSAP02\"); any case.","schema":{"type":"string","pattern":"^[HSJhsj][A-Za-z]{3}(?:\\d{2})?$"}},{"name":"v","in":"query","required":false,"description":"Content version to pin. With the current version the response is immutable (cached for a year); any other value is served as the unpinned URL.","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"The committee.","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"},"ETag":{"$ref":"#/components/headers/ETag"},"X-Data-Version":{"$ref":"#/components/headers/DataVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CongressCommittee"}}}},"304":{"$ref":"#/components/responses/NotModified"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/v1/congress/committees/HSAP'"}],"x-caching":"versioned","x-cors":false}},"/api/v1/congress/districts/{plan}/{id}":{"get":{"operationId":"getCongressDistrict","summary":"A congressional district","description":"Residents, land area, counties (shares both ways), the members who held the seat while the plan was in force, the state's senators, and the contract obligations attributed to the district by place of performance (weighted by its share of each ZIP code and county: an estimate). 404 when the plan has no such district.\n\nCached per congress-money version: `ETag` (answer `304` to `If-None-Match`) and `X-Data-Version`; pin the version with `v` (read it from the `X-Data-Version` header (or `version`) of a response of the same route, which combines the Congress version with the contracts version (committees, districts, district money) or the influence version (a member's money)) for a response cached as immutable.","tags":["Congress"],"parameters":[{"name":"plan","in":"path","required":true,"description":"District plan (`cd` + the first Congress that sat in it).","schema":{"type":"string","enum":["cd116","cd118","cd119"]}},{"name":"id","in":"path","required":true,"description":"District id: state postal code and number (\"CA-12\"), at large \"AK-AL\" or \"AK-00\".","schema":{"type":"string","pattern":"^[A-Za-z]{2}[-_]?(?:AL|al|\\d{1,2})$"}},{"name":"v","in":"query","required":false,"description":"Content version to pin. With the current version the response is immutable (cached for a year); any other value is served as the unpinned URL.","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"The district.","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"},"ETag":{"$ref":"#/components/headers/ETag"},"X-Data-Version":{"$ref":"#/components/headers/DataVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CongressDistrict"}}}},"304":{"$ref":"#/components/responses/NotModified"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/v1/congress/districts/cd119/CA-12'"}],"x-caching":"versioned","x-cors":false}},"/api/v1/congress/money":{"get":{"operationId":"getCongressDistrictMoney","summary":"Contract money by district","description":"Contract obligations attributed to every district of a plan in one fiscal year, and per resident: an estimate, by the district's share of each ZIP code and county. Both parameters are required.\n\nCached per congress-money version: `ETag` (answer `304` to `If-None-Match`) and `X-Data-Version`; pin the version with `v` (read it from the `X-Data-Version` header (or `version`) of a response of the same route, which combines the Congress version with the contracts version (committees, districts, district money) or the influence version (a member's money)) for a response cached as immutable.","tags":["Congress"],"parameters":[{"name":"plan","in":"query","required":true,"description":"District plan (`moneyPlan` of /api/v1/congress/meta).","schema":{"type":"string","enum":["cd116","cd118","cd119"]}},{"name":"fy","in":"query","required":true,"description":"Federal fiscal year, one of `moneyFiscalYears` in /api/v1/congress/meta; others answer 400.","schema":{"type":"integer"}},{"name":"v","in":"query","required":false,"description":"Content version to pin. With the current version the response is immutable (cached for a year); any other value is served as the unpinned URL.","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"Every district's obligations.","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"},"ETag":{"$ref":"#/components/headers/ETag"},"X-Data-Version":{"$ref":"#/components/headers/DataVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CongressDistrictMoneyMap"}}}},"304":{"$ref":"#/components/responses/NotModified"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/v1/congress/money?plan=cd119&fy=2025'"}],"x-caching":"versioned","x-cors":false}},"/api/v1/elections/races":{"get":{"operationId":"getElectionRaces","summary":"Every race of the cycle","description":"Every House district and Senate seat of the next general election's cycle: the candidates listed (those whose campaigns received at least $5,000, and incumbents), up to three leaders by money received with their FEC summaries and the part received from PACs whose sponsor is matched by AI to a federal contract recipient, and the sitting member. Candidates are those who filed with the FEC for the seat in the cycle, including those who lost a primary or withdrew: never the ballot, which comes from the state election office.\n\nCached per elections version: `ETag` (answer `304` to `If-None-Match`) and `X-Data-Version`; pin the version with `v` (read it from the `X-Data-Version` header (or `version`) of a races response, which combines the Congress, influence and contracts versions) for a response cached as immutable.","tags":["Elections"],"parameters":[{"name":"v","in":"query","required":false,"description":"Content version to pin. With the current version the response is immutable (cached for a year); any other value is served as the unpinned URL.","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"The races.","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"},"ETag":{"$ref":"#/components/headers/ETag"},"X-Data-Version":{"$ref":"#/components/headers/DataVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ElectionsOverview"}}}},"304":{"$ref":"#/components/responses/NotModified"},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"},"503":{"$ref":"#/components/responses/ServiceUnavailable"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/v1/elections/races'"}],"x-caching":"versioned","x-cors":false}},"/api/v1/elections/races/{id}":{"get":{"operationId":"getElectionRace","summary":"One race","description":"Every listed candidate and the money their campaign received, the sitting member's (for a Senate race, both senators') recorded activity in the current Congress, and for a House race the federal money in the district under the current plan (contracts attributed to it; assistance programs to its counties weighted by its share of their residents: estimates) and its counties. Candidates are those who filed with the FEC for the seat in the cycle, including those who lost a primary or withdrew: never the ballot, which comes from the state election office. 404 for a seat with neither candidates nor a sitting member.\n\nCached per elections version: `ETag` (answer `304` to `If-None-Match`) and `X-Data-Version`; pin the version with `v` (read it from the `X-Data-Version` header (or `version`) of a races response, which combines the Congress, influence and contracts versions) for a response cached as immutable.","tags":["Elections"],"parameters":[{"name":"id","in":"path","required":true,"description":"Race id: a House district (\"ca-12\", at large \"ak-al\") or \"<state>-senate\" (\"ca-senate\"), lower case.","schema":{"type":"string","pattern":"^[a-z]{2}-(?:al|\\d{2}|senate)$"}},{"name":"v","in":"query","required":false,"description":"Content version to pin. With the current version the response is immutable (cached for a year); any other value is served as the unpinned URL.","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"The race.","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"},"ETag":{"$ref":"#/components/headers/ETag"},"X-Data-Version":{"$ref":"#/components/headers/DataVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ElectionRace"}}}},"304":{"$ref":"#/components/responses/NotModified"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"},"503":{"$ref":"#/components/responses/ServiceUnavailable"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/v1/elections/races/ca-12'"}],"x-caching":"versioned","x-cors":false}},"/api/v1/elections/record":{"get":{"operationId":"getElectionRecord","summary":"Vote the record","description":"Up to 6 contested final-passage roll calls per chamber of the current Congress in the chosen policy areas (bills and joint resolutions with a CRS summary, yeas between 15% and 85% of those voting, widened to any opposition when too few), areas taken in turn: the same set for everyone with the same district and areas. Each with its CRS summary excerpt, each party's majority side, and the recorded positions of the district's representative and its state's senators. Recorded votes only.\n\nCached per congress version: `ETag` (answer `304` to `If-None-Match`) and `X-Data-Version`; pin the version with `v` (read it from `GET /api/v1/congress/meta` (`version`) or the `X-Data-Version` header) for a response cached as immutable.","tags":["Elections"],"parameters":[{"name":"district","in":"query","required":true,"description":"District id under the current plan (\"CA-12\", at large \"AK-AL\").","schema":{"type":"string","pattern":"^[A-Za-z]{2}[-_]?(?:AL|al|\\d{1,2})$"}},{"name":"areas","in":"query","required":false,"description":"Up to 8 CRS policy areas, comma-separated (\"Health,Taxation\"); none means every area. An unknown area answers 400.","schema":{"type":"string"}},{"name":"v","in":"query","required":false,"description":"Content version to pin. With the current version the response is immutable (cached for a year); any other value is served as the unpinned URL.","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"The roll calls and positions.","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"},"ETag":{"$ref":"#/components/headers/ETag"},"X-Data-Version":{"$ref":"#/components/headers/DataVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ElectionRecord"}}}},"304":{"$ref":"#/components/responses/NotModified"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"},"503":{"$ref":"#/components/responses/ServiceUnavailable"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/v1/elections/record?district=CA-12&areas=Health,Taxation'"}],"x-caching":"versioned","x-cors":false}},"/api/v1/elections/districts":{"get":{"operationId":"getElectionPlaceDistricts","summary":"Congressional districts of a place","description":"The congressional districts of a county or city under the current plan, with the share of its residents in each (a city through its counties: an estimate where it spans district lines). Empty when none is known.\n\nCached per congress version: `ETag` (answer `304` to `If-None-Match`) and `X-Data-Version`; pin the version with `v` (read it from `GET /api/v1/congress/meta` (`version`) or the `X-Data-Version` header) for a response cached as immutable.","tags":["Elections"],"parameters":[{"name":"geoid","in":"query","required":true,"description":"A county (5-digit) or city (7-digit) GEOID.","schema":{"type":"string","pattern":"^(?:\\d{5}|\\d{7})$"}},{"name":"v","in":"query","required":false,"description":"Content version to pin. With the current version the response is immutable (cached for a year); any other value is served as the unpinned URL.","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"The districts.","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"},"ETag":{"$ref":"#/components/headers/ETag"},"X-Data-Version":{"$ref":"#/components/headers/DataVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ElectionPlaceDistricts"}}}},"304":{"$ref":"#/components/responses/NotModified"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/v1/elections/districts?geoid=06001'"}],"x-caching":"versioned","x-cors":false}},"/api/v1/elections/ballots/{geoid}":{"get":{"operationId":"getElectionBallots","summary":"How mail and provisional ballots were counted","description":"Mail ballots transmitted, returned, counted and rejected (with the reasons reported and their shares) and provisional ballots cast, counted and rejected in each general election, from the EAC Election Administration and Voting Survey, for a county, a state or the nation, with its state and the nation for comparison. Aggregates only: no voter is identified. Counts are null where offices did not report them. 404 for an unknown place.\n\nCached per ballots version: `ETag` (answer `304` to `If-None-Match`) and `X-Data-Version`; pin the version with `v` (read it from the `X-Data-Version` header (or `version`) of any ballots response; it changes when a new EAC EAVS release is loaded) for a response cached as immutable.","tags":["Elections"],"parameters":[{"name":"geoid","in":"path","required":true,"description":"\"US\", a 2-digit state FIPS code or a 5-digit county GEOID.","schema":{"type":"string","pattern":"^(?:US|\\d{2}|\\d{5})$"}},{"name":"v","in":"query","required":false,"description":"Content version to pin. With the current version the response is immutable (cached for a year); any other value is served as the unpinned URL.","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"The ballot counts.","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"},"ETag":{"$ref":"#/components/headers/ETag"},"X-Data-Version":{"$ref":"#/components/headers/DataVersion"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ElectionBallots"}}}},"304":{"$ref":"#/components/responses/NotModified"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/v1/elections/ballots/06001'"}],"x-caching":"versioned","x-cors":false}},"/api/v1/screening/check":{"post":{"operationId":"checkSuppliers","summary":"Check suppliers against SAM.gov exclusions","description":"Checks up to 100 suppliers by UEI and/or CAGE code against the SAM.gov exclusions, synchronously, with the function the bulk screening of the account area uses. A result is `active` when a record that lists the supplier's UEI or CAGE code is currently listed, `ended` when only records SAM.gov no longer lists do, and `none` otherwise; each reported record carries its excluding agency, type, dates and SAM.gov link, and whether it bars federal contract awards. Suppliers with a UEI found among the federal contract recipients also get their obligations of the last three fiscal years, the awards dated while they were excluded, and whether they have lobbying disclosures (AI-matched). Only identifiers match: a name never finds an exclusion here (the account's list screening searches names and labels them possible matches). Results reflect the exclusions as SAM.gov published them at the vintage in `sources`: always confirm in SAM.gov before making a decision. Part of the supplier screening plan: send an API key (Team plan) or call it signed in (Pro); each supplier counts one row of the monthly allowance shared with uploads, and a call that does not fit is refused whole with 402. Send `Content-Type: application/json` (415 otherwise). Never cached.\n\nNever cached.","tags":["Screening"],"parameters":[],"requestBody":{"required":true,"description":"The suppliers to check.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScreeningCheckRequest"},"example":{"suppliers":[{"uei":"Q54JKCJTAP64"},{"cage":"3HS96"},{"uei":"ZZZZZZZZZZZZ","cage":"1A2B3"}]}}}},"security":[{"ApiKey":[]}],"responses":{"200":{"description":"One result per supplier, in request order.","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScreeningCheckResponse"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"402":{"$ref":"#/components/responses/PaymentRequired"},"403":{"$ref":"#/components/responses/Forbidden"},"413":{"$ref":"#/components/responses/PayloadTooLarge"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"},"503":{"$ref":"#/components/responses/ServiceUnavailable"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl -X POST 'https://tryanalisa.com/api/v1/screening/check' \\\n  -H \"Authorization: Bearer $ANALISA_API_KEY\" \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"suppliers\":[{\"uei\":\"Q54JKCJTAP64\"},{\"cage\":\"3HS96\"},{\"uei\":\"ZZZZZZZZZZZZ\",\"cage\":\"1A2B3\"}]}'"}],"x-caching":"none","x-cors":false}},"/api/v1/where-to-live":{"post":{"operationId":"rankWhereToLive","summary":"Rank places for a person's criteria","description":"Ranks the cities, metro areas or counties of the datasets for a person's criteria: where they want to live, household, housing budget, priorities, climate, a commute destination and must-haves. Pure formulas, no model: hard filters first (each removal counted by reason), then the weighted quality of life on the person's priorities (the catalog's two-level aggregation), a climate preference as one more category, penalties for housing over budget (capped, so an otherwise ideal place stays visible and flagged) and at most `perMetro` results per metro area (with a commute destination the cap is lifted to `limit`, because every commutable place sits in one or two metro areas). Housing costs are the typical asking rent, or the mortgage payment at the current Freddie Mac rate plus property tax; commutes are straight-line estimates, not routes. Every figure's source, vintage and period are in `provenance`. Anonymous calls are limited to 60 a minute per client; with an API key, to 600 a minute besides the plan's daily allowance. Send `Content-Type: application/json` (415 otherwise).\n\nNever cached.","tags":["Where to live"],"parameters":[{"name":"rate","in":"query","required":false,"description":"A 30-year mortgage rate (%) used only while the published rate is missing; the response says which rate it used.","schema":{"type":"number","minimum":0.5,"maximum":20}}],"requestBody":{"required":true,"description":"The criteria; send only what is known.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WhereToLiveCriteria"},"example":{"level":"city","states":["TX","CO"],"sizes":["mid-size"],"housing":{"mode":"rent","monthlyBudget":2200},"household":{"adults":2,"preschoolers":1},"priorities":{"safety":5,"education":4},"climate":"mild","limit":10}}}},"responses":{"200":{"description":"The ranked places.","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"},"Access-Control-Allow-Origin":{"$ref":"#/components/headers/AllowOrigin"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WhereToLiveResponse"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"413":{"$ref":"#/components/responses/PayloadTooLarge"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"},"503":{"$ref":"#/components/responses/ServiceUnavailable"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl -X POST 'https://tryanalisa.com/api/v1/where-to-live' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"level\":\"city\",\"states\":[\"TX\",\"CO\"],\"sizes\":[\"mid-size\"],\"housing\":{\"mode\":\"rent\",\"monthlyBudget\":2200},\"household\":{\"adults\":2,\"preschoolers\":1},\"priorities\":{\"safety\":5,\"education\":4},\"climate\":\"mild\",\"limit\":10}'"}],"x-caching":"none","x-cors":true},"get":{"operationId":"getWhereToLive","summary":"Rank places for compact criteria (cacheable)","description":"The same ranking for the compact criteria the /where-to-live page puts in its links: `c` is the base64url of the criteria JSON with defaults left out. An unreadable value gives the defaults, and a value with some invalid fields keeps the valid ones. Ranks the cities, metro areas or counties of the datasets for a person's criteria: where they want to live, household, housing budget, priorities, climate, a commute destination and must-haves. Pure formulas, no model: hard filters first (each removal counted by reason), then the weighted quality of life on the person's priorities (the catalog's two-level aggregation), a climate preference as one more category, penalties for housing over budget (capped, so an otherwise ideal place stays visible and flagged) and at most `perMetro` results per metro area (with a commute destination the cap is lifted to `limit`, because every commutable place sits in one or two metro areas). Housing costs are the typical asking rent, or the mortgage payment at the current Freddie Mac rate plus property tax; commutes are straight-line estimates, not routes. Every figure's source, vintage and period are in `provenance`.\n\nCached per dataset version: `ETag` (answer `304` to `If-None-Match`) and `X-Dataset-Version`; pin the version with `v` (read it from `GET /api/v1/meta` (`version`) or the `X-Dataset-Version` header) for a response cached as immutable.","tags":["Where to live"],"parameters":[{"name":"c","in":"query","required":false,"description":"Base64url of the criteria JSON (see `WhereToLiveCriteria`).","schema":{"type":"string","maxLength":4096}},{"name":"rate","in":"query","required":false,"description":"A 30-year mortgage rate (%) used only while the published rate is missing; the response says which rate it used.","schema":{"type":"number","minimum":0.5,"maximum":20}},{"name":"v","in":"query","required":false,"description":"Content version to pin. With the current version the response is immutable (cached for a year); any other value is served as the unpinned URL.","schema":{"type":"string","maxLength":64}}],"responses":{"200":{"description":"The ranked places.","headers":{"Cache-Control":{"$ref":"#/components/headers/CacheControl"},"ETag":{"$ref":"#/components/headers/ETag"},"X-Dataset-Version":{"$ref":"#/components/headers/DataVersion"},"Access-Control-Allow-Origin":{"$ref":"#/components/headers/AllowOrigin"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WhereToLiveResponse"}}}},"304":{"$ref":"#/components/responses/NotModified"},"401":{"$ref":"#/components/responses/Unauthorized"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"},"503":{"$ref":"#/components/responses/ServiceUnavailable"}},"x-codeSamples":[{"lang":"shell","label":"curl","source":"curl --compressed 'https://tryanalisa.com/api/v1/where-to-live?c=eyJ2IjoxLCJzdGF0ZXMiOlsiVFgiXX0'"}],"x-caching":"versioned","x-cors":true}}},"components":{"securitySchemes":{"ApiKey":{"type":"http","scheme":"bearer","bearerFormat":"aus_live_…","description":"Optional. An API key from your account (`Authorization: Bearer aus_live_…`) counts requests against your plan's daily allowance instead of the shared anonymous limits. Never send it in a URL."}},"schemas":{"Problem":{"type":"object","properties":{"type":{"type":"string","description":"Always \"about:blank\": the status and title say what happened."},"title":{"type":"string","description":"Short summary of the problem."},"status":{"type":"integer","description":"HTTP status code."},"detail":{"description":"What to do about it, when there is something to say.","type":"string"}},"required":["type","title","status"],"description":"An error, as RFC 9457 problem details (`application/problem+json`)."},"SourceInfo":{"type":"object","properties":{"name":{"type":"string","description":"Dataset name."},"publisher":{"type":"string","description":"Agency that publishes it."},"attribution":{"type":"string","description":"Credit line to show with the data."},"homepage":{"type":"string","description":"Where to find the original."},"vintage":{"description":"Release or date the data is current to (YYYY-MM-DD for contracts).","type":["string","null"]},"loadedAt":{"description":"When Analisa last loaded a release that changed the data (ISO timestamp).","type":["string","null"]}},"required":["name","publisher","attribution","homepage","vintage","loadedAt"],"description":"Provenance of a payload: cite the publisher, the vintage and the period."},"ContractsFilters":{"type":"object","properties":{"fiscalYear":{"type":"integer"},"category":{"anyOf":[{"type":"string","enum":["defense-equipment","it-telecom","research","professional","construction","health","maintenance","facilities","transport","education-social","fuel","supplies","unclassified"]},{"type":"null"}]},"agencyId":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Toptier agency id."}},"required":["fiscalYear","category","agencyId"],"description":"The filters a contracts payload was computed for, after normalization (fallbacks applied)."},"AssistanceFilters":{"type":"object","properties":{"fiscalYear":{"type":"integer"},"typeGroup":{"anyOf":[{"type":"string","enum":["grants","loans","direct-payments","insurance","other"]},{"type":"null"}],"description":"Assistance type group; null for every type."},"agencyId":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Toptier assistance agency id (one of `agencies` in /api/v1/assistance/meta)."}},"required":["fiscalYear","typeGroup","agencyId"],"description":"The filters an assistance payload was computed for, after normalization (fallbacks applied)."},"AssistanceMeta":{"type":"object","properties":{"version":{"type":"string","description":"Current assistance data version: pin it with `v`."},"fiscalYears":{"type":"array","items":{"type":"object","properties":{"year":{"type":"integer"},"months":{"type":"integer","description":"Months loaded (a year in progress has fewer than 12)."},"obligations":{"type":"number","description":"US dollars obligated; for loans the subsidy cost (the expected cost to the government, may be negative)."}},"required":["year","months","obligations"]},"description":"Newest first."},"firstFiscalYear":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"First fiscal year with complete history."},"defaultFiscalYear":{"anyOf":[{"type":"integer"},{"type":"null"}]},"dataThrough":{"description":"Date the published data is current to (YYYY-MM-DD, the release vintage).","type":["string","null"]},"agencies":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"code":{"type":"string"},"name":{"type":"string"},"obligations":{"type":"number","description":"US dollars obligated; for loans the subsidy cost (the expected cost to the government, may be negative)."}},"required":["id","code","name","obligations"]},"description":"Toptier agencies with assistance, largest first: the `agency` filter values (assistance agency ids, not contracts ids)."},"source":{"$ref":"#/components/schemas/SourceInfo"}},"required":["version","fiscalYears","firstFiscalYear","defaultFiscalYear","dataThrough","agencies","source"],"description":"Loaded fiscal years, agency filter options and data freshness of federal assistance."},"AssistanceMap":{"type":"object","properties":{"version":{"type":"string"},"level":{"type":"string","enum":["county","state"]},"metric":{"type":"string","enum":["obligations","per_capita","face_value"]},"filters":{"$ref":"#/components/schemas/AssistanceFilters"},"geoids":{"type":"array","items":{"type":"string"},"description":"Places with a value, aligned with `values`."},"values":{"type":"array","items":{"type":"number"}},"unmapped":{"type":"object","properties":{"abroad":{"type":"number","description":"US dollars."},"unknown":{"type":"number","description":"US dollars."}},"required":["abroad","unknown"],"description":"Obligations abroad or at no known place (in the national total, not on the map)."},"stats":{"type":"object","properties":{"min":{"type":"number"},"p10":{"type":"number"},"p50":{"type":"number"},"p90":{"type":"number"},"max":{"type":"number"}},"required":["min","p10","p50","p90","max"]}},"required":["version","level","metric","filters","geoids","values","unmapped","stats"],"description":"One assistance value per county or state (place of performance)."},"AssistanceKpis":{"type":"object","properties":{"obligations":{"type":"number","description":"US dollars obligated; for loans the subsidy cost (the expected cost to the government, may be negative)."},"faceValue":{"type":"number","description":"Loans: face value (amounts lent or guaranteed), in US dollars. Never part of `obligations`."},"actions":{"type":"number"},"newAwards":{"type":"number"},"perCapita":{"description":"Obligations per resident (Census estimates).","type":["number","null"]},"aggregateShare":{"anyOf":[{"type":"number","description":"Percent (0–100)."},{"type":"null"}],"description":"Share of obligations reported as county aggregates (not attributed to a listed organization)."},"individualShare":{"anyOf":[{"type":"number","description":"Percent (0–100)."},{"type":"null"}],"description":"Share of obligations to individuals (counted, never listed)."}},"required":["obligations","faceValue","actions","newAwards","perCapita","aggregateShare","individualShare"]},"AssistanceRankedEntity":{"type":"object","properties":{"id":{"type":"string","description":"Assistance agency or recipient id."},"name":{"type":"string"},"link":{"description":"The profile to open: a contracts agency or recipient id (the same organization in the contracts data), \"g<id>\" for a recipient with assistance only, null when there is none.","type":["string","null"]},"obligations":{"type":"number","description":"US dollars obligated; for loans the subsidy cost (the expected cost to the government, may be negative)."},"faceValue":{"type":"number","description":"Loans: face value (amounts lent or guaranteed), in US dollars. Never part of `obligations`."},"share":{"type":"number","description":"Percent (0–100)."},"detail":{"description":"Parent agency, or the recipient's city and state.","type":["string","null"]}},"required":["id","name","link","obligations","faceValue","share"],"description":"An agency or organization in an assistance ranking (individuals and county aggregates are never listed)."},"AssistanceProgramRow":{"type":"object","properties":{"id":{"type":"integer"},"number":{"type":"string","description":"Assistance Listing number (formerly CFDA), e.g. \"93.778\"."},"title":{"type":"string"},"obligations":{"type":"number","description":"US dollars obligated; for loans the subsidy cost (the expected cost to the government, may be negative)."},"faceValue":{"type":"number","description":"Loans: face value (amounts lent or guaranteed), in US dollars. Never part of `obligations`."},"share":{"type":"number","description":"Percent (0–100)."}},"required":["id","number","title","obligations","faceValue","share"],"description":"An Assistance Listing (program)."},"AssistanceTypeRow":{"type":"object","properties":{"group":{"type":"string","enum":["grants","loans","direct-payments","insurance","other"]},"obligations":{"type":"number","description":"US dollars obligated; for loans the subsidy cost (the expected cost to the government, may be negative)."},"faceValue":{"type":"number","description":"Loans: face value (amounts lent or guaranteed), in US dollars. Never part of `obligations`."},"share":{"type":"number","description":"Share of positive obligations (0–100)."}},"required":["group","obligations","faceValue","share"]},"AssistanceAwardRow":{"type":"object","properties":{"id":{"type":"string"},"fain":{"description":"Federal Award Identification Number.","type":["string","null"]},"description":{"type":["string","null"]},"program":{"anyOf":[{"type":"object","properties":{"number":{"type":"string"},"title":{"type":"string"}},"required":["number","title"]},{"type":"null"}]},"agency":{"description":"Awarding subtier agency.","type":["string","null"]},"assistanceType":{"type":"string","description":"FABS assistance type code."},"totalObligated":{"type":"number","description":"US dollars obligated; for loans the subsidy cost (the expected cost to the government, may be negative)."},"totalFaceValue":{"anyOf":[{"type":"number","description":"Loans: face value (amounts lent or guaranteed), in US dollars. Never part of `obligations`."},{"type":"null"}]},"firstActionDate":{"type":"string"},"lastActionDate":{"type":"string"},"permalink":{"type":"string","description":"The award on USAspending.gov."}},"required":["id","fain","description","program","agency","assistanceType","totalObligated","totalFaceValue","firstActionDate","lastActionDate","permalink"],"description":"A financial assistance award (all its actions summed)."},"AssistancePlaceSummary":{"type":"object","properties":{"version":{"type":"string"},"geoid":{"type":"string"},"name":{"type":"string"},"filters":{"$ref":"#/components/schemas/AssistanceFilters"},"kpis":{"$ref":"#/components/schemas/AssistanceKpis"},"previous":{"anyOf":[{"$ref":"#/components/schemas/AssistanceKpis"},{"type":"null"}],"description":"The previous fiscal year, when loaded."},"monthly":{"type":"array","items":{"type":"object","properties":{"month":{"type":"string","description":"YYYY-MM"},"obligations":{"type":"number","description":"US dollars obligated; for loans the subsidy cost (the expected cost to the government, may be negative)."},"actions":{"type":"number"}},"required":["month","obligations","actions"]},"description":"This fiscal year and the one before, oldest first."},"yearly":{"type":"array","items":{"type":"object","properties":{"year":{"type":"integer"},"obligations":{"type":"number","description":"US dollars obligated; for loans the subsidy cost (the expected cost to the government, may be negative)."}},"required":["year","obligations"]},"description":"Every loaded fiscal year, oldest first."},"types":{"type":"array","items":{"$ref":"#/components/schemas/AssistanceTypeRow"}},"programs":{"type":"array","items":{"$ref":"#/components/schemas/AssistanceProgramRow"}},"topAgencies":{"type":"array","items":{"$ref":"#/components/schemas/AssistanceRankedEntity"}},"topRecipients":{"type":"array","items":{"$ref":"#/components/schemas/AssistanceRankedEntity"}},"source":{"$ref":"#/components/schemas/SourceInfo"}},"required":["version","geoid","name","filters","kpis","previous","monthly","yearly","types","programs","topAgencies","topRecipients","source"],"description":"Where a place's federal assistance comes from: types, programs, agencies and organizations."},"AssistanceRecipientProfile":{"type":"object","properties":{"version":{"type":"string"},"recipient":{"type":"object","properties":{"id":{"type":"string","description":"\"g<assistance recipient id>\"."},"name":{"type":"string"},"uei":{"description":"SAM Unique Entity ID.","type":["string","null"]},"location":{"type":["string","null"]},"countyGeoid":{"type":["string","null"]},"kinds":{"type":"array","items":{"type":"string"},"description":"Recipient classes of its business types (\"Nonprofits\", \"Colleges and universities\"…)."},"parentName":{"type":["string","null"]},"contractRecipientId":{"description":"The same organization in the contracts data, when it has contracts.","type":["string","null"]}},"required":["id","name","uei","location","countyGeoid","kinds","parentName","contractRecipientId"]},"fiscalYear":{"type":"integer"},"kpis":{"type":"object","properties":{"obligations":{"type":"number","description":"US dollars obligated; for loans the subsidy cost (the expected cost to the government, may be negative)."},"faceValue":{"type":"number","description":"Loans: face value (amounts lent or guaranteed), in US dollars. Never part of `obligations`."},"actions":{"type":"number"},"newAwards":{"type":"number"}},"required":["obligations","faceValue","actions","newAwards"]},"yearly":{"type":"array","items":{"type":"object","properties":{"year":{"type":"integer"},"obligations":{"type":"number","description":"US dollars obligated; for loans the subsidy cost (the expected cost to the government, may be negative)."},"faceValue":{"type":"number","description":"Loans: face value (amounts lent or guaranteed), in US dollars. Never part of `obligations`."}},"required":["year","obligations","faceValue"]},"description":"Every loaded fiscal year, oldest first."},"programs":{"type":"array","items":{"$ref":"#/components/schemas/AssistanceProgramRow"}},"agencies":{"type":"array","items":{"$ref":"#/components/schemas/AssistanceRankedEntity"}},"types":{"type":"array","items":{"$ref":"#/components/schemas/AssistanceTypeRow"}},"largestAwards":{"type":"array","items":{"$ref":"#/components/schemas/AssistanceAwardRow"}},"source":{"$ref":"#/components/schemas/SourceInfo"}},"required":["version","recipient","fiscalYear","kpis","yearly","programs","agencies","types","largestAwards","source"],"description":"Assistance one organization received: programs, agencies and largest awards."},"AssistanceAgencyProfile":{"type":"object","properties":{"version":{"type":"string"},"agency":{"type":"object","properties":{"id":{"type":"integer","description":"Assistance agency id."},"level":{"type":"string","enum":["toptier","subtier"]},"code":{"type":"string"},"name":{"type":"string"}},"required":["id","level","code","name"]},"fiscalYear":{"type":"integer"},"kpis":{"type":"object","properties":{"obligations":{"type":"number","description":"US dollars obligated; for loans the subsidy cost (the expected cost to the government, may be negative)."},"faceValue":{"type":"number","description":"Loans: face value (amounts lent or guaranteed), in US dollars. Never part of `obligations`."},"actions":{"type":"number"},"newAwards":{"type":"number"}},"required":["obligations","faceValue","actions","newAwards"]},"yearly":{"type":"array","items":{"type":"object","properties":{"year":{"type":"integer"},"obligations":{"type":"number","description":"US dollars obligated; for loans the subsidy cost (the expected cost to the government, may be negative)."},"faceValue":{"type":"number","description":"Loans: face value (amounts lent or guaranteed), in US dollars. Never part of `obligations`."}},"required":["year","obligations","faceValue"]},"description":"Every loaded fiscal year, oldest first."},"programs":{"type":"array","items":{"$ref":"#/components/schemas/AssistanceProgramRow"}},"topRecipients":{"type":"array","items":{"$ref":"#/components/schemas/AssistanceRankedEntity"}},"types":{"type":"array","items":{"$ref":"#/components/schemas/AssistanceTypeRow"}},"children":{"type":"array","items":{"$ref":"#/components/schemas/AssistanceRankedEntity"},"description":"A toptier agency's subtiers."},"source":{"$ref":"#/components/schemas/SourceInfo"}},"required":["version","agency","fiscalYear","kpis","yearly","programs","topRecipients","types","children","source"],"description":"Assistance an agency awarded (a toptier: its subtiers together)."},"AssistanceProgramRanking":{"type":"object","properties":{"version":{"type":"string"},"fiscalYear":{"type":"integer"},"query":{"description":"The normalized `q`.","type":["string","null"]},"typeGroup":{"anyOf":[{"type":"string","enum":["grants","loans","direct-payments","insurance","other"]},{"type":"null"}]},"rows":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"number":{"type":"string","description":"Assistance Listing number (formerly CFDA), e.g. \"93.778\"."},"title":{"type":"string"},"obligations":{"type":"number","description":"US dollars obligated; for loans the subsidy cost (the expected cost to the government, may be negative)."},"faceValue":{"type":"number","description":"Loans: face value (amounts lent or guaranteed), in US dollars. Never part of `obligations`."},"share":{"type":"number","description":"Percent (0–100)."},"agency":{"type":["string","null"]},"newAwards":{"type":"number"},"previous":{"anyOf":[{"type":"number","description":"US dollars obligated; for loans the subsidy cost (the expected cost to the government, may be negative)."},{"type":"null"}],"description":"Obligations of the previous fiscal year, when loaded."}},"required":["id","number","title","obligations","faceValue","share","agency","newAwards","previous"]}},"total":{"type":"number","description":"All obligations of the fiscal year (and type), for shares; with `type=loans`, all face value."}},"required":["version","fiscalYear","query","typeGroup","rows","total"],"description":"Assistance Listings ranked by obligations (top 25)."},"PlaceBusiness":{"type":"object","properties":{"version":{"type":"string"},"geoid":{"type":"string","description":"The place the figures are of. A city answers with its county."},"name":{"type":"string"},"level":{"type":"string","enum":["state","metro","county"]},"requested":{"anyOf":[{"type":"object","properties":{"geoid":{"type":"string"},"name":{"type":"string"},"level":{"type":"string","const":"city"}},"required":["geoid","name","level"]},{"type":"null"}],"description":"The city asked about, when the figures are its county's (County Business Patterns has no city level)."},"state":{"anyOf":[{"type":"object","properties":{"geoid":{"type":"string"},"name":{"type":"string"}},"required":["geoid","name"]},{"type":"null"}],"description":"The state a county is compared with."},"periods":{"type":"object","properties":{"business":{"type":"string","description":"Reference year of County Business Patterns, e.g. \"2023\"."},"nonemployer":{"type":"string","description":"Reference year of Nonemployer Statistics, e.g. \"2024\"."},"naicsEditions":{"type":"object","properties":{"business":{"type":"integer"},"nonemployer":{"type":"integer"}},"required":["business","nonemployer"],"description":"NAICS revision each survey's codes are in."}},"required":["business","nonemployer","naicsEditions"]},"population":{"type":"object","properties":{"place":{"anyOf":[{"type":"object","properties":{"value":{"type":"number"},"period":{"type":"string"}},"required":["value","period"],"description":"Residents (Census population estimate) the per-capita figures divide by."},{"type":"null"}]},"state":{"anyOf":[{"type":"object","properties":{"value":{"type":"number"},"period":{"type":"string"}},"required":["value","period"],"description":"Residents (Census population estimate) the per-capita figures divide by."},{"type":"null"}]},"nation":{"anyOf":[{"type":"object","properties":{"value":{"type":"number"},"period":{"type":"string"}},"required":["value","period"],"description":"Residents (Census population estimate) the per-capita figures divide by."},{"type":"null"}]},"nonemployer":{"anyOf":[{"type":"object","properties":{"value":{"type":"number"},"period":{"type":"string"}},"required":["value","period"],"description":"Residents (Census population estimate) the per-capita figures divide by."},{"type":"null"}]}},"required":["place","state","nation","nonemployer"],"description":"The residents behind the per-capita figures; `nonemployer` is the place's population in the Nonemployer Statistics' reference year."},"sources":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"publisher":{"type":"string"},"homepage":{"type":"string"},"attribution":{"type":"string","description":"Credit line to show with the data."},"vintage":{"description":"Release the data was loaded from.","type":["string","null"]},"period":{"description":"Reference year, e.g. \"2023\".","type":["string","null"]}},"required":["id","name","publisher","homepage","attribution","vintage","period"]},"description":"Provenance: cite the publisher and the reference year with the data."},"total":{"type":"object","properties":{"industry":{"type":"object","properties":{"key":{"type":"string","description":"Stable slug, e.g. \"restaurants\"."},"label":{"type":"string"},"level":{"type":"integer","description":"NAICS digits of the industry: 2 for a sector (and for the all-industries total), 3 to 6 for narrower industries."},"naics":{"type":"string","description":"County Business Patterns code (NAICS 2017 for the 2023 release): \"00\" all industries, \"72\", \"44-45\", \"7225\", \"722511\"."},"naicsNonemployer":{"type":"string","description":"Nonemployer Statistics code (NAICS 2022 for the 2024 release). Differs from `naics` for the few industries NAICS moved between editions (software publishers, gas stations, most of retail trade)."},"sector":{"type":"string","description":"The two-digit NAICS sector the industry belongs to."}},"required":["key","label","level","naics","naicsNonemployer","sector"]},"place":{"type":"object","properties":{"establishments":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Employer establishments. Zero where the Census Bureau publishes no establishment in the industry."},"employment":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Paid employees in the pay period including March 12. Noise-infused by the Census Bureau; null where it is withheld, and for a metro area when any member county's is."},"annualPayroll":{"description":"Annual payroll, US dollars. Same caveats as `employment`.","type":["number","null"]},"nonemployers":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Nonemployer businesses (no paid employees, mostly sole proprietors), from the Nonemployer Statistics' own reference year. Null where it is not published."},"flags":{"type":"array","items":{"type":"string"},"description":"Data-quality notes: \"employment-noise-medium\", \"employment-noise-high\", \"payroll-noise-medium\", \"payroll-noise-high\", \"receipts-noise-…\" (the Census Bureau moved the figure by 2–5% / more than 5% to protect confidentiality), \"…-withheld\", \"aggregated\" (a metro area, summed from its counties)."}},"required":["establishments","employment","annualPayroll","nonemployers","flags"]},"state":{"anyOf":[{"type":"object","properties":{"establishments":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Employer establishments. Zero where the Census Bureau publishes no establishment in the industry."},"employment":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Paid employees in the pay period including March 12. Noise-infused by the Census Bureau; null where it is withheld, and for a metro area when any member county's is."},"annualPayroll":{"description":"Annual payroll, US dollars. Same caveats as `employment`.","type":["number","null"]},"nonemployers":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Nonemployer businesses (no paid employees, mostly sole proprietors), from the Nonemployer Statistics' own reference year. Null where it is not published."},"flags":{"type":"array","items":{"type":"string"},"description":"Data-quality notes: \"employment-noise-medium\", \"employment-noise-high\", \"payroll-noise-medium\", \"payroll-noise-high\", \"receipts-noise-…\" (the Census Bureau moved the figure by 2–5% / more than 5% to protect confidentiality), \"…-withheld\", \"aggregated\" (a metro area, summed from its counties)."}},"required":["establishments","employment","annualPayroll","nonemployers","flags"]},{"type":"null"}],"description":"The state of a county (or city); null for a state and for a metro area, which can span states."},"nation":{"type":"object","properties":{"establishments":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Employer establishments. Zero where the Census Bureau publishes no establishment in the industry."},"employment":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Paid employees in the pay period including March 12. Noise-infused by the Census Bureau; null where it is withheld, and for a metro area when any member county's is."},"annualPayroll":{"description":"Annual payroll, US dollars. Same caveats as `employment`.","type":["number","null"]},"nonemployers":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Nonemployer businesses (no paid employees, mostly sole proprietors), from the Nonemployer Statistics' own reference year. Null where it is not published."},"flags":{"type":"array","items":{"type":"string"},"description":"Data-quality notes: \"employment-noise-medium\", \"employment-noise-high\", \"payroll-noise-medium\", \"payroll-noise-high\", \"receipts-noise-…\" (the Census Bureau moved the figure by 2–5% / more than 5% to protect confidentiality), \"…-withheld\", \"aggregated\" (a metro area, summed from its counties)."}},"required":["establishments","employment","annualPayroll","nonemployers","flags"]},"per10k":{"type":"object","properties":{"place":{"type":["number","null"]},"state":{"type":["number","null"]},"nation":{"type":["number","null"]}},"required":["place","state","nation"],"description":"Establishments per 10,000 residents (residents of the County Business Patterns reference year)."},"nonemployersPer10k":{"description":"Nonemployers per 10,000 residents of the Nonemployer Statistics reference year.","type":["number","null"]},"densityIndex":{"type":"object","properties":{"nation":{"type":["number","null"]},"state":{"type":["number","null"]}},"required":["nation","state"],"description":"The place's establishments per resident divided by the nation's and by the state's: 1.00 is the same density, 1.50 half as many again."},"chip":{"anyOf":[{"type":"string","enum":["more","fewer","typical"]},{"type":"null"}],"description":"The density index against the nation in words: `more` at 1.25 or above, `fewer` at 0.80 or below, otherwise `typical`. Null with fewer than 10 establishments."},"avgPay":{"type":"object","properties":{"place":{"type":["number","null"]},"state":{"type":["number","null"]},"nation":{"type":["number","null"]}},"required":["place","state","nation"],"description":"Average annual payroll per employee, US dollars: payroll ÷ employment."},"residentsPerEstablishment":{"description":"Residents per establishment. More residents per business means fewer competitors per resident; it does not measure demand.","type":["number","null"]}},"required":["industry","place","state","nation","per10k","nonemployersPer10k","densityIndex","chip","avgPay","residentsPerEstablishment"],"description":"All industries together."},"sectors":{"type":"array","items":{"type":"object","properties":{"industry":{"type":"object","properties":{"key":{"type":"string","description":"Stable slug, e.g. \"restaurants\"."},"label":{"type":"string"},"level":{"type":"integer","description":"NAICS digits of the industry: 2 for a sector (and for the all-industries total), 3 to 6 for narrower industries."},"naics":{"type":"string","description":"County Business Patterns code (NAICS 2017 for the 2023 release): \"00\" all industries, \"72\", \"44-45\", \"7225\", \"722511\"."},"naicsNonemployer":{"type":"string","description":"Nonemployer Statistics code (NAICS 2022 for the 2024 release). Differs from `naics` for the few industries NAICS moved between editions (software publishers, gas stations, most of retail trade)."},"sector":{"type":"string","description":"The two-digit NAICS sector the industry belongs to."}},"required":["key","label","level","naics","naicsNonemployer","sector"]},"place":{"type":"object","properties":{"establishments":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Employer establishments. Zero where the Census Bureau publishes no establishment in the industry."},"employment":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Paid employees in the pay period including March 12. Noise-infused by the Census Bureau; null where it is withheld, and for a metro area when any member county's is."},"annualPayroll":{"description":"Annual payroll, US dollars. Same caveats as `employment`.","type":["number","null"]},"nonemployers":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Nonemployer businesses (no paid employees, mostly sole proprietors), from the Nonemployer Statistics' own reference year. Null where it is not published."},"flags":{"type":"array","items":{"type":"string"},"description":"Data-quality notes: \"employment-noise-medium\", \"employment-noise-high\", \"payroll-noise-medium\", \"payroll-noise-high\", \"receipts-noise-…\" (the Census Bureau moved the figure by 2–5% / more than 5% to protect confidentiality), \"…-withheld\", \"aggregated\" (a metro area, summed from its counties)."}},"required":["establishments","employment","annualPayroll","nonemployers","flags"]},"state":{"anyOf":[{"type":"object","properties":{"establishments":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Employer establishments. Zero where the Census Bureau publishes no establishment in the industry."},"employment":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Paid employees in the pay period including March 12. Noise-infused by the Census Bureau; null where it is withheld, and for a metro area when any member county's is."},"annualPayroll":{"description":"Annual payroll, US dollars. Same caveats as `employment`.","type":["number","null"]},"nonemployers":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Nonemployer businesses (no paid employees, mostly sole proprietors), from the Nonemployer Statistics' own reference year. Null where it is not published."},"flags":{"type":"array","items":{"type":"string"},"description":"Data-quality notes: \"employment-noise-medium\", \"employment-noise-high\", \"payroll-noise-medium\", \"payroll-noise-high\", \"receipts-noise-…\" (the Census Bureau moved the figure by 2–5% / more than 5% to protect confidentiality), \"…-withheld\", \"aggregated\" (a metro area, summed from its counties)."}},"required":["establishments","employment","annualPayroll","nonemployers","flags"]},{"type":"null"}],"description":"The state of a county (or city); null for a state and for a metro area, which can span states."},"nation":{"type":"object","properties":{"establishments":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Employer establishments. Zero where the Census Bureau publishes no establishment in the industry."},"employment":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Paid employees in the pay period including March 12. Noise-infused by the Census Bureau; null where it is withheld, and for a metro area when any member county's is."},"annualPayroll":{"description":"Annual payroll, US dollars. Same caveats as `employment`.","type":["number","null"]},"nonemployers":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Nonemployer businesses (no paid employees, mostly sole proprietors), from the Nonemployer Statistics' own reference year. Null where it is not published."},"flags":{"type":"array","items":{"type":"string"},"description":"Data-quality notes: \"employment-noise-medium\", \"employment-noise-high\", \"payroll-noise-medium\", \"payroll-noise-high\", \"receipts-noise-…\" (the Census Bureau moved the figure by 2–5% / more than 5% to protect confidentiality), \"…-withheld\", \"aggregated\" (a metro area, summed from its counties)."}},"required":["establishments","employment","annualPayroll","nonemployers","flags"]},"per10k":{"type":"object","properties":{"place":{"type":["number","null"]},"state":{"type":["number","null"]},"nation":{"type":["number","null"]}},"required":["place","state","nation"],"description":"Establishments per 10,000 residents (residents of the County Business Patterns reference year)."},"nonemployersPer10k":{"description":"Nonemployers per 10,000 residents of the Nonemployer Statistics reference year.","type":["number","null"]},"densityIndex":{"type":"object","properties":{"nation":{"type":["number","null"]},"state":{"type":["number","null"]}},"required":["nation","state"],"description":"The place's establishments per resident divided by the nation's and by the state's: 1.00 is the same density, 1.50 half as many again."},"chip":{"anyOf":[{"type":"string","enum":["more","fewer","typical"]},{"type":"null"}],"description":"The density index against the nation in words: `more` at 1.25 or above, `fewer` at 0.80 or below, otherwise `typical`. Null with fewer than 10 establishments."},"avgPay":{"type":"object","properties":{"place":{"type":["number","null"]},"state":{"type":["number","null"]},"nation":{"type":["number","null"]}},"required":["place","state","nation"],"description":"Average annual payroll per employee, US dollars: payroll ÷ employment."},"residentsPerEstablishment":{"description":"Residents per establishment. More residents per business means fewer competitors per resident; it does not measure demand.","type":["number","null"]}},"required":["industry","place","state","nation","per10k","nonemployersPer10k","densityIndex","chip","avgPay","residentsPerEstablishment"]},"description":"The 19 NAICS sectors, in NAICS order."},"industries":{"type":"array","items":{"type":"object","properties":{"industry":{"type":"object","properties":{"key":{"type":"string","description":"Stable slug, e.g. \"restaurants\"."},"label":{"type":"string"},"level":{"type":"integer","description":"NAICS digits of the industry: 2 for a sector (and for the all-industries total), 3 to 6 for narrower industries."},"naics":{"type":"string","description":"County Business Patterns code (NAICS 2017 for the 2023 release): \"00\" all industries, \"72\", \"44-45\", \"7225\", \"722511\"."},"naicsNonemployer":{"type":"string","description":"Nonemployer Statistics code (NAICS 2022 for the 2024 release). Differs from `naics` for the few industries NAICS moved between editions (software publishers, gas stations, most of retail trade)."},"sector":{"type":"string","description":"The two-digit NAICS sector the industry belongs to."}},"required":["key","label","level","naics","naicsNonemployer","sector"]},"place":{"type":"object","properties":{"establishments":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Employer establishments. Zero where the Census Bureau publishes no establishment in the industry."},"employment":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Paid employees in the pay period including March 12. Noise-infused by the Census Bureau; null where it is withheld, and for a metro area when any member county's is."},"annualPayroll":{"description":"Annual payroll, US dollars. Same caveats as `employment`.","type":["number","null"]},"nonemployers":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Nonemployer businesses (no paid employees, mostly sole proprietors), from the Nonemployer Statistics' own reference year. Null where it is not published."},"flags":{"type":"array","items":{"type":"string"},"description":"Data-quality notes: \"employment-noise-medium\", \"employment-noise-high\", \"payroll-noise-medium\", \"payroll-noise-high\", \"receipts-noise-…\" (the Census Bureau moved the figure by 2–5% / more than 5% to protect confidentiality), \"…-withheld\", \"aggregated\" (a metro area, summed from its counties)."}},"required":["establishments","employment","annualPayroll","nonemployers","flags"]},"state":{"anyOf":[{"type":"object","properties":{"establishments":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Employer establishments. Zero where the Census Bureau publishes no establishment in the industry."},"employment":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Paid employees in the pay period including March 12. Noise-infused by the Census Bureau; null where it is withheld, and for a metro area when any member county's is."},"annualPayroll":{"description":"Annual payroll, US dollars. Same caveats as `employment`.","type":["number","null"]},"nonemployers":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Nonemployer businesses (no paid employees, mostly sole proprietors), from the Nonemployer Statistics' own reference year. Null where it is not published."},"flags":{"type":"array","items":{"type":"string"},"description":"Data-quality notes: \"employment-noise-medium\", \"employment-noise-high\", \"payroll-noise-medium\", \"payroll-noise-high\", \"receipts-noise-…\" (the Census Bureau moved the figure by 2–5% / more than 5% to protect confidentiality), \"…-withheld\", \"aggregated\" (a metro area, summed from its counties)."}},"required":["establishments","employment","annualPayroll","nonemployers","flags"]},{"type":"null"}],"description":"The state of a county (or city); null for a state and for a metro area, which can span states."},"nation":{"type":"object","properties":{"establishments":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Employer establishments. Zero where the Census Bureau publishes no establishment in the industry."},"employment":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Paid employees in the pay period including March 12. Noise-infused by the Census Bureau; null where it is withheld, and for a metro area when any member county's is."},"annualPayroll":{"description":"Annual payroll, US dollars. Same caveats as `employment`.","type":["number","null"]},"nonemployers":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Nonemployer businesses (no paid employees, mostly sole proprietors), from the Nonemployer Statistics' own reference year. Null where it is not published."},"flags":{"type":"array","items":{"type":"string"},"description":"Data-quality notes: \"employment-noise-medium\", \"employment-noise-high\", \"payroll-noise-medium\", \"payroll-noise-high\", \"receipts-noise-…\" (the Census Bureau moved the figure by 2–5% / more than 5% to protect confidentiality), \"…-withheld\", \"aggregated\" (a metro area, summed from its counties)."}},"required":["establishments","employment","annualPayroll","nonemployers","flags"]},"per10k":{"type":"object","properties":{"place":{"type":["number","null"]},"state":{"type":["number","null"]},"nation":{"type":["number","null"]}},"required":["place","state","nation"],"description":"Establishments per 10,000 residents (residents of the County Business Patterns reference year)."},"nonemployersPer10k":{"description":"Nonemployers per 10,000 residents of the Nonemployer Statistics reference year.","type":["number","null"]},"densityIndex":{"type":"object","properties":{"nation":{"type":["number","null"]},"state":{"type":["number","null"]}},"required":["nation","state"],"description":"The place's establishments per resident divided by the nation's and by the state's: 1.00 is the same density, 1.50 half as many again."},"chip":{"anyOf":[{"type":"string","enum":["more","fewer","typical"]},{"type":"null"}],"description":"The density index against the nation in words: `more` at 1.25 or above, `fewer` at 0.80 or below, otherwise `typical`. Null with fewer than 10 establishments."},"avgPay":{"type":"object","properties":{"place":{"type":["number","null"]},"state":{"type":["number","null"]},"nation":{"type":["number","null"]}},"required":["place","state","nation"],"description":"Average annual payroll per employee, US dollars: payroll ÷ employment."},"residentsPerEstablishment":{"description":"Residents per establishment. More residents per business means fewer competitors per resident; it does not measure demand.","type":["number","null"]}},"required":["industry","place","state","nation","per10k","nonemployersPer10k","densityIndex","chip","avgPay","residentsPerEstablishment"]},"description":"The narrower curated industries, in NAICS order."}},"required":["version","geoid","name","level","requested","state","periods","population","sources","total","sectors","industries"],"description":"Employer and nonemployer businesses of a place by industry, per resident and against the state and the nation."},"BusinessIndustries":{"type":"object","properties":{"version":{"type":"string"},"periods":{"type":"object","properties":{"business":{"type":"string","description":"Reference year of County Business Patterns, e.g. \"2023\"."},"nonemployer":{"type":"string","description":"Reference year of Nonemployer Statistics, e.g. \"2024\"."},"naicsEditions":{"type":"object","properties":{"business":{"type":"integer"},"nonemployer":{"type":"integer"}},"required":["business","nonemployer"],"description":"NAICS revision each survey's codes are in."}},"required":["business","nonemployer","naicsEditions"]},"population":{"anyOf":[{"type":"object","properties":{"value":{"type":"number"},"period":{"type":"string"}},"required":["value","period"],"description":"Residents (Census population estimate) the per-capita figures divide by."},{"type":"null"}]},"sources":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"publisher":{"type":"string"},"homepage":{"type":"string"},"attribution":{"type":"string","description":"Credit line to show with the data."},"vintage":{"description":"Release the data was loaded from.","type":["string","null"]},"period":{"description":"Reference year, e.g. \"2023\".","type":["string","null"]}},"required":["id","name","publisher","homepage","attribution","vintage","period"]}},"industries":{"type":"array","items":{"type":"object","properties":{"industry":{"type":"object","properties":{"key":{"type":"string","description":"Stable slug, e.g. \"restaurants\"."},"label":{"type":"string"},"level":{"type":"integer","description":"NAICS digits of the industry: 2 for a sector (and for the all-industries total), 3 to 6 for narrower industries."},"naics":{"type":"string","description":"County Business Patterns code (NAICS 2017 for the 2023 release): \"00\" all industries, \"72\", \"44-45\", \"7225\", \"722511\"."},"naicsNonemployer":{"type":"string","description":"Nonemployer Statistics code (NAICS 2022 for the 2024 release). Differs from `naics` for the few industries NAICS moved between editions (software publishers, gas stations, most of retail trade)."},"sector":{"type":"string","description":"The two-digit NAICS sector the industry belongs to."}},"required":["key","label","level","naics","naicsNonemployer","sector"]},"nation":{"type":"object","properties":{"establishments":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Employer establishments. Zero where the Census Bureau publishes no establishment in the industry."},"employment":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Paid employees in the pay period including March 12. Noise-infused by the Census Bureau; null where it is withheld, and for a metro area when any member county's is."},"annualPayroll":{"description":"Annual payroll, US dollars. Same caveats as `employment`.","type":["number","null"]},"nonemployers":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Nonemployer businesses (no paid employees, mostly sole proprietors), from the Nonemployer Statistics' own reference year. Null where it is not published."},"flags":{"type":"array","items":{"type":"string"},"description":"Data-quality notes: \"employment-noise-medium\", \"employment-noise-high\", \"payroll-noise-medium\", \"payroll-noise-high\", \"receipts-noise-…\" (the Census Bureau moved the figure by 2–5% / more than 5% to protect confidentiality), \"…-withheld\", \"aggregated\" (a metro area, summed from its counties)."}},"required":["establishments","employment","annualPayroll","nonemployers","flags"]},"per10k":{"description":"Establishments per 10,000 US residents.","type":["number","null"]},"avgPay":{"type":["number","null"]}},"required":["industry","nation","per10k","avgPay"]},"description":"The all-industries total first, then the sectors, then the narrower industries, in NAICS order."}},"required":["version","periods","population","sources","industries"],"description":"The industries of the catalog with their national business figures."},"IndustryPlaces":{"type":"object","properties":{"version":{"type":"string"},"industry":{"type":"object","properties":{"key":{"type":"string","description":"Stable slug, e.g. \"restaurants\"."},"label":{"type":"string"},"level":{"type":"integer","description":"NAICS digits of the industry: 2 for a sector (and for the all-industries total), 3 to 6 for narrower industries."},"naics":{"type":"string","description":"County Business Patterns code (NAICS 2017 for the 2023 release): \"00\" all industries, \"72\", \"44-45\", \"7225\", \"722511\"."},"naicsNonemployer":{"type":"string","description":"Nonemployer Statistics code (NAICS 2022 for the 2024 release). Differs from `naics` for the few industries NAICS moved between editions (software publishers, gas stations, most of retail trade)."},"sector":{"type":"string","description":"The two-digit NAICS sector the industry belongs to."}},"required":["key","label","level","naics","naicsNonemployer","sector"]},"periods":{"type":"object","properties":{"business":{"type":"string","description":"Reference year of County Business Patterns, e.g. \"2023\"."},"nonemployer":{"type":"string","description":"Reference year of Nonemployer Statistics, e.g. \"2024\"."},"naicsEditions":{"type":"object","properties":{"business":{"type":"integer"},"nonemployer":{"type":"integer"}},"required":["business","nonemployer"],"description":"NAICS revision each survey's codes are in."}},"required":["business","nonemployer","naicsEditions"]},"previousPeriod":{"description":"The reference year before the latest in the same NAICS edition, when the tables hold one; `growth` needs it.","type":["string","null"]},"filters":{"type":"object","properties":{"level":{"type":"string","enum":["metro","county"]},"state":{"type":["string","null"]},"minPopulation":{"type":"integer"},"minEstablishments":{"type":"integer"},"sort":{"type":"string","enum":["residents","density","establishments","employment","pay","nonemployers","growth","population"]},"order":{"type":"string","enum":["asc","desc"]},"limit":{"type":"integer"},"offset":{"type":"integer"}},"required":["level","state","minPopulation","minEstablishments","sort","order","limit","offset"],"description":"The filters applied, after defaults."},"total":{"type":"integer","description":"Places that passed the filters; `rows` is one page of them."},"nation":{"type":"object","properties":{"establishments":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Employer establishments. Zero where the Census Bureau publishes no establishment in the industry."},"employment":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Paid employees in the pay period including March 12. Noise-infused by the Census Bureau; null where it is withheld, and for a metro area when any member county's is."},"annualPayroll":{"description":"Annual payroll, US dollars. Same caveats as `employment`.","type":["number","null"]},"nonemployers":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Nonemployer businesses (no paid employees, mostly sole proprietors), from the Nonemployer Statistics' own reference year. Null where it is not published."},"flags":{"type":"array","items":{"type":"string"},"description":"Data-quality notes: \"employment-noise-medium\", \"employment-noise-high\", \"payroll-noise-medium\", \"payroll-noise-high\", \"receipts-noise-…\" (the Census Bureau moved the figure by 2–5% / more than 5% to protect confidentiality), \"…-withheld\", \"aggregated\" (a metro area, summed from its counties)."},"per10k":{"type":["number","null"]},"avgPay":{"type":["number","null"]}},"required":["establishments","employment","annualPayroll","nonemployers","flags","per10k","avgPay"]},"population":{"anyOf":[{"type":"object","properties":{"value":{"type":"number"},"period":{"type":"string"}},"required":["value","period"],"description":"Residents (Census population estimate) the per-capita figures divide by."},{"type":"null"}],"description":"US residents in the County Business Patterns reference year."},"rows":{"type":"array","items":{"type":"object","properties":{"geoid":{"type":"string"},"name":{"type":"string"},"path":{"description":"The place's page on this site.","type":["string","null"]},"stateCode":{"description":"USPS code; a metro area's principal state.","type":["string","null"]},"level":{"type":"string","enum":["metro","county"]},"population":{"description":"Residents in the County Business Patterns reference year.","type":["number","null"]},"establishments":{"anyOf":[{"type":"integer"},{"type":"null"}]},"employment":{"anyOf":[{"type":"integer"},{"type":"null"}]},"annualPayroll":{"type":["number","null"]},"nonemployers":{"anyOf":[{"type":"integer"},{"type":"null"}]},"per10k":{"description":"Establishments per 10,000 residents.","type":["number","null"]},"residentsPerEstablishment":{"type":["number","null"]},"avgPay":{"type":["number","null"]},"densityIndex":{"description":"Density over the nation's (1.00 = the nation's).","type":["number","null"]},"chip":{"anyOf":[{"type":"string","enum":["more","fewer","typical"]},{"type":"null"}]},"growth":{"description":"Relative change of establishments (percent) since the previous reference year of the same NAICS edition. Null while the tables hold one year.","type":["number","null"]},"flags":{"type":"array","items":{"type":"string"}}},"required":["geoid","name","path","stateCode","level","population","establishments","employment","annualPayroll","nonemployers","per10k","residentsPerEstablishment","avgPay","densityIndex","chip","growth","flags"]}},"federal":{"anyOf":[{"type":"object","properties":{"fiscalYear":{"type":"integer"},"months":{"type":"integer","description":"Months of the fiscal year with loaded actions (fewer than 12 while it is in progress)."},"scope":{"type":"string","description":"The NAICS code(s) matched, e.g. \"NAICS 7225\" or \"NAICS 5132, 5112\": both editions, since contract actions carry the edition current when they were signed."},"obligations":{"type":"number","description":"Federal contract obligations in the fiscal year, nationwide, US dollars."},"awards":{"type":"integer","description":"Awards with an action in the year, counted once per county where they were performed."},"places":{"type":"object","properties":{"metros":{"type":"array","items":{"type":"object","properties":{"geoid":{"type":"string"},"name":{"type":"string"},"path":{"description":"The place's page on this site.","type":["string","null"]},"obligations":{"type":"number","description":"US dollars."},"awards":{"type":"integer","description":"Awards with an action in the year, counted once per county (or city) of their actions."},"share":{"description":"Percent of the nation's obligations in the industry.","type":["number","null"]}},"required":["geoid","name","path","obligations","awards","share"]}},"counties":{"type":"array","items":{"type":"object","properties":{"geoid":{"type":"string"},"name":{"type":"string"},"path":{"description":"The place's page on this site.","type":["string","null"]},"obligations":{"type":"number","description":"US dollars."},"awards":{"type":"integer","description":"Awards with an action in the year, counted once per county (or city) of their actions."},"share":{"description":"Percent of the nation's obligations in the industry.","type":["number","null"]}},"required":["geoid","name","path","obligations","awards","share"]}},"cities":{"type":"array","items":{"type":"object","properties":{"geoid":{"type":"string"},"name":{"type":"string"},"path":{"description":"The place's page on this site.","type":["string","null"]},"obligations":{"type":"number","description":"US dollars."},"awards":{"type":"integer","description":"Awards with an action in the year, counted once per county (or city) of their actions."},"share":{"description":"Percent of the nation's obligations in the industry.","type":["number","null"]}},"required":["geoid","name","path","obligations","awards","share"]}}},"required":["metros","counties","cities"],"description":"The ten places of each level where the most was performed (place of performance). Metro areas are exact sums of their counties; cities are estimated from ZIP codes and are part of their counties' figures."},"source":{"type":"object","properties":{"name":{"type":"string"},"publisher":{"type":"string"},"attribution":{"type":"string"},"homepage":{"type":"string"},"vintage":{"type":["string","null"]},"loadedAt":{"type":["string","null"]}},"required":["name","publisher","attribution","homepage","vintage","loadedAt"]}},"required":["fiscalYear","months","scope","obligations","awards","places","source"]},{"type":"null"}],"description":"Federal contract obligations in the industry's NAICS codes, nationally and by place. Null when the contracts data is not loaded."},"sources":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"publisher":{"type":"string"},"homepage":{"type":"string"},"attribution":{"type":"string","description":"Credit line to show with the data."},"vintage":{"description":"Release the data was loaded from.","type":["string","null"]},"period":{"description":"Reference year, e.g. \"2023\".","type":["string","null"]}},"required":["id","name","publisher","homepage","attribution","vintage","period"]}}},"required":["version","industry","periods","previousPeriod","filters","total","nation","population","rows","federal","sources"],"description":"Metro areas or counties ranked for one industry, with figures per resident."},"PlaceChanges":{"type":"object","properties":{"version":{"type":"string"},"geoid":{"type":"string"},"name":{"type":"string"},"level":{"type":"string","enum":["state","metro","county","city"]},"peers":{"type":"integer","description":"Ranked places of the level (cities: at least 1,000 residents) the changes are compared with."},"summary":{"type":"object","properties":{"improved":{"type":"integer"},"declined":{"type":"integer"},"unchanged":{"type":"integer"},"uncertain":{"type":"integer"},"total":{"type":"integer"}},"required":["improved","declined","unchanged","uncertain","total"],"description":"Indicators by verdict."},"improvements":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","description":"Indicator key (see /api/v1/meta)."},"unit":{"type":"string"},"direction":{"type":"string","enum":["higher","lower","neutral"],"description":"Which way is better. Only indicators with a direction are compared."},"from":{"type":"object","properties":{"period":{"type":"string","description":"Period label: \"2020-2024\" (5-year estimate) or \"2025\" (annual)."},"value":{"type":"number","description":"The indicator's value in its own unit."},"standardError":{"description":"Standard error when the publisher gives uncertainty (90% margin of error ÷ 1.645); null otherwise.","type":["number","null"]}},"required":["period","value","standardError"],"description":"The earlier value."},"to":{"type":"object","properties":{"period":{"type":"string","description":"Period label: \"2020-2024\" (5-year estimate) or \"2025\" (annual)."},"value":{"type":"number","description":"The indicator's value in its own unit."},"standardError":{"description":"Standard error when the publisher gives uncertainty (90% margin of error ÷ 1.645); null otherwise.","type":["number","null"]}},"required":["period","value","standardError"],"description":"The current value."},"years":{"type":"number","description":"Years between the end of the two periods."},"delta":{"type":"number","description":"`to.value - from.value` in the indicator's unit."},"relative":{"description":"Relative change in percent. Null when the earlier value is zero.","type":["number","null"]},"measure":{"type":"string","enum":["points","percent","absolute"],"description":"How changes are compared across places: `points` (difference of percentages), `percent` (relative change, for amounts and rates) or `absolute` (difference in the indicator's unit)."},"measured":{"type":"number","description":"The change in that measure (the one `peers` compares)."},"margin":{"description":"90% margin of the difference: 1.645 × the square root of the sum of the two squared standard errors. Null unless both values have one.","type":["number","null"]},"significance":{"type":"string","enum":["real","within-margin","unassessed"],"description":"`real`: the change is larger than `margin`. `within-margin`: it is not. `unassessed`: no margin is published."},"verdict":{"type":"string","enum":["improved","declined","unchanged","uncertain"],"description":"`improved`/`declined`: the change is real (or, with no margin published, at least 5%) and moves in the direction the catalog calls better/worse. `uncertain`: within the margin of error. `unchanged`: too small to matter (under 2% for a real change, as relative percent; one point of a percentage weighs 5%)."},"peers":{"type":"object","properties":{"count":{"type":"integer","description":"Places of the level that have the same two periods."},"betterThan":{"description":"Share (0–100) of those places whose change was less favourable, direction applied (100 = the most favourable change). Null with fewer than 20 places.","type":["number","null"]},"typical":{"description":"The typical (median) change of those places in the same measure as `measured`. Null with too few places.","type":["number","null"]},"z":{"description":"The place's change as a distance from the typical change in robust standard deviations (1.4826 × the median absolute deviation); favourable is positive. Null with too few places or no spread.","type":["number","null"]}},"required":["count","betterThan","typical","z"]},"source":{"type":"string","description":"Publisher dataset id both values come from (see `sources`)."},"standing":{"anyOf":[{"type":"object","properties":{"before":{"type":"number","description":"Percentile (0–100) of the earlier value among the places of the level at that period, direction applied (100 = best)."},"after":{"type":"number","description":"The same for the current value."}},"required":["before","after"]},{"type":"null"}],"description":"The place's standing among the places of the level at each period. Null when the place lacks a standing."}},"required":["key","unit","direction","from","to","years","delta","relative","measure","measured","margin","significance","verdict","peers","source","standing"]},"description":"Up to five largest improvements, most favourable against peers first."},"declines":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","description":"Indicator key (see /api/v1/meta)."},"unit":{"type":"string"},"direction":{"type":"string","enum":["higher","lower","neutral"],"description":"Which way is better. Only indicators with a direction are compared."},"from":{"type":"object","properties":{"period":{"type":"string","description":"Period label: \"2020-2024\" (5-year estimate) or \"2025\" (annual)."},"value":{"type":"number","description":"The indicator's value in its own unit."},"standardError":{"description":"Standard error when the publisher gives uncertainty (90% margin of error ÷ 1.645); null otherwise.","type":["number","null"]}},"required":["period","value","standardError"],"description":"The earlier value."},"to":{"type":"object","properties":{"period":{"type":"string","description":"Period label: \"2020-2024\" (5-year estimate) or \"2025\" (annual)."},"value":{"type":"number","description":"The indicator's value in its own unit."},"standardError":{"description":"Standard error when the publisher gives uncertainty (90% margin of error ÷ 1.645); null otherwise.","type":["number","null"]}},"required":["period","value","standardError"],"description":"The current value."},"years":{"type":"number","description":"Years between the end of the two periods."},"delta":{"type":"number","description":"`to.value - from.value` in the indicator's unit."},"relative":{"description":"Relative change in percent. Null when the earlier value is zero.","type":["number","null"]},"measure":{"type":"string","enum":["points","percent","absolute"],"description":"How changes are compared across places: `points` (difference of percentages), `percent` (relative change, for amounts and rates) or `absolute` (difference in the indicator's unit)."},"measured":{"type":"number","description":"The change in that measure (the one `peers` compares)."},"margin":{"description":"90% margin of the difference: 1.645 × the square root of the sum of the two squared standard errors. Null unless both values have one.","type":["number","null"]},"significance":{"type":"string","enum":["real","within-margin","unassessed"],"description":"`real`: the change is larger than `margin`. `within-margin`: it is not. `unassessed`: no margin is published."},"verdict":{"type":"string","enum":["improved","declined","unchanged","uncertain"],"description":"`improved`/`declined`: the change is real (or, with no margin published, at least 5%) and moves in the direction the catalog calls better/worse. `uncertain`: within the margin of error. `unchanged`: too small to matter (under 2% for a real change, as relative percent; one point of a percentage weighs 5%)."},"peers":{"type":"object","properties":{"count":{"type":"integer","description":"Places of the level that have the same two periods."},"betterThan":{"description":"Share (0–100) of those places whose change was less favourable, direction applied (100 = the most favourable change). Null with fewer than 20 places.","type":["number","null"]},"typical":{"description":"The typical (median) change of those places in the same measure as `measured`. Null with too few places.","type":["number","null"]},"z":{"description":"The place's change as a distance from the typical change in robust standard deviations (1.4826 × the median absolute deviation); favourable is positive. Null with too few places or no spread.","type":["number","null"]}},"required":["count","betterThan","typical","z"]},"source":{"type":"string","description":"Publisher dataset id both values come from (see `sources`)."},"standing":{"anyOf":[{"type":"object","properties":{"before":{"type":"number","description":"Percentile (0–100) of the earlier value among the places of the level at that period, direction applied (100 = best)."},"after":{"type":"number","description":"The same for the current value."}},"required":["before","after"]},{"type":"null"}],"description":"The place's standing among the places of the level at each period. Null when the place lacks a standing."}},"required":["key","unit","direction","from","to","years","delta","relative","measure","measured","margin","significance","verdict","peers","source","standing"]},"description":"Up to five largest declines, least favourable against peers first."},"changes":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","description":"Indicator key (see /api/v1/meta)."},"unit":{"type":"string"},"direction":{"type":"string","enum":["higher","lower","neutral"],"description":"Which way is better. Only indicators with a direction are compared."},"from":{"type":"object","properties":{"period":{"type":"string","description":"Period label: \"2020-2024\" (5-year estimate) or \"2025\" (annual)."},"value":{"type":"number","description":"The indicator's value in its own unit."},"standardError":{"description":"Standard error when the publisher gives uncertainty (90% margin of error ÷ 1.645); null otherwise.","type":["number","null"]}},"required":["period","value","standardError"],"description":"The earlier value."},"to":{"type":"object","properties":{"period":{"type":"string","description":"Period label: \"2020-2024\" (5-year estimate) or \"2025\" (annual)."},"value":{"type":"number","description":"The indicator's value in its own unit."},"standardError":{"description":"Standard error when the publisher gives uncertainty (90% margin of error ÷ 1.645); null otherwise.","type":["number","null"]}},"required":["period","value","standardError"],"description":"The current value."},"years":{"type":"number","description":"Years between the end of the two periods."},"delta":{"type":"number","description":"`to.value - from.value` in the indicator's unit."},"relative":{"description":"Relative change in percent. Null when the earlier value is zero.","type":["number","null"]},"measure":{"type":"string","enum":["points","percent","absolute"],"description":"How changes are compared across places: `points` (difference of percentages), `percent` (relative change, for amounts and rates) or `absolute` (difference in the indicator's unit)."},"measured":{"type":"number","description":"The change in that measure (the one `peers` compares)."},"margin":{"description":"90% margin of the difference: 1.645 × the square root of the sum of the two squared standard errors. Null unless both values have one.","type":["number","null"]},"significance":{"type":"string","enum":["real","within-margin","unassessed"],"description":"`real`: the change is larger than `margin`. `within-margin`: it is not. `unassessed`: no margin is published."},"verdict":{"type":"string","enum":["improved","declined","unchanged","uncertain"],"description":"`improved`/`declined`: the change is real (or, with no margin published, at least 5%) and moves in the direction the catalog calls better/worse. `uncertain`: within the margin of error. `unchanged`: too small to matter (under 2% for a real change, as relative percent; one point of a percentage weighs 5%)."},"peers":{"type":"object","properties":{"count":{"type":"integer","description":"Places of the level that have the same two periods."},"betterThan":{"description":"Share (0–100) of those places whose change was less favourable, direction applied (100 = the most favourable change). Null with fewer than 20 places.","type":["number","null"]},"typical":{"description":"The typical (median) change of those places in the same measure as `measured`. Null with too few places.","type":["number","null"]},"z":{"description":"The place's change as a distance from the typical change in robust standard deviations (1.4826 × the median absolute deviation); favourable is positive. Null with too few places or no spread.","type":["number","null"]}},"required":["count","betterThan","typical","z"]},"source":{"type":"string","description":"Publisher dataset id both values come from (see `sources`)."},"standing":{"anyOf":[{"type":"object","properties":{"before":{"type":"number","description":"Percentile (0–100) of the earlier value among the places of the level at that period, direction applied (100 = best)."},"after":{"type":"number","description":"The same for the current value."}},"required":["before","after"]},{"type":"null"}],"description":"The place's standing among the places of the level at each period. Null when the place lacks a standing."}},"required":["key","unit","direction","from","to","years","delta","relative","measure","measured","margin","significance","verdict","peers","source","standing"]},"description":"Every indicator with a comparable history, in catalog order."},"similar":{"type":"object","properties":{"self":{"anyOf":[{"type":"object","properties":{"gain":{"type":"number"},"compared":{"type":"integer"}},"required":["gain","compared"]},{"type":"null"}],"description":"The place's own mean change of standing over the same indicators."},"places":{"type":"array","items":{"type":"object","properties":{"geoid":{"type":"string"},"name":{"type":"string"},"stateCode":{"type":["string","null"]},"path":{"type":"string","description":"Page path on this site."},"similarity":{"type":"number","description":"0–1: how alike this place and the one asked about looked in the earlier period (1 minus the root-mean-square difference of standings)."},"net":{"type":"integer","description":"Indicators with verdict `improved` minus indicators with verdict `declined` in this place: the ranking key, since a real change cannot be produced by noise."},"gain":{"type":"number","description":"Mean change of the place's standing (percentile points) over the `compared` indicators it has in both periods; positive = rose."},"compared":{"type":"integer"},"improved":{"type":"integer","description":"Indicators whose verdict is `improved` in this place."},"declined":{"type":"integer"},"top":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","description":"Indicator key (see /api/v1/meta)."},"unit":{"type":"string"},"direction":{"type":"string","enum":["higher","lower","neutral"],"description":"Which way is better. Only indicators with a direction are compared."},"from":{"type":"object","properties":{"period":{"type":"string","description":"Period label: \"2020-2024\" (5-year estimate) or \"2025\" (annual)."},"value":{"type":"number","description":"The indicator's value in its own unit."},"standardError":{"description":"Standard error when the publisher gives uncertainty (90% margin of error ÷ 1.645); null otherwise.","type":["number","null"]}},"required":["period","value","standardError"],"description":"The earlier value."},"to":{"type":"object","properties":{"period":{"type":"string","description":"Period label: \"2020-2024\" (5-year estimate) or \"2025\" (annual)."},"value":{"type":"number","description":"The indicator's value in its own unit."},"standardError":{"description":"Standard error when the publisher gives uncertainty (90% margin of error ÷ 1.645); null otherwise.","type":["number","null"]}},"required":["period","value","standardError"],"description":"The current value."},"years":{"type":"number","description":"Years between the end of the two periods."},"delta":{"type":"number","description":"`to.value - from.value` in the indicator's unit."},"relative":{"description":"Relative change in percent. Null when the earlier value is zero.","type":["number","null"]},"measure":{"type":"string","enum":["points","percent","absolute"],"description":"How changes are compared across places: `points` (difference of percentages), `percent` (relative change, for amounts and rates) or `absolute` (difference in the indicator's unit)."},"measured":{"type":"number","description":"The change in that measure (the one `peers` compares)."},"margin":{"description":"90% margin of the difference: 1.645 × the square root of the sum of the two squared standard errors. Null unless both values have one.","type":["number","null"]},"significance":{"type":"string","enum":["real","within-margin","unassessed"],"description":"`real`: the change is larger than `margin`. `within-margin`: it is not. `unassessed`: no margin is published."},"verdict":{"type":"string","enum":["improved","declined","unchanged","uncertain"],"description":"`improved`/`declined`: the change is real (or, with no margin published, at least 5%) and moves in the direction the catalog calls better/worse. `uncertain`: within the margin of error. `unchanged`: too small to matter (under 2% for a real change, as relative percent; one point of a percentage weighs 5%)."},"peers":{"type":"object","properties":{"count":{"type":"integer","description":"Places of the level that have the same two periods."},"betterThan":{"description":"Share (0–100) of those places whose change was less favourable, direction applied (100 = the most favourable change). Null with fewer than 20 places.","type":["number","null"]},"typical":{"description":"The typical (median) change of those places in the same measure as `measured`. Null with too few places.","type":["number","null"]},"z":{"description":"The place's change as a distance from the typical change in robust standard deviations (1.4826 × the median absolute deviation); favourable is positive. Null with too few places or no spread.","type":["number","null"]}},"required":["count","betterThan","typical","z"]},"source":{"type":"string","description":"Publisher dataset id both values come from (see `sources`)."},"standing":{"anyOf":[{"type":"object","properties":{"before":{"type":"number","description":"Percentile (0–100) of the earlier value among the places of the level at that period, direction applied (100 = best)."},"after":{"type":"number","description":"The same for the current value."}},"required":["before","after"]},{"type":"null"}],"description":"The place's standing among the places of the level at each period. Null when the place lacks a standing."}},"required":["key","unit","direction","from","to","years","delta","relative","measure","measured","margin","significance","verdict","peers","source","standing"]},"description":"What improved most here (up to 3), most favourable against peers first."}},"required":["geoid","name","stateCode","path","similarity","net","gain","compared","improved","declined","top"]},"description":"Up to five of the places most alike in the earlier period with the most net improvements, then the largest gain in standing; only places with more improvements than declines whose standing rose."}},"required":["self","places"]},"sources":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"publisher":{"type":"string"},"homepage":{"type":"string"},"attribution":{"type":"string"}},"required":["id","name","publisher","homepage","attribution"]},"description":"Provenance: cite the publisher and the periods with the data."}},"required":["version","geoid","name","level","peers","summary","improvements","declines","changes","similar","sources"],"description":"What changed in a place over about five years, with significance, direction and peer comparison, and the places like it that improved."},"SubawardParty":{"type":"object","properties":{"uei":{"type":"string","description":"SAM Unique Entity ID."},"name":{"type":"string"},"location":{"type":["string","null"]},"recipientId":{"description":"Contract recipient id with the same UEI (for /api/v1/contracts/recipients/{id}), when it has one.","type":["string","null"]}},"required":["uei","name","location","recipientId"],"description":"An organization seen in subaward reports."},"SubawardRankedParty":{"type":"object","properties":{"uei":{"type":"string","description":"SAM Unique Entity ID."},"name":{"type":"string"},"location":{"type":["string","null"]},"recipientId":{"description":"Contract recipient id with the same UEI (for /api/v1/contracts/recipients/{id}), when it has one.","type":["string","null"]},"amount":{"type":"number","description":"US dollars reported by the prime."},"subawards":{"type":"number"},"share":{"anyOf":[{"type":"number","description":"Percent (0–100)."},{"type":"null"}],"description":"Share (0–100) of all subawards in the same scope and role."}},"required":["uei","name","location","recipientId","amount","subawards","share"]},"SubawardsKindTotals":{"type":"object","properties":{"kind":{"type":"string","enum":["procurement","grant"],"description":"`procurement` (sub-contracts under contracts) or `grant` (sub-grants under assistance)."},"subawards":{"type":"number"},"amount":{"type":"number","description":"US dollars reported by the prime."}},"required":["kind","subawards","amount"]},"SubawardsAward":{"type":"object","properties":{"source":{"$ref":"#/components/schemas/SourceInfo"},"firstFiscalYear":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"First fiscal year of subaward history loaded (null before the first load)."},"awardId":{"type":"string"},"primeObligated":{"type":"number","description":"The prime's obligations to date (contract data)."},"obligatedSince":{"anyOf":[{"type":"object","properties":{"fiscalYear":{"type":"integer"},"amount":{"type":"number","description":"US dollars."}},"required":["fiscalYear","amount"]},{"type":"null"}],"description":"The prime's obligations since the first fiscal year of subawards loaded: the denominator of `shareOfObligations`."},"reported":{"anyOf":[{"type":"object","properties":{"subawards":{"type":"number"},"amount":{"type":"number","description":"US dollars reported by the prime."},"subRecipients":{"type":"number"},"duplicates":{"type":"number","description":"Reports of the same action filed again, left out."},"firstActionDate":{"type":"string"},"lastActionDate":{"type":"string"},"shareOfObligations":{"description":"Reported subawards as a percent of the prime's obligations over the same years. Not clamped: over 100 is itself a reporting finding (cumulative amounts, repeated reports).","type":["number","null"]}},"required":["subawards","amount","subRecipients","duplicates","firstActionDate","lastActionDate","shareOfObligations"]},{"type":"null"}],"description":"Null when the prime reported no subawards."},"topSubRecipients":{"type":"array","items":{"$ref":"#/components/schemas/SubawardRankedParty"}},"subawards":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"subawardNumber":{"type":"string"},"amount":{"type":"number","description":"US dollars reported by the prime."},"actionDate":{"type":"string"},"subRecipient":{"anyOf":[{"$ref":"#/components/schemas/SubawardParty"},{"type":"null"}]},"place":{"description":"Place of performance (or the sub-recipient's address).","type":["string","null"]},"description":{"description":"The prime's text, with contact details and people's names removed.","type":["string","null"]}},"required":["id","subawardNumber","amount","actionDate","subRecipient","place","description"]},"description":"The largest subawards (reports that count)."}},"required":["source","firstFiscalYear","awardId","primeObligated","obligatedSince","reported","topSubRecipients","subawards"],"description":"Subawards reported on one contract award: totals, largest sub-recipients and subawards."},"SubawardsRecipient":{"type":"object","properties":{"source":{"$ref":"#/components/schemas/SourceInfo"},"firstFiscalYear":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"First fiscal year of subaward history loaded (null before the first load)."},"recipientId":{"type":"string"},"uei":{"type":["string","null"]},"fiscalYear":{"type":"integer"},"asPrime":{"type":"object","properties":{"totals":{"type":"array","items":{"$ref":"#/components/schemas/SubawardsKindTotals"}},"subRecipients":{"type":"number"},"top":{"type":"array","items":{"$ref":"#/components/schemas/SubawardRankedParty"}},"contractObligations":{"type":"number","description":"The recipient's contract obligations in the fiscal year, next to its reported sub-contracts."},"subcontractShare":{"anyOf":[{"type":"number","description":"Percent (0–100)."},{"type":"null"}]}},"required":["totals","subRecipients","top","contractObligations","subcontractShare"],"description":"What it reported paying others."},"asSub":{"type":"object","properties":{"totals":{"type":"array","items":{"$ref":"#/components/schemas/SubawardsKindTotals"}},"primes":{"type":"number"},"top":{"type":"array","items":{"$ref":"#/components/schemas/SubawardRankedParty"}}},"required":["totals","primes","top"],"description":"Primes that reported paying it."},"years":{"type":"array","items":{"type":"object","properties":{"fiscalYear":{"type":"integer"},"asPrime":{"type":"number","description":"US dollars reported by the prime."},"asSub":{"type":"number","description":"US dollars reported by the prime."}},"required":["fiscalYear","asPrime","asSub"]},"description":"Amounts by fiscal year in both roles (every loaded year)."}},"required":["source","firstFiscalYear","recipientId","uei","fiscalYear","asPrime","asSub","years"],"description":"A contract recipient in subaward reports, as a prime and as a sub-recipient (matched by UEI)."},"SubawardsAgency":{"type":"object","properties":{"source":{"$ref":"#/components/schemas/SourceInfo"},"firstFiscalYear":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"First fiscal year of subaward history loaded (null before the first load)."},"agencyId":{"type":"integer"},"fiscalYear":{"type":"integer"},"totals":{"type":"array","items":{"$ref":"#/components/schemas/SubawardsKindTotals"}},"subRecipients":{"type":"number"},"top":{"type":"array","items":{"$ref":"#/components/schemas/SubawardRankedParty"}}},"required":["source","firstFiscalYear","agencyId","fiscalYear","totals","subRecipients","top"],"description":"Subawards under a toptier or subtier agency's prime awards."},"FeatureAccess":{"type":"object","properties":{"feature":{"type":"string","enum":["competitorTracking","teamingPartners"],"description":"The paid feature that widens this payload."},"full":{"type":"boolean","description":"The caller's plan includes the feature: the full lists are in this payload."},"limit":{"type":"integer","description":"Rows per list in this payload (3 without the feature, 25 with it)."}},"required":["feature","full","limit"],"description":"What the caller's plan shows of a list. Rows beyond `limit` are never sent to a caller without the feature."},"CompanyMarket":{"type":"object","properties":{"agencyId":{"type":"integer","description":"Awarding subtier agency id."},"agencyName":{"type":"string"},"naics":{"type":"string","description":"NAICS industry group: the first four digits of the award's NAICS code."},"naicsName":{"type":"string"},"company":{"type":"number","description":"The company's obligations in the market over the window."}},"required":["agencyId","agencyName","naics","naicsName","company"],"description":"A market (subtier agency × NAICS industry group) of the company."},"CompetitorMarket":{"type":"object","properties":{"agencyId":{"type":"integer","description":"Awarding subtier agency id."},"agencyName":{"type":"string"},"naics":{"type":"string","description":"NAICS industry group: the first four digits of the award's NAICS code."},"naicsName":{"type":"string"},"company":{"type":"number","description":"The company's obligations in the market over the window."},"competitor":{"type":"number","description":"The competitor's obligations in the market over the window."}},"required":["agencyId","agencyName","naics","naicsName","company","competitor"],"description":"A market both companies sell in, with each side's obligations over the window."},"Competitor":{"type":"object","properties":{"id":{"type":"string","description":"Recipient id of the competitor company (the representative of its family)."},"name":{"type":"string"},"location":{"type":["string","null"]},"entities":{"type":"integer","description":"Legal entities in its company family; 1 without a family."},"similarity":{"type":"number","description":"Weighted Jaccard index of the two companies' obligations by market, 0 to 1: `overlap / (company + competitor − overlap)`. Grows with the dollars both hold in common markets and shrinks with the dollars each holds elsewhere, so a company of the same size and mix ranks above a giant that merely also sells there."},"overlap":{"type":"number","description":"Dollars both hold in shared markets: the smaller of the two in each market, summed."},"overlapShare":{"type":"number","description":"`overlap` as a percent of the company's obligations over the window."},"obligations":{"type":"number","description":"The competitor's obligations over the window (all of its markets)."},"years":{"type":"array","items":{"type":"object","properties":{"fiscalYear":{"type":"integer"},"obligations":{"type":"number","description":"US dollars."}},"required":["fiscalYear","obligations"]},"description":"Its obligations in each fiscal year of the window, zero included."},"change":{"description":"Percent change between the last two complete fiscal years of the window; null when it cannot be told.","type":["number","null"]},"sharedMarkets":{"type":"array","items":{"$ref":"#/components/schemas/CompetitorMarket"},"description":"The shared markets with the most overlap (up to three)."},"sharedMarketCount":{"type":"integer","description":"Shared markets in total (among the company's largest 300)."}},"required":["id","name","location","entities","similarity","overlap","overlapShare","obligations","years","change","sharedMarkets","sharedMarketCount"],"description":"A company that competes with the company in its markets."},"CompetitorsRecipient":{"type":"object","properties":{"recipientId":{"type":"string","description":"The recipient asked for."},"company":{"type":"object","properties":{"id":{"type":"string","description":"Recipient id of the company (the representative of its family): opens /api/v1/contracts/recipients/{id}."},"name":{"type":"string"},"entities":{"type":"integer","description":"Legal entities (UEIs) in its company family; 1 without a family."}},"required":["id","name","entities"]},"fiscalYear":{"type":"integer","description":"The fiscal year the window ends in."},"window":{"type":"object","properties":{"from":{"type":"integer"},"to":{"type":"integer"},"inProgress":{"type":"boolean","description":"The last fiscal year is not complete yet."}},"required":["from","to","inProgress"],"description":"Fiscal years compared: the last three up to `fiscalYear`, within the loaded history."},"obligations":{"type":"number","description":"The company's obligations over the window."},"marketCount":{"type":"integer","description":"Markets the company sells in (its largest 300 are compared)."},"markets":{"type":"array","items":{"$ref":"#/components/schemas/CompanyMarket"},"description":"The company's largest markets."},"competitors":{"type":"array","items":{"$ref":"#/components/schemas/Competitor"},"description":"Most similar first: 3 without the plan, up to 25 with it."},"found":{"type":"integer","description":"Competitors found (up to 25); `competitors` may show fewer."},"access":{"$ref":"#/components/schemas/FeatureAccess"},"source":{"$ref":"#/components/schemas/SourceInfo"}},"required":["recipientId","company","fiscalYear","window","obligations","marketCount","markets","competitors","found","access","source"],"description":"The competitors of a company: other companies that win from the same buyers in the same markets, from prime contract obligations over three fiscal years."},"TeamingPartner":{"type":"object","properties":{"uei":{"type":"string","description":"SAM Unique Entity ID."},"name":{"type":"string"},"location":{"type":["string","null"]},"recipientId":{"description":"Contract recipient id with the same UEI (for /api/v1/contracts/recipients/{id}), when it has one.","type":["string","null"]},"amount":{"type":"number","description":"US dollars reported by primes (FFATA first-tier subawards): inside the primes' obligations, never added to anyone's prime totals."},"subawards":{"type":"number"},"fiscalYears":{"type":"array","items":{"type":"integer"},"description":"Fiscal years with a report between the two."},"industries":{"type":"array","items":{"type":"object","properties":{"naics":{"type":"string"},"naicsName":{"type":"string"},"amount":{"type":"number","description":"US dollars."}},"required":["naics","naicsName","amount"]},"description":"NAICS industry groups of the prime awards behind the relationship with the most reported money (up to two; sub-contracts under contracts only)."},"agencies":{"type":"array","items":{"type":"object","properties":{"agencyId":{"anyOf":[{"type":"integer"},{"type":"null"}]},"agencyName":{"type":"string"},"amount":{"type":"number","description":"US dollars."}},"required":["agencyId","agencyName","amount"]},"description":"Awarding subtier agencies of those prime awards (up to two)."}},"required":["uei","name","location","recipientId","amount","subawards","fiscalYears","industries","agencies"],"description":"A company the company reported paying, or a prime that reported paying it. A partner that is a contract recipient is its whole company family (`recipientId` is its representative)."},"TeamingRole":{"type":"object","properties":{"total":{"type":"integer","description":"Distinct partner companies in this role."},"amount":{"type":"number","description":"US dollars reported by primes (FFATA first-tier subawards): inside the primes' obligations, never added to anyone's prime totals."},"partners":{"type":"array","items":{"$ref":"#/components/schemas/TeamingPartner"},"description":"The largest partners by reported amount: 3 without the plan, up to 25 with it."}},"required":["total","amount","partners"],"description":"The partners of a company in one role."},"PotentialPartner":{"type":"object","properties":{"uei":{"type":"string","description":"SAM Unique Entity ID."},"name":{"type":"string"},"location":{"type":["string","null"]},"recipientId":{"description":"Contract recipient id with the same UEI (for /api/v1/contracts/recipients/{id}), when it has one.","type":["string","null"]},"amount":{"type":"number","description":"Reported by the competitors below."},"subawards":{"type":"number"},"competitors":{"type":"integer","description":"How many of the company's competitors reported paying it."},"via":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"amount":{"type":"number","description":"US dollars."}},"required":["id","name","amount"]},"description":"The competitors that paid it the most (up to three), with the reported amount."}},"required":["uei","name","location","recipientId","amount","subawards","competitors","via"],"description":"A company with no report with the company, in either direction, that sub-contracts for the company's competitors."},"TeamingRecipient":{"type":"object","properties":{"source":{"$ref":"#/components/schemas/SourceInfo"},"firstFiscalYear":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"First fiscal year of subaward history loaded (null before the first load)."},"recipientId":{"type":"string"},"company":{"type":"object","properties":{"id":{"type":"string","description":"Recipient id of the company (the representative of its family): opens /api/v1/contracts/recipients/{id}."},"name":{"type":"string"},"entities":{"type":"integer","description":"Legal entities (UEIs) in its company family; 1 without a family."}},"required":["id","name","entities"]},"fiscalYears":{"type":"array","items":{"type":"integer"},"description":"Fiscal years in which the company appears in subaward reports, in either role."},"subcontractors":{"description":"Companies it reported paying (as a prime).","$ref":"#/components/schemas/TeamingRole"},"primes":{"description":"Primes that reported paying it (as a sub-recipient).","$ref":"#/components/schemas/TeamingRole"},"potential":{"anyOf":[{"type":"object","properties":{"partners":{"type":"array","items":{"$ref":"#/components/schemas/PotentialPartner"}},"competitors":{"type":"integer","description":"Competitors whose subcontractors were searched."}},"required":["partners","competitors"]},{"type":"null"}],"description":"Potential partners: null without the `teamingPartners` plan (and when the company has no competitors)."},"access":{"$ref":"#/components/schemas/FeatureAccess"}},"required":["source","firstFiscalYear","recipientId","company","fiscalYears","subcontractors","primes","potential","access"],"description":"A company's teaming partners: who it passes subcontract money to, who passes it money, and potential partners. Organizations only."},"CongressSource":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"publisher":{"type":"string"},"attribution":{"type":"string","description":"Credit line to show with the data (Voteview's is the required citation)."},"homepage":{"type":"string"},"license":{"type":"string"},"vintage":{"type":["string","null"]},"loadedAt":{"type":["string","null"]}},"required":["id","name","publisher","attribution","homepage","license","vintage","loadedAt"],"description":"Provenance of one source behind a Congress or elections payload."},"CongressTally":{"type":"object","properties":{"yea":{"type":"integer"},"nay":{"type":"integer"},"present":{"type":"integer"},"notVoting":{"type":"integer"}},"required":["yea","nay","present","notVoting"],"description":"Recorded positions on a roll call."},"CongressMemberRef":{"type":"object","properties":{"id":{"type":"string","description":"Bioguide id."},"name":{"type":"string"},"party":{"type":"string","enum":["D","R","I","L","O"],"description":"`D` Democrat, `R` Republican, `I` independent, `L` Libertarian, `O` other."},"state":{"type":"string","description":"Postal code."},"districtId":{"description":"District id (\"CA-12\", \"AK-AL\") for representatives; null for senators.","type":["string","null"]},"chamber":{"anyOf":[{"type":"string","enum":["house","senate"]},{"type":"null"}]}},"required":["id","name","party","state","districtId","chamber"],"description":"A member of Congress."},"CongressSummary":{"type":"object","properties":{"congress":{"type":"integer"},"start":{"type":"string","description":"YYYY-MM-DD."},"end":{"type":"string","description":"YYYY-MM-DD."},"plan":{"description":"District plan the House sat in (null until the Census publishes it).","type":["string","null"]},"current":{"type":"boolean"},"votes":{"type":"object","properties":{"house":{"type":"integer"},"senate":{"type":"integer"}},"required":["house","senate"],"description":"Roll calls loaded per chamber."},"bills":{"type":"integer"},"laws":{"type":"integer"},"lastVoteOn":{"type":["string","null"]}},"required":["congress","start","end","plan","current","votes","bills","laws","lastVoteOn"],"description":"A loaded Congress with its roll calls, bills and laws."},"CongressMeta":{"type":"object","properties":{"version":{"type":"string","description":"Congress data version (pin it with `v`)."},"currentCongress":{"type":"integer"},"congresses":{"type":"array","items":{"$ref":"#/components/schemas/CongressSummary"},"description":"Loaded Congresses, newest first."},"election":{"type":"object","properties":{"cycle":{"type":"integer"},"date":{"type":"string","description":"YYYY-MM-DD."}},"required":["cycle","date"],"description":"The next federal general election."},"moneyPlan":{"type":"string","description":"District plan contract money is attributed to."},"moneyFiscalYears":{"type":"array","items":{"type":"integer"},"description":"Fiscal years of contract money by district (the `fy` values of /api/v1/congress/money)."},"shapes":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"},"description":"Content hash of each plan's district shapes (`/api/v1/geo/shards/districts/{plan}?h=`)."},"sources":{"type":"array","items":{"$ref":"#/components/schemas/CongressSource"}},"updatedAt":{"type":["string","null"]}},"required":["version","currentCongress","congresses","election","moneyPlan","moneyFiscalYears","shapes","sources","updatedAt"],"description":"Loaded Congresses, the next election, district plans and provenance."},"CongressMemberStats":{"type":"object","properties":{"votes":{"type":"integer","description":"Roll calls held while the member served."},"missed":{"type":"integer"},"unityVotes":{"type":"integer","description":"Party-unity votes (most voting Democrats against most voting Republicans) the member cast a yea or nay on."},"withParty":{"type":"integer","description":"Of `unityVotes`, those cast with the caucus majority."},"nominate":{"description":"DW-NOMINATE first dimension (Voteview), −1 to 1.","type":["number","null"]},"sponsored":{"type":"integer"},"enacted":{"type":"integer"},"cosponsored":{"type":"integer"},"crossPartyCosponsored":{"type":"integer","description":"Cosponsored bills whose sponsor caucuses with the other party."}},"required":["votes","missed","unityVotes","withParty","nominate","sponsored","enacted","cosponsored","crossPartyCosponsored"],"description":"A member's activity in one Congress and chamber; every rate has its denominator beside it."},"CongressChamber":{"type":"object","properties":{"version":{"type":"string"},"congress":{"type":"integer"},"chamber":{"type":"string","enum":["house","senate"]},"referenceDate":{"type":"string","description":"Today for the current Congress, its last day otherwise."},"plan":{"type":["string","null"]},"members":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"lastName":{"type":"string"},"party":{"type":"string","enum":["D","R","I","L","O"],"description":"`D` Democrat, `R` Republican, `I` independent, `L` Libertarian, `O` other."},"caucus":{"type":"string","enum":["D","R","I","L","O"],"description":"The party the member's votes are compared with (independents caucus with one)."},"state":{"type":"string"},"district":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"House district number (0 at large); null for senators."},"districtId":{"type":["string","null"]},"seat":{"type":"string","description":"The district id, or state and Senate class (\"CA-S1\")."},"delegate":{"type":"boolean"},"from":{"type":"string","description":"YYYY-MM-DD."},"to":{"type":"string","description":"YYYY-MM-DD."},"seated":{"type":"boolean","description":"Holds the seat on `referenceDate`."},"stats":{"$ref":"#/components/schemas/CongressMemberStats"}},"required":["id","name","lastName","party","caucus","state","district","districtId","seat","delegate","from","to","seated","stats"]}},"vacancies":{"type":"array","items":{"type":"string"},"description":"Seats vacant on the reference date."},"rollCalls":{"type":"integer","description":"Roll calls of the Congress in the chamber (the denominator of attendance)."},"unityRollCalls":{"type":"integer"}},"required":["version","congress","chamber","referenceDate","plan","members","vacancies","rollCalls","unityRollCalls"],"description":"Everyone who sat in a chamber during a Congress, with seat and activity."},"CongressVoteSummary":{"type":"object","properties":{"id":{"type":"string","description":"\"h119-2-245\": chamber initial, Congress, session, roll number."},"chamber":{"type":"string","enum":["house","senate"]},"congress":{"type":"integer"},"session":{"type":"integer"},"roll":{"type":"integer"},"date":{"type":"string","description":"YYYY-MM-DD."},"time":{"description":"HH:MM as published (House only; Voteview has no time).","type":["string","null"]},"question":{"type":"string"},"category":{"type":"string","enum":["passage","amendment","procedural","cloture","nomination","other"],"description":"Kind of question: passage, amendment, procedural, cloture, nomination or other."},"result":{"type":"string"},"passed":{"type":["boolean","null"]},"measure":{"anyOf":[{"type":"object","properties":{"label":{"type":"string"},"billId":{"type":["string","null"]},"title":{"type":["string","null"]}},"required":["label","billId","title"]},{"type":"null"}],"description":"The measure voted on, as the record names it."},"totals":{"$ref":"#/components/schemas/CongressTally"},"byParty":{"type":"object","propertyNames":{"type":"string","enum":["D","R","I","L","O"],"description":"`D` Democrat, `R` Republican, `I` independent, `L` Libertarian, `O` other."},"additionalProperties":{"$ref":"#/components/schemas/CongressTally"}},"partyUnity":{"type":"boolean","description":"Most voting Democrats opposed most voting Republicans."}},"required":["id","chamber","congress","session","roll","date","time","question","category","result","passed","measure","totals","byParty","partyUnity"],"description":"A recorded roll call."},"CongressVotesPage":{"type":"object","properties":{"version":{"type":"string"},"items":{"type":"array","items":{"$ref":"#/components/schemas/CongressVoteSummary"}},"next":{"description":"Pass back as `cursor` for the next page; null on the last.","type":["string","null"]}},"required":["version","items","next"],"description":"A page of roll calls, newest first."},"CongressBillSummary":{"type":"object","properties":{"id":{"type":"string","description":"\"119-hr-4365\"."},"congress":{"type":"integer"},"type":{"type":"string","enum":["hr","s","hjres","sjres","hconres","sconres","hres","sres"]},"number":{"type":"integer"},"label":{"type":"string","description":"\"H.R. 4365\"."},"title":{"type":"string"},"introducedOn":{"type":"string","description":"YYYY-MM-DD."},"sponsor":{"anyOf":[{"$ref":"#/components/schemas/CongressMemberRef"},{"type":"null"}],"description":"The sponsor as of introduction."},"policyArea":{"description":"CRS policy area (one per measure).","type":["string","null"]},"stage":{"type":"string","enum":["introduced","reported","passed_one","passed_both","to_president","law","vetoed","failed"],"description":"Furthest stage reached, from the Library of Congress action codes."},"latestActionOn":{"type":["string","null"]},"latestAction":{"type":["string","null"]},"laws":{"type":"array","items":{"type":"string"},"description":"Public law numbers (\"119-21\")."},"cosponsors":{"type":"integer"},"crossPartyCosponsors":{"type":"integer"}},"required":["id","congress","type","number","label","title","introducedOn","sponsor","policyArea","stage","latestActionOn","latestAction","laws","cosponsors","crossPartyCosponsors"],"description":"A bill or resolution."},"CongressBillsPage":{"type":"object","properties":{"version":{"type":"string"},"items":{"type":"array","items":{"$ref":"#/components/schemas/CongressBillSummary"}},"next":{"description":"Pass back as `cursor` for the next page; null on the last.","type":["string","null"]},"total":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Bills matching the filters."}},"required":["version","items","next","total"],"description":"A page of bills, latest action first (relevance first for a text search)."},"CongressVote":{"type":"object","properties":{"id":{"type":"string","description":"\"h119-2-245\": chamber initial, Congress, session, roll number."},"chamber":{"type":"string","enum":["house","senate"]},"congress":{"type":"integer"},"session":{"type":"integer"},"roll":{"type":"integer"},"date":{"type":"string","description":"YYYY-MM-DD."},"time":{"description":"HH:MM as published (House only; Voteview has no time).","type":["string","null"]},"question":{"type":"string"},"category":{"type":"string","enum":["passage","amendment","procedural","cloture","nomination","other"],"description":"Kind of question: passage, amendment, procedural, cloture, nomination or other."},"result":{"type":"string"},"passed":{"type":["boolean","null"]},"measure":{"anyOf":[{"type":"object","properties":{"label":{"type":"string"},"billId":{"type":["string","null"]},"title":{"type":["string","null"]}},"required":["label","billId","title"]},{"type":"null"}],"description":"The measure voted on, as the record names it."},"totals":{"$ref":"#/components/schemas/CongressTally"},"byParty":{"type":"object","propertyNames":{"type":"string","enum":["D","R","I","L","O"],"description":"`D` Democrat, `R` Republican, `I` independent, `L` Libertarian, `O` other."},"additionalProperties":{"$ref":"#/components/schemas/CongressTally"}},"partyUnity":{"type":"boolean","description":"Most voting Democrats opposed most voting Republicans."},"version":{"type":"string"},"description":{"type":["string","null"]},"amendment":{"type":["string","null"]},"voteType":{"type":["string","null"]},"sourceUrl":{"type":"string","description":"The official record (House Clerk) or Voteview's."},"sourceId":{"type":"string","description":"Source of the positions: `house-clerk-votes` or `voteview`."},"plan":{"description":"District plan of the House members' `districtId`.","type":["string","null"]},"positions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"party":{"type":"string","enum":["D","R","I","L","O"],"description":"`D` Democrat, `R` Republican, `I` independent, `L` Libertarian, `O` other."},"state":{"type":"string"},"districtId":{"type":["string","null"]},"position":{"type":"string","enum":["yea","nay","present","not_voting","other"],"description":"As recorded: `yea`, `nay`, `present`, `not_voting` (pairs and announcements included), `other` (a vote for a name, as in the election of the Speaker)."},"detail":{"description":"The name voted for (Speaker elections) or a pair or announcement code.","type":["string","null"]},"defected":{"type":"boolean","description":"A Democrat or Republican who voted yea or nay against the majority of their party's voting members."}},"required":["id","name","party","state","districtId","position","detail","defected"]}},"bill":{"anyOf":[{"$ref":"#/components/schemas/CongressBillSummary"},{"type":"null"}]},"related":{"type":"array","items":{"$ref":"#/components/schemas/CongressVoteSummary"},"description":"Other roll calls on the same measure, oldest first."},"sources":{"type":"array","items":{"$ref":"#/components/schemas/CongressSource"}}},"required":["id","chamber","congress","session","roll","date","time","question","category","result","passed","measure","totals","byParty","partyUnity","version","description","amendment","voteType","sourceUrl","sourceId","plan","positions","bill","related","sources"],"description":"A roll call with every member's recorded position."},"CongressBill":{"type":"object","properties":{"id":{"type":"string","description":"\"119-hr-4365\"."},"congress":{"type":"integer"},"type":{"type":"string","enum":["hr","s","hjres","sjres","hconres","sconres","hres","sres"]},"number":{"type":"integer"},"label":{"type":"string","description":"\"H.R. 4365\"."},"title":{"type":"string"},"introducedOn":{"type":"string","description":"YYYY-MM-DD."},"sponsor":{"anyOf":[{"$ref":"#/components/schemas/CongressMemberRef"},{"type":"null"}],"description":"The sponsor as of introduction."},"policyArea":{"description":"CRS policy area (one per measure).","type":["string","null"]},"stage":{"type":"string","enum":["introduced","reported","passed_one","passed_both","to_president","law","vetoed","failed"],"description":"Furthest stage reached, from the Library of Congress action codes."},"latestActionOn":{"type":["string","null"]},"latestAction":{"type":["string","null"]},"laws":{"type":"array","items":{"type":"string"},"description":"Public law numbers (\"119-21\")."},"cosponsors":{"type":"integer"},"crossPartyCosponsors":{"type":"integer"},"version":{"type":"string"},"officialTitle":{"type":["string","null"]},"summary":{"description":"The latest CRS summary.","type":["string","null"]},"summaryLabel":{"type":["string","null"]},"summaryOn":{"type":["string","null"]},"subjects":{"type":"array","items":{"type":"string"}},"committees":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"chamber":{"type":"string"}},"required":["id","name","chamber"]},"description":"Committees the measure was referred to."},"actions":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string","description":"YYYY-MM-DD."},"text":{"type":"string"},"type":{"type":["string","null"]},"code":{"type":["string","null"]},"source":{"type":["string","null"]},"voteIds":{"type":"array","items":{"type":"string"}}},"required":["date","text","type","code","source","voteIds"]}},"cosponsorList":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Bioguide id."},"name":{"type":"string"},"party":{"type":"string","enum":["D","R","I","L","O"],"description":"`D` Democrat, `R` Republican, `I` independent, `L` Libertarian, `O` other."},"state":{"type":"string","description":"Postal code."},"districtId":{"description":"District id (\"CA-12\", \"AK-AL\") for representatives; null for senators.","type":["string","null"]},"chamber":{"anyOf":[{"type":"string","enum":["house","senate"]},{"type":"null"}]},"original":{"type":"boolean"},"date":{"type":"string","description":"YYYY-MM-DD."},"withdrawnOn":{"type":["string","null"]}},"required":["id","name","party","state","districtId","chamber","original","date","withdrawnOn"]}},"votes":{"type":"array","items":{"$ref":"#/components/schemas/CongressVoteSummary"},"description":"Roll calls on the measure, oldest first."},"agencies":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string"},"name":{"type":"string"},"agencyId":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"required":["code","name","agencyId"]},"description":"Toptier agencies under the referred committees' jurisdiction (Analisa's mapping)."},"lobbying":{"anyOf":[{"type":"object","properties":{"organizations":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"reports":{"type":"integer"},"spend":{"type":"number","description":"What the organization reported spending in the reports naming the bill; a report's amount covers all its issues, so this is an upper bound."},"recipientId":{"description":"Contract recipient the organization is matched to (AI), when any.","type":["string","null"]},"recipientName":{"type":["string","null"]},"contractObligations":{"anyOf":[{"type":"number","description":"US dollars."},{"type":"null"}],"description":"The matched recipient's contract obligations in `fiscalYear`; null without a match or obligations."},"probability":{"description":"AI link probability (0–1) of the match; null without one.","type":["number","null"]}},"required":["id","name","reports","spend","recipientId","recipientName","contractObligations","probability"]}},"reports":{"type":"integer"},"years":{"type":"array","items":{"type":"integer"}},"fiscalYear":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Fiscal year of `contractObligations`: the latest closed fiscal year loaded."}},"required":["organizations","reports","years","fiscalYear"]},{"type":"null"}],"description":"Organizations that named the bill in lobbying reports (House Clerk, LDA); disclosed activity, never evidence of influence. Null when none did."},"congressGovUrl":{"type":"string"},"sources":{"type":"array","items":{"$ref":"#/components/schemas/CongressSource"}}},"required":["id","congress","type","number","label","title","introducedOn","sponsor","policyArea","stage","latestActionOn","latestAction","laws","cosponsors","crossPartyCosponsors","version","officialTitle","summary","summaryLabel","summaryOn","subjects","committees","actions","cosponsorList","votes","agencies","lobbying","congressGovUrl","sources"],"description":"A bill's record: history, cosponsors, roll calls, CRS summary, committees and lobbying."},"CongressMember":{"type":"object","properties":{"version":{"type":"string"},"id":{"type":"string"},"slug":{"type":"string"},"name":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"birthYear":{"anyOf":[{"type":"integer"},{"type":"null"}]},"gender":{"type":["string","null"]},"party":{"type":"string","enum":["D","R","I","L","O"],"description":"`D` Democrat, `R` Republican, `I` independent, `L` Libertarian, `O` other."},"caucus":{"type":"string","enum":["D","R","I","L","O"],"description":"`D` Democrat, `R` Republican, `I` independent, `L` Libertarian, `O` other."},"partyName":{"type":"string"},"chamber":{"type":"string","enum":["house","senate"]},"state":{"type":"string"},"district":{"anyOf":[{"type":"integer"},{"type":"null"}]},"districtId":{"type":["string","null"]},"delegate":{"type":"boolean"},"current":{"type":"boolean","description":"In office today."},"since":{"type":"string","description":"First day in Congress, as far as the loaded terms go back."},"terms":{"type":"array","items":{"type":"object","properties":{"chamber":{"type":"string","enum":["house","senate"]},"start":{"type":"string","description":"YYYY-MM-DD."},"end":{"type":"string","description":"YYYY-MM-DD."},"state":{"type":"string"},"district":{"anyOf":[{"type":"integer"},{"type":"null"}]},"party":{"type":"string","enum":["D","R","I","L","O"],"description":"`D` Democrat, `R` Republican, `I` independent, `L` Libertarian, `O` other."}},"required":["chamber","start","end","state","district","party"]}},"contact":{"type":"object","properties":{"website":{"type":["string","null"]},"office":{"type":["string","null"]},"phone":{"type":["string","null"]},"contactForm":{"type":["string","null"]}},"required":["website","office","phone","contactForm"]},"committees":{"type":"array","items":{"type":"object","properties":{"committeeId":{"type":"string"},"name":{"type":"string"},"parentId":{"type":["string","null"]},"parentName":{"type":["string","null"]},"title":{"type":["string","null"]},"side":{"type":["string","null"]},"rank":{"anyOf":[{"type":"integer"},{"type":"null"}]},"current":{"type":"boolean"}},"required":["committeeId","name","parentId","parentName","title","side","rank","current"]}},"record":{"type":"array","items":{"type":"object","properties":{"congress":{"type":"integer"},"chamber":{"type":"string","enum":["house","senate"]},"stats":{"$ref":"#/components/schemas/CongressMemberStats"},"rank":{"type":"object","properties":{"loyalty":{"anyOf":[{"type":"integer"},{"type":"null"}]},"missed":{"anyOf":[{"type":"integer"},{"type":"null"}]},"of":{"type":"integer"}},"required":["loyalty","missed","of"],"description":"Rank (1 = highest rate) among members with at least 100 roll calls; null under that."}},"required":["congress","chamber","stats","rank"]},"description":"Per loaded Congress and chamber served, newest first."},"ideology":{"anyOf":[{"type":"object","properties":{"congress":{"type":"integer"},"chamber":{"type":"string","enum":["house","senate"]},"dim1":{"type":"number"},"partyMedians":{"type":"object","propertyNames":{"type":"string","enum":["D","R","I","L","O"],"description":"`D` Democrat, `R` Republican, `I` independent, `L` Libertarian, `O` other."},"additionalProperties":{"type":"number"}},"chamberRange":{"type":"array","prefixItems":[{"type":"number"},{"type":"number"}],"items":false,"minItems":2,"maxItems":2}},"required":["congress","chamber","dim1","partyMedians","chamberRange"]},{"type":"null"}],"description":"DW-NOMINATE placement (Voteview) in the latest Congress scored, with the party medians and the chamber's range."},"recentVotes":{"type":"array","items":{"type":"object","properties":{"vote":{"$ref":"#/components/schemas/CongressVoteSummary"},"position":{"type":"string","enum":["yea","nay","present","not_voting","other"],"description":"As recorded: `yea`, `nay`, `present`, `not_voting` (pairs and announcements included), `other` (a vote for a name, as in the election of the Speaker)."},"withParty":{"description":"Voted with the majority of their party (null when not a yea or nay, or the party had no majority).","type":["boolean","null"]}},"required":["vote","position","withParty"]},"description":"Latest passage and amendment votes."},"breaks":{"type":"array","items":{"type":"object","properties":{"vote":{"$ref":"#/components/schemas/CongressVoteSummary"},"position":{"type":"string","enum":["yea","nay","present","not_voting","other"],"description":"As recorded: `yea`, `nay`, `present`, `not_voting` (pairs and announcements included), `other` (a vote for a name, as in the election of the Speaker)."},"withParty":{"description":"Voted with the majority of their party (null when not a yea or nay, or the party had no majority).","type":["boolean","null"]}},"required":["vote","position","withParty"]},"description":"Latest passage and amendment party-unity votes against the caucus majority."},"sponsored":{"type":"object","properties":{"total":{"type":"integer"},"enacted":{"type":"integer"},"byStage":{"type":"object","propertyNames":{"type":"string","enum":["introduced","reported","passed_one","passed_both","to_president","law","vetoed","failed"],"description":"Furthest stage reached, from the Library of Congress action codes."},"additionalProperties":{"type":"integer"}},"byArea":{"type":"array","items":{"type":"object","properties":{"area":{"type":"string"},"count":{"type":"integer"}},"required":["area","count"]}},"recent":{"type":"array","items":{"$ref":"#/components/schemas/CongressBillSummary"}}},"required":["total","enacted","byStage","byArea","recent"]},"ids":{"type":"object","properties":{"govtrack":{"anyOf":[{"type":"integer"},{"type":"null"}]},"opensecrets":{"type":["string","null"]},"wikidata":{"type":["string","null"]},"ballotpedia":{"type":["string","null"]},"fec":{"type":"array","items":{"type":"string"}}},"required":["govtrack","opensecrets","wikidata","ballotpedia","fec"]},"sources":{"type":"array","items":{"$ref":"#/components/schemas/CongressSource"}}},"required":["version","id","slug","name","firstName","lastName","birthYear","gender","party","caucus","partyName","chamber","state","district","districtId","delegate","current","since","terms","contact","committees","record","ideology","recentVotes","breaks","sponsored","ids","sources"],"description":"A member's terms, committees, recorded voting per Congress, ideology placement, votes and sponsored bills."},"CongressCommittee":{"type":"object","properties":{"version":{"type":"string"},"id":{"type":"string"},"name":{"type":"string"},"chamber":{"type":"string"},"kind":{"type":"string"},"url":{"type":["string","null"]},"parent":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"]},{"type":"null"}]},"subcommittees":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"members":{"type":"integer"}},"required":["id","name","members"]}},"members":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Bioguide id."},"name":{"type":"string"},"party":{"type":"string","enum":["D","R","I","L","O"],"description":"`D` Democrat, `R` Republican, `I` independent, `L` Libertarian, `O` other."},"state":{"type":"string","description":"Postal code."},"districtId":{"description":"District id (\"CA-12\", \"AK-AL\") for representatives; null for senators.","type":["string","null"]},"chamber":{"anyOf":[{"type":"string","enum":["house","senate"]},{"type":"null"}]},"title":{"type":["string","null"]},"side":{"type":["string","null"]},"rank":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"required":["id","name","party","state","districtId","chamber","title","side","rank"]},"description":"Current members as published."},"agencies":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string"},"name":{"type":"string"},"agencyId":{"anyOf":[{"type":"integer"},{"type":"null"}]},"obligations":{"anyOf":[{"type":"number","description":"US dollars."},{"type":"null"}]}},"required":["code","name","agencyId","obligations"]},"description":"Toptier agencies in its jurisdiction (Analisa's mapping) with their contract obligations in `fiscalYear`."},"fiscalYear":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Fiscal year of the agencies' obligations: the latest closed fiscal year loaded."},"jurisdictionNote":{"type":["string","null"]},"bills":{"type":"object","properties":{"congress":{"type":"integer"},"referred":{"type":"integer"},"reported":{"type":"integer"},"enacted":{"type":"integer"},"recent":{"type":"array","items":{"$ref":"#/components/schemas/CongressBillSummary"}}},"required":["congress","referred","reported","enacted","recent"],"description":"Bills referred to it in the current Congress."},"sources":{"type":"array","items":{"$ref":"#/components/schemas/CongressSource"}}},"required":["version","id","name","chamber","kind","url","parent","subcommittees","members","agencies","fiscalYear","jurisdictionNote","bills","sources"],"description":"A committee or subcommittee: members, subcommittees, agencies in its jurisdiction and bills."},"CongressPatterns":{"type":"object","properties":{"version":{"type":"string"},"congress":{"type":"integer"},"chamber":{"type":"string","enum":["house","senate"]},"rollCalls":{"type":"integer"},"unityRollCalls":{"type":"integer"},"categories":{"type":"array","items":{"type":"object","properties":{"category":{"type":"string","enum":["passage","amendment","procedural","cloture","nomination","other"],"description":"Kind of question: passage, amendment, procedural, cloture, nomination or other."},"count":{"type":"integer"},"passed":{"type":"integer"}},"required":["category","count","passed"]}},"calendar":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string","description":"YYYY-MM-DD."},"votes":{"type":"integer"}},"required":["date","votes"]}},"unityByMonth":{"type":"array","items":{"type":"object","properties":{"month":{"type":"string","description":"YYYY-MM."},"rollCalls":{"type":"integer"},"unity":{"type":"integer"}},"required":["month","rollCalls","unity"]}},"bipartisan":{"type":"object","properties":{"votes":{"type":"integer"},"agreed":{"type":"integer"}},"required":["votes","agreed"],"description":"How often a majority of each party voted the same way, over votes both parties cast."},"mavericks":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Bioguide id."},"name":{"type":"string"},"party":{"type":"string","enum":["D","R","I","L","O"],"description":"`D` Democrat, `R` Republican, `I` independent, `L` Libertarian, `O` other."},"state":{"type":"string","description":"Postal code."},"districtId":{"description":"District id (\"CA-12\", \"AK-AL\") for representatives; null for senators.","type":["string","null"]},"chamber":{"anyOf":[{"type":"string","enum":["house","senate"]},{"type":"null"}]},"breaks":{"type":"integer"},"unityVotes":{"type":"integer"}},"required":["id","name","party","state","districtId","chamber","breaks","unityVotes"]},"description":"Members with the most party-unity votes against their caucus majority."},"closest":{"type":"array","items":{"$ref":"#/components/schemas/CongressVoteSummary"}},"funnel":{"type":"array","items":{"type":"object","properties":{"stage":{"type":"string","enum":["introduced","reported","passed_one","passed_both","to_president","law","vetoed","failed"],"description":"Furthest stage reached, from the Library of Congress action codes."},"count":{"type":"integer"}},"required":["stage","count"]}},"lawsByArea":{"type":"array","items":{"type":"object","properties":{"area":{"type":"string"},"laws":{"type":"integer"},"bills":{"type":"integer"}},"required":["area","laws","bills"]}}},"required":["version","congress","chamber","rollCalls","unityRollCalls","categories","calendar","unityByMonth","bipartisan","mavericks","closest","funnel","lawsByArea"],"description":"How a chamber voted in a Congress, over recorded roll calls."},"CongressSearchResults":{"type":"object","properties":{"version":{"type":"string"},"members":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Bioguide id."},"name":{"type":"string"},"party":{"type":"string","enum":["D","R","I","L","O"],"description":"`D` Democrat, `R` Republican, `I` independent, `L` Libertarian, `O` other."},"state":{"type":"string","description":"Postal code."},"districtId":{"description":"District id (\"CA-12\", \"AK-AL\") for representatives; null for senators.","type":["string","null"]},"chamber":{"anyOf":[{"type":"string","enum":["house","senate"]},{"type":"null"}]},"slug":{"type":"string"},"current":{"type":"boolean"}},"required":["id","name","party","state","districtId","chamber","slug","current"]}},"bills":{"type":"array","items":{"$ref":"#/components/schemas/CongressBillSummary"}}},"required":["version","members","bills"],"description":"Members by name and bills by number or words."},"InfluenceMatch":{"type":"object","properties":{"organizationId":{"type":"integer","description":"Organization in the lobbying or FEC records."},"name":{"type":"string"},"recipient":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"description":"The contract recipient it was matched to."},"relation":{"type":"string","enum":["same_organization","same_family"]},"probability":{"type":"number","description":"AI link probability (0–1), at or above `ai.threshold`."},"lobbies":{"type":"boolean"},"sponsorsPac":{"type":"boolean"}},"required":["organizationId","name","recipient","relation","probability","lobbies","sponsorsPac"],"description":"An organization in the lobbying or FEC records, matched to a contract recipient by an AI name judgment (inferred, not reported)."},"InfluenceAi":{"type":"object","properties":{"questionSet":{"type":"string"},"models":{"type":"array","items":{"type":"string"}},"threshold":{"type":"number","description":"Smallest link probability shown."},"evaluatedAt":{"type":["string","null"]}},"required":["questionSet","models","threshold","evaluatedAt"],"description":"Provenance of the AI name matches."},"LobbyingSummary":{"type":"object","properties":{"years":{"type":"array","items":{"type":"object","properties":{"year":{"type":"integer"},"spend":{"type":"number","description":"US dollars."},"filings":{"type":"number"},"quarters":{"type":"array","items":{"type":"integer"}}},"required":["year","spend","filings","quarters"]}},"total":{"type":"number","description":"Reported lobbying spend: per quarter, the organizations' own in-house expenses (which include fees paid to outside firms) when they filed, else what outside firms reported receiving; no dollar counted twice."},"inHouse":{"type":"number","description":"Expenses the organizations reported lobbying for themselves."},"issues":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string"},"label":{"type":"string"},"filings":{"type":"number"}},"required":["code","label","filings"]}},"agencies":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"agencyId":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Contracts agency id, when mapped."},"filings":{"type":"number"}},"required":["label","agencyId","filings"]},"description":"Chambers and agencies lobbied."},"firms":{"type":"array","items":{"type":"object","properties":{"name":{"description":"Registrant; null for a registrant who is an individual (never named).","type":["string","null"]},"income":{"type":"number","description":"US dollars."},"filings":{"type":"number"}},"required":["name","income","filings"]}},"firmCount":{"type":"number"},"contributions":{"type":"array","items":{"type":"object","properties":{"year":{"type":"integer"},"federalCandidates":{"type":"number","description":"US dollars."},"other":{"type":"number","description":"US dollars."}},"required":["year","federalCandidates","other"]},"description":"LD-203 contributions the organizations reported as registrants."},"latestPeriod":{"anyOf":[{"type":"object","properties":{"year":{"type":"integer"},"quarter":{"type":"integer"}},"required":["year","quarter"]},{"type":"null"}]}},"required":["years","total","inHouse","issues","agencies","firms","firmCount","contributions","latestPeriod"],"description":"Lobbying reported by or for the matched organizations (LD-2, LD-203)."},"PacSummary":{"type":"object","properties":{"committees":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"FEC committee id."},"name":{"type":"string"},"cycle":{"type":"integer"},"type":{"type":"string"},"receipts":{"anyOf":[{"type":"number","description":"US dollars."},{"type":"null"}]},"disbursements":{"anyOf":[{"type":"number","description":"US dollars."},{"type":"null"}]},"coverageEnd":{"type":["string","null"]}},"required":["id","name","cycle","type","receipts","disbursements","coverageEnd"]}},"cycles":{"type":"array","items":{"type":"object","properties":{"cycle":{"type":"integer"},"toCandidates":{"type":"number","description":"US dollars."},"byParty":{"type":"array","items":{"type":"object","properties":{"party":{"type":"string","enum":["DEM","REP","OTHER"]},"amount":{"type":"number","description":"US dollars."}},"required":["party","amount"]}},"byOffice":{"type":"array","items":{"type":"object","properties":{"office":{"type":"string","enum":["H","S","P"],"description":"House, Senate or President."},"amount":{"type":"number","description":"US dollars."}},"required":["office","amount"]}},"independentSupport":{"type":"number","description":"US dollars."},"independentOppose":{"type":"number","description":"US dollars."}},"required":["cycle","toCandidates","byParty","byOffice","independentSupport","independentOppose"]}},"topRecipients":{"type":"array","items":{"type":"object","properties":{"committeeName":{"type":"string","description":"The candidate's principal campaign committee (or the committee paid), never a person's name."},"party":{"type":"string","enum":["DEM","REP","OTHER"]},"office":{"anyOf":[{"type":"string","enum":["H","S","P"],"description":"House, Senate or President."},{"type":"null"}]},"state":{"type":["string","null"]},"district":{"type":["string","null"]},"amount":{"type":"number","description":"US dollars."}},"required":["committeeName","party","office","state","district","amount"]},"description":"Largest recipients in `topCycle`."},"topCycle":{"anyOf":[{"type":"integer"},{"type":"null"}]}},"required":["committees","cycles","topRecipients","topCycle"],"description":"Political action committees the matched organizations sponsor (FEC)."},"InfluenceRecipient":{"type":"object","properties":{"lobbyingSource":{"$ref":"#/components/schemas/SourceInfo"},"fecSource":{"$ref":"#/components/schemas/SourceInfo"},"lobbyingYears":{"type":"array","items":{"type":"integer"},"description":"Calendar years of lobbying reports loaded, oldest first."},"fecCycles":{"type":"array","items":{"type":"integer"},"description":"FEC two-year cycles loaded, newest first."},"recipientId":{"type":"string"},"family":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"members":{"type":"number"}},"required":["id","name","members"]},{"type":"null"}],"description":"The company family whose organizations are shown (a lone recipient is its own family)."},"matches":{"type":"array","items":{"$ref":"#/components/schemas/InfluenceMatch"}},"lobbying":{"anyOf":[{"$ref":"#/components/schemas/LobbyingSummary"},{"type":"null"}]},"pacs":{"anyOf":[{"$ref":"#/components/schemas/PacSummary"},{"type":"null"}]},"ai":{"$ref":"#/components/schemas/InfluenceAi"}},"required":["lobbyingSource","fecSource","lobbyingYears","fecCycles","recipientId","family","matches","lobbying","pacs","ai"],"description":"Lobbying and PAC activity of the organizations matched to a recipient's company family (every loaded year and cycle)."},"InfluenceAgency":{"type":"object","properties":{"lobbyingSource":{"$ref":"#/components/schemas/SourceInfo"},"fecSource":{"$ref":"#/components/schemas/SourceInfo"},"lobbyingYears":{"type":"array","items":{"type":"integer"},"description":"Calendar years of lobbying reports loaded, oldest first."},"fecCycles":{"type":"array","items":{"type":"integer"},"description":"FEC two-year cycles loaded, newest first."},"agencyId":{"type":"integer"},"level":{"type":"string","enum":["toptier","subtier"]},"year":{"type":"integer","description":"Calendar year of the lobbying reports."},"fiscalYear":{"type":"integer","description":"Fiscal year of the contract figures."},"totals":{"type":"object","properties":{"clients":{"type":"number"},"filings":{"type":"number"},"spend":{"type":"number","description":"US dollars."}},"required":["clients","filings","spend"]},"clients":{"type":"array","items":{"type":"object","properties":{"organizationId":{"type":"integer"},"name":{"type":"string"},"spend":{"type":"number","description":"US dollars."},"filings":{"type":"number"},"issues":{"type":"array","items":{"type":"string"}},"match":{"anyOf":[{"type":"object","properties":{"recipient":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"]},"probability":{"type":"number"},"relation":{"type":"string","enum":["same_organization","same_family"]},"obligations":{"type":"number","description":"The matched family's contract obligations in the fiscal year."},"fromAgency":{"type":"number","description":"US dollars."},"share":{"anyOf":[{"type":"number","description":"Percent (0–100)."},{"type":"null"}],"description":"Share of the family's obligations that came from this agency; null without obligations."}},"required":["recipient","probability","relation","obligations","fromAgency","share"]},{"type":"null"}],"description":"The contract recipient it was matched to (AI), when any."}},"required":["organizationId","name","spend","filings","issues","match"]}},"unnamed":{"type":"object","properties":{"clients":{"type":"number"},"spend":{"type":"number","description":"US dollars."}},"required":["clients","spend"],"description":"Clients whose name is not shown (it may be a person's): counted, not named."},"ai":{"$ref":"#/components/schemas/InfluenceAi"}},"required":["lobbyingSource","fecSource","lobbyingYears","fecCycles","agencyId","level","year","fiscalYear","totals","clients","unnamed","ai"],"description":"Organizations whose lobbying reports list an agency, with their matched contract obligations from it."},"InfluenceRecipientCongress":{"type":"object","properties":{"version":{"type":"string"},"recipientId":{"type":"string"},"matches":{"type":"array","items":{"$ref":"#/components/schemas/InfluenceMatch"},"description":"The organizations counted: AI matches to the recipient's company family."},"cycles":{"type":"array","items":{"type":"object","properties":{"cycle":{"type":"integer","description":"FEC two-year cycle."},"toCandidates":{"type":"number","description":"Direct and in-kind contributions (24K, 24Z) from the organizations' PACs to federal candidates, memo entries and superseded transactions excluded."},"toMembers":{"type":"number","description":"The part members of Congress (117th Congress onward) received."},"memberCount":{"type":"integer","description":"Members who received any."},"members":{"type":"array","items":{"type":"object","properties":{"member":{"description":"Current or latest seat.","$ref":"#/components/schemas/CongressMemberRef"},"amount":{"type":"number","description":"US dollars."},"committees":{"type":"integer","description":"PACs that gave."}},"required":["member","amount","committees"]},"description":"The ten members who received the most."}},"required":["cycle","toCandidates","toMembers","memberCount","members"]},"description":"The latest two FEC cycles loaded, newest first."},"bills":{"type":"object","properties":{"reports":{"type":"integer","description":"Current lobbying reports of the organizations."},"reportsNamingBills":{"type":"integer","description":"Of those, reports whose issue descriptions name at least one bill."},"years":{"type":"array","items":{"type":"integer"}},"top":{"type":"array","items":{"type":"object","properties":{"bill":{"$ref":"#/components/schemas/CongressBillSummary"},"reports":{"type":"integer","description":"Current reports naming it."},"firstYear":{"type":"integer"},"lastYear":{"type":"integer"}},"required":["bill","reports","firstYear","lastYear"]},"description":"The ten bills named in the most reports (loaded measures only)."}},"required":["reports","reportsNamingBills","years","top"]},"ai":{"$ref":"#/components/schemas/InfluenceAi"},"sources":{"type":"array","items":{"$ref":"#/components/schemas/CongressSource"}}},"required":["version","recipientId","matches","cycles","bills","ai","sources"],"description":"Congress beside a recipient's lobbying and PACs: members whose campaigns received contributions from the matched organizations' PACs, and bills their lobbying reports named. Comparisons, not causes."},"CongressDistrictMoney":{"type":"object","properties":{"plan":{"type":"string"},"fiscalYears":{"type":"array","items":{"type":"integer"}},"fiscalYear":{"type":"integer","description":"The fiscal year `agencies`, `recipients`, `categories` and `rank` describe: the latest that has ended."},"byYear":{"type":"array","items":{"type":"object","properties":{"fiscalYear":{"type":"integer"},"obligations":{"type":"number","description":"US dollars."},"actions":{"type":"integer"},"newAwards":{"type":"integer"},"notCompeted":{"type":"number","description":"US dollars."},"smallBusiness":{"type":"number","description":"US dollars."}},"required":["fiscalYear","obligations","actions","newAwards","notCompeted","smallBusiness"]}},"agencies":{"type":"array","items":{"type":"object","properties":{"subtierId":{"type":"integer"},"name":{"type":"string"},"toptierName":{"type":["string","null"]},"obligations":{"type":"number","description":"US dollars."}},"required":["subtierId","name","toptierName","obligations"]}},"recipients":{"type":"array","items":{"type":"object","properties":{"recipientId":{"type":"string"},"name":{"type":"string"},"obligations":{"type":"number","description":"US dollars."},"awards":{"type":"integer"}},"required":["recipientId","name","obligations","awards"]}},"categories":{"type":"array","items":{"type":"object","properties":{"category":{"type":"string","description":"Spending category id."},"obligations":{"type":"number","description":"US dollars."}},"required":["category","obligations"]}},"rank":{"anyOf":[{"type":"object","properties":{"position":{"type":"integer"},"of":{"type":"integer"},"fiscalYear":{"type":"integer"}},"required":["position","of","fiscalYear"]},{"type":"null"}],"description":"Position among the state's districts by obligations."},"perResident":{"anyOf":[{"type":"number","description":"US dollars."},{"type":"null"}]}},"required":["plan","fiscalYears","fiscalYear","byYear","agencies","recipients","categories","rank","perResident"],"description":"Federal contract obligations attributed to a district by place of performance, weighted by the district's share of each ZIP code and county: an estimate."},"CongressDistrict":{"type":"object","properties":{"version":{"type":"string"},"plan":{"type":"string"},"id":{"type":"string"},"label":{"type":"string"},"state":{"type":"string"},"stateName":{"type":"string"},"number":{"type":"integer","description":"0 at large."},"population":{"type":["number","null"]},"landAreaSqKm":{"type":["number","null"]},"centroid":{"anyOf":[{"type":"object","properties":{"lat":{"type":"number"},"lng":{"type":"number"}},"required":["lat","lng"]},{"type":"null"}]},"counties":{"type":"array","items":{"type":"object","properties":{"geoid":{"type":"string"},"name":{"type":"string"},"districtShare":{"type":"number","description":"Share (0–1) of the district's residents in the county."},"countyShare":{"type":"number","description":"Share (0–1) of the county's residents in the district."}},"required":["geoid","name","districtShare","countyShare"]}},"members":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Bioguide id."},"name":{"type":"string"},"party":{"type":"string","enum":["D","R","I","L","O"],"description":"`D` Democrat, `R` Republican, `I` independent, `L` Libertarian, `O` other."},"state":{"type":"string","description":"Postal code."},"districtId":{"description":"District id (\"CA-12\", \"AK-AL\") for representatives; null for senators.","type":["string","null"]},"chamber":{"anyOf":[{"type":"string","enum":["house","senate"]},{"type":"null"}]},"from":{"type":"string","description":"YYYY-MM-DD."},"to":{"type":"string","description":"YYYY-MM-DD."},"current":{"type":"boolean"}},"required":["id","name","party","state","districtId","chamber","from","to","current"]},"description":"Members who held the seat in the plan's Congresses, newest first."},"senators":{"type":"array","items":{"$ref":"#/components/schemas/CongressMemberRef"}},"money":{"anyOf":[{"$ref":"#/components/schemas/CongressDistrictMoney"},{"type":"null"}]},"plans":{"type":"array","items":{"type":"string"},"description":"Plans this district id exists in (boundaries change between plans)."},"sources":{"type":"array","items":{"$ref":"#/components/schemas/CongressSource"}}},"required":["version","plan","id","label","state","stateName","number","population","landAreaSqKm","centroid","counties","members","senators","money","plans","sources"],"description":"A congressional district of one plan: residents, counties, members, senators and contract money."},"CongressDistrictMoneyMap":{"type":"object","properties":{"version":{"type":"string"},"plan":{"type":"string"},"fiscalYear":{"type":"integer"},"districts":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"obligations":{"type":"number","description":"US dollars."},"perResident":{"anyOf":[{"type":"number","description":"US dollars."},{"type":"null"}]}},"required":["id","obligations","perResident"]}}},"required":["version","plan","fiscalYear","districts"],"description":"Contract obligations attributed to every district of a plan in one fiscal year (an estimate, by ZIP code and county shares)."},"CongressContractorPac":{"type":"object","properties":{"committeeId":{"type":"string","description":"FEC committee id."},"committeeName":{"type":"string"},"sponsor":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"}},"required":["id","name"],"description":"The organization connected to (sponsoring) the PAC."},"amount":{"type":"number","description":"Contributions this PAC gave the member's campaigns in the cycle."},"match":{"type":"object","properties":{"recipientId":{"type":"string"},"recipientName":{"type":"string"},"relation":{"type":"string","enum":["same_organization","same_family"]},"probability":{"type":"number","description":"AI link probability (0–1), at or above `ai.threshold`."}},"required":["recipientId","recipientName","relation","probability"],"description":"The contract recipient the sponsor was matched to by an AI name judgment: inferred, not reported; show it with its probability."},"obligations":{"anyOf":[{"type":"number","description":"US dollars."},{"type":"null"}],"description":"That recipient's contract obligations in the payload's `fiscalYear` (deobligations can make it negative); null when none are recorded."}},"required":["committeeId","committeeName","sponsor","amount","match","obligations"],"description":"A PAC whose sponsor is matched to a federal contract recipient, and what it gave the member."},"CongressMemberMoney":{"type":"object","properties":{"version":{"type":"string"},"id":{"type":"string","description":"Bioguide id."},"name":{"type":"string"},"candidateIds":{"type":"array","items":{"type":"string"},"description":"The member's FEC candidate ids (congress-legislators crosswalk)."},"fiscalYear":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Fiscal year of the recipients' contract obligations: the latest closed fiscal year loaded."},"cycles":{"type":"array","items":{"type":"object","properties":{"cycle":{"type":"integer","description":"FEC two-year cycle, named by its even year."},"fromCommittees":{"type":"object","properties":{"total":{"type":"number","description":"US dollars."},"pacs":{"type":"number","description":"US dollars."},"parties":{"type":"number","description":"US dollars."},"campaigns":{"type":"number","description":"US dollars."},"other":{"type":"number","description":"US dollars."},"committees":{"type":"integer","description":"Giving committees whose net amount is positive."}},"required":["total","pacs","parties","campaigns","other","committees"],"description":"Direct and in-kind contributions received from committees (24K, 24Z; memo entries and amended-away transactions excluded), by the giving committee's FEC type."},"contractorPacs":{"type":"object","properties":{"amount":{"type":"number","description":"US dollars."},"committees":{"type":"integer"},"top":{"type":"array","items":{"$ref":"#/components/schemas/CongressContractorPac"},"description":"The largest ten."}},"required":["amount","committees","top"],"description":"The part received from PACs whose sponsor is matched (AI) to a contract recipient."},"candidacies":{"type":"array","items":{"type":"object","properties":{"candidateId":{"type":"string"},"name":{"description":"As filed with the FEC (\"DOE, JANE A.\").","type":["string","null"]},"office":{"type":"string","description":"H, S or P."},"state":{"type":["string","null"]},"district":{"type":["string","null"]},"party":{"type":["string","null"]},"money":{"anyOf":[{"type":"object","properties":{"receipts":{"type":"number","description":"US dollars."},"disbursements":{"type":"number","description":"US dollars."},"cashOnHand":{"type":"number","description":"US dollars."},"debts":{"type":"number","description":"US dollars."},"individualContributions":{"type":"number","description":"An FEC aggregate; no contributor is stored."},"pacContributions":{"type":"number","description":"Received from other political committees (PACs)."},"partyContributions":{"type":"number","description":"US dollars."},"candidateContributions":{"type":"number","description":"US dollars."},"candidateLoans":{"type":"number","description":"US dollars."},"coverageEnd":{"type":["string","null"]}},"required":["receipts","disbursements","cashOnHand","debts","individualContributions","pacContributions","partyContributions","candidateContributions","candidateLoans","coverageEnd"]},{"type":"null"}],"description":"FEC all-candidates summary, cumulative through `coverageEnd`; null when the FEC lists none for the cycle."}},"required":["candidateId","name","office","state","district","party","money"]},"description":"The member's FEC candidacies in the cycle (a member may hold several ids: House, then Senate)."}},"required":["cycle","fromCommittees","contractorPacs","candidacies"]},"description":"Every FEC cycle loaded, newest first (zeros when the campaigns received nothing in it)."},"ai":{"$ref":"#/components/schemas/InfluenceAi"},"sources":{"type":"array","items":{"$ref":"#/components/schemas/CongressSource"}}},"required":["version","id","name","candidateIds","fiscalYear","cycles","ai","sources"],"description":"Contributions a member's campaigns received from political committees per FEC cycle, the part from PACs of matched contract recipients, and the FEC summaries of the member's candidacies. USD as filed."},"ContractsMeta":{"type":"object","properties":{"version":{"type":"string","description":"Current contracts data version: pin it with `v`."},"fiscalYears":{"type":"array","items":{"type":"object","properties":{"year":{"type":"integer"},"months":{"type":"integer","description":"Months loaded (a year in progress has fewer than 12)."},"obligations":{"type":"number","description":"US dollars."}},"required":["year","months","obligations"]},"description":"Newest first."},"firstFiscalYear":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"First fiscal year with complete history."},"defaultFiscalYear":{"anyOf":[{"type":"integer"},{"type":"null"}]},"dataThrough":{"description":"Latest action date loaded (YYYY-MM-DD).","type":["string","null"]},"agencies":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"code":{"type":"string"},"name":{"type":"string"},"obligations":{"type":"number","description":"US dollars."}},"required":["id","code","name","obligations"]},"description":"Toptier agencies with spending, largest first: the `agency` filter values."},"source":{"$ref":"#/components/schemas/SourceInfo"},"opportunities":{"anyOf":[{"$ref":"#/components/schemas/SourceInfo"},{"type":"null"}]}},"required":["version","fiscalYears","firstFiscalYear","defaultFiscalYear","dataThrough","agencies","source","opportunities"],"description":"Loaded fiscal years, agency filter options and data freshness."},"ContractsMap":{"type":"object","properties":{"version":{"type":"string"},"level":{"type":"string","enum":["county","state"]},"metric":{"type":"string","enum":["obligations","per_capita","actions","low_competition_share","not_competed_share","single_offer_share","small_business_share"]},"filters":{"$ref":"#/components/schemas/ContractsFilters"},"geoids":{"type":"array","items":{"type":"string"},"description":"Places with a value, aligned with `values`."},"values":{"type":"array","items":{"type":"number"}},"unmapped":{"type":"object","properties":{"abroad":{"type":"number","description":"US dollars."},"unknown":{"type":"number","description":"US dollars."}},"required":["abroad","unknown"],"description":"Obligations performed abroad or at no known place (in the national total, not on the map)."},"stats":{"type":"object","properties":{"min":{"type":"number"},"p10":{"type":"number"},"p50":{"type":"number"},"p90":{"type":"number"},"max":{"type":"number"}},"required":["min","p10","p50","p90","max"]}},"required":["version","level","metric","filters","geoids","values","unmapped","stats"],"description":"One value per county or state."},"ContractsKpis":{"type":"object","properties":{"obligations":{"type":"number","description":"US dollars."},"actions":{"type":"number"},"newAwards":{"type":"number"},"perCapita":{"description":"Per resident (Census estimates).","type":["number","null"]},"notCompetedShare":{"anyOf":[{"type":"number","description":"Percent (0–100)."},{"type":"null"}]},"singleOfferShare":{"anyOf":[{"type":"number","description":"Percent (0–100)."},{"type":"null"}]},"smallBusinessShare":{"anyOf":[{"type":"number","description":"Percent (0–100)."},{"type":"null"}]}},"required":["obligations","actions","newAwards","perCapita","notCompetedShare","singleOfferShare","smallBusinessShare"]},"ContractsRankedEntity":{"type":"object","properties":{"kind":{"type":"string","enum":["agency","recipient"]},"id":{"type":"string"},"name":{"type":"string"},"obligations":{"type":"number","description":"US dollars."},"awards":{"type":["number","null"]},"share":{"type":"number","description":"Percent (0–100)."}},"required":["kind","id","name","obligations","awards","share"]},"AwardRow":{"type":"object","properties":{"id":{"type":"string","description":"Analisa award id (use with /api/v1/contracts/awards/{id})."},"piid":{"type":"string","description":"Contract number (PIID)."},"description":{"type":["string","null"]},"awardType":{"type":"string","description":"FPDS award type code."},"agency":{"anyOf":[{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"}},"required":["id","name"]},{"type":"null"}],"description":"Awarding subtier agency."},"recipient":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"]},{"type":"null"}]},"place":{"description":"Place of performance name.","type":["string","null"]},"placeGeoid":{"description":"County GEOID, or state FIPS when the county is unknown.","type":["string","null"]},"category":{"type":"string","enum":["defense-equipment","it-telecom","research","professional","construction","health","maintenance","facilities","transport","education-social","fuel","supplies","unclassified"]},"competition":{"type":"string","enum":["competed","not-competed","unknown"]},"offersReceived":{"type":["number","null"]},"totalObligated":{"type":"number","description":"US dollars."},"potentialValue":{"anyOf":[{"type":"number","description":"US dollars."},{"type":"null"}],"description":"Base and all options."},"firstActionDate":{"type":"string"},"lastActionDate":{"type":"string"}},"required":["id","piid","description","awardType","agency","recipient","place","placeGeoid","category","competition","offersReceived","totalObligated","potentialValue","firstActionDate","lastActionDate"],"description":"A prime contract award (all its actions summed)."},"ContractsPlaceSummary":{"type":"object","properties":{"version":{"type":"string"},"geoid":{"type":"string"},"name":{"type":"string"},"filters":{"$ref":"#/components/schemas/ContractsFilters"},"kpis":{"$ref":"#/components/schemas/ContractsKpis"},"previous":{"anyOf":[{"$ref":"#/components/schemas/ContractsKpis"},{"type":"null"}],"description":"The previous fiscal year, for comparison."},"monthly":{"type":"array","items":{"type":"object","properties":{"month":{"type":"string","description":"YYYY-MM"},"obligations":{"type":"number","description":"US dollars."},"actions":{"type":"number"}},"required":["month","obligations","actions"]}},"yearly":{"type":"array","items":{"type":"object","properties":{"year":{"type":"integer"},"obligations":{"type":"number","description":"US dollars."}},"required":["year","obligations"]}},"categories":{"type":"array","items":{"type":"object","properties":{"category":{"type":"string","enum":["defense-equipment","it-telecom","research","professional","construction","health","maintenance","facilities","transport","education-social","fuel","supplies","unclassified"]},"obligations":{"type":"number","description":"US dollars."},"share":{"type":"number","description":"Percent (0–100)."}},"required":["category","obligations","share"]}},"topAgencies":{"type":"array","items":{"$ref":"#/components/schemas/ContractsRankedEntity"}},"topRecipients":{"type":"array","items":{"$ref":"#/components/schemas/ContractsRankedEntity"}},"largestAwards":{"type":"array","items":{"$ref":"#/components/schemas/AwardRow"},"description":"A city's are the awards whose ZIP code lies mostly in it (`attribution.largestAwardsMinShare`)."},"topIndustries":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"naics":{"type":"string","description":"Four-digit NAICS industry group."},"name":{"type":"string"},"obligations":{"type":"number","description":"US dollars."},"awards":{"type":"number","description":"Awards with an action in the year, counted once per county (or city)."},"share":{"type":"number","description":"Percent (0–100)."}},"required":["naics","name","obligations","awards","share"]}},{"type":"null"}],"description":"Largest industry groups of the fiscal year; null when a category or agency filter is set (the NAICS read models have neither)."},"attribution":{"description":"Cities only: how their money was attributed.","type":"object","properties":{"method":{"type":"string","const":"zip-land-share","description":"Each action's county money split by the share of its award's ZIP code land inside the city."},"crosswalkVintage":{"description":"Census vintage of the ZIP crosswalk (ZCTA relationship files).","type":["string","null"]},"counties":{"type":"array","items":{"type":"object","properties":{"geoid":{"type":"string"},"name":{"type":"string"},"obligations":{"type":"number","description":"US dollars."}},"required":["geoid","name","obligations"]},"description":"The counties the city lies in and their obligations under the same filters: the city's money is part of these, never added to them."},"largestAwardsMinShare":{"type":"number","description":"Minimum share of a ZIP code's land in the county that lies in the city for its awards to be listed."}},"required":["method","crosswalkVintage","counties","largestAwardsMinShare"]},"source":{"$ref":"#/components/schemas/SourceInfo"},"partial":{"description":"Present when an optional part timed out and is empty: the response is sent with `no-store` and no ETag; retry later for the full payload.","type":"boolean","const":true}},"required":["version","geoid","name","filters","kpis","previous","monthly","yearly","categories","topAgencies","topRecipients","largestAwards","topIndustries","source"],"description":"Where a place's contract money goes."},"ContractsSearchResults":{"type":"object","properties":{"query":{"type":"string"},"agencies":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"level":{"type":"string","enum":["toptier","subtier","office"]},"code":{"type":"string"},"name":{"type":"string"},"parent":{"type":["string","null"]}},"required":["id","level","code","name","parent"]}},"recipients":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"uei":{"type":["string","null"]},"location":{"type":["string","null"]},"obligations":{"type":"number","description":"US dollars."}},"required":["id","name","uei","location","obligations"]}},"awards":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"piid":{"type":"string"},"description":{"type":["string","null"]},"recipient":{"type":["string","null"]},"totalObligated":{"type":"number","description":"US dollars."}},"required":["id","piid","description","recipient","totalObligated"]}},"opportunities":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"title":{"type":"string"},"noticeType":{"type":"string"},"agency":{"type":["string","null"]},"postedAt":{"type":"string"},"responseDeadline":{"type":["string","null"]}},"required":["id","title","noticeType","agency","postedAt","responseDeadline"]}},"grantRecipients":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Assistance profile id, \"g<id>\"."},"name":{"type":"string"},"uei":{"type":["string","null"]},"location":{"type":["string","null"]},"obligations":{"type":"number","description":"US dollars."},"faceValue":{"type":"number","description":"Loans: face value (never part of obligations)."}},"required":["id","name","uei","location","obligations","faceValue"]},"description":"Organizations with grants or other assistance and no contracts, all loaded years."},"programs":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"number":{"type":"string","description":"Assistance Listing number, e.g. \"10.557\"."},"title":{"type":"string"},"agency":{"type":["string","null"]},"obligations":{"type":"number","description":"US dollars."},"faceValue":{"type":"number","description":"US dollars."}},"required":["id","number","title","agency","obligations","faceValue"]},"description":"Assistance Listings by number or title, all loaded years."},"partial":{"description":"Present when an optional part timed out and is empty: the response is sent with `no-store` and no ETag; retry later for the full payload.","type":"boolean","const":true}},"required":["query","agencies","recipients","awards","opportunities","grantRecipients","programs"]},"AwardPage":{"type":"object","properties":{"rows":{"type":"array","items":{"$ref":"#/components/schemas/AwardRow"}},"nextCursor":{"description":"Pass back as `cursor` for the next page; null on the last page.","type":["string","null"]}},"required":["rows","nextCursor"],"description":"25 awards; keyset pagination."},"RecipientRow":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"uei":{"description":"SAM Unique Entity ID.","type":["string","null"]},"location":{"type":["string","null"]},"businessSize":{"type":["string","null"]},"obligations":{"type":"number","description":"US dollars."},"awards":{"type":"number"},"agencies":{"type":"number"},"notCompetedShare":{"anyOf":[{"type":"number","description":"Percent (0–100)."},{"type":"null"}]}},"required":["id","name","uei","location","businessSize","obligations","awards","agencies","notCompetedShare"]},"RecipientPage":{"type":"object","properties":{"rows":{"type":"array","items":{"$ref":"#/components/schemas/RecipientRow"}},"nextCursor":{"description":"Pass back as `cursor` for the next page; null on the last page.","type":["string","null"]}},"required":["rows","nextCursor"],"description":"25 recipients; `nextCursor` is an offset (up to 10,000)."},"AgencyRow":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"parent":{"type":["string","null"]},"obligations":{"type":"number","description":"US dollars."},"actions":{"type":"number"},"newAwards":{"type":"number"},"notCompetedShare":{"anyOf":[{"type":"number","description":"Percent (0–100)."},{"type":"null"}]},"smallBusinessShare":{"anyOf":[{"type":"number","description":"Percent (0–100)."},{"type":"null"}]}},"required":["id","name","parent","obligations","actions","newAwards","notCompetedShare","smallBusinessShare"]},"AgencyPage":{"type":"object","properties":{"rows":{"type":"array","items":{"$ref":"#/components/schemas/AgencyRow"}},"nextCursor":{"description":"Pass back as `cursor` for the next page; null on the last page.","type":["string","null"]}},"required":["rows","nextCursor"],"description":"Subtier agencies ranked by obligations (up to 300; one page)."},"OpportunityRow":{"type":"object","properties":{"id":{"type":"string","description":"SAM.gov notice id."},"title":{"type":"string"},"solicitationNumber":{"type":["string","null"]},"noticeType":{"type":"string"},"agency":{"type":["string","null"]},"office":{"type":["string","null"]},"setAside":{"type":["string","null"]},"category":{"type":"string","enum":["defense-equipment","it-telecom","research","professional","construction","health","maintenance","facilities","transport","education-social","fuel","supplies","unclassified"]},"place":{"type":["string","null"]},"postedAt":{"type":"string"},"responseDeadline":{"type":["string","null"]},"active":{"type":"boolean"},"awardAmount":{"anyOf":[{"type":"number","description":"US dollars."},{"type":"null"}]},"awardee":{"type":["string","null"]}},"required":["id","title","solicitationNumber","noticeType","agency","office","setAside","category","place","postedAt","responseDeadline","active","awardAmount","awardee"]},"OpportunityPage":{"type":"object","properties":{"rows":{"type":"array","items":{"$ref":"#/components/schemas/OpportunityRow"}},"nextCursor":{"description":"Pass back as `cursor` for the next page; null on the last page.","type":["string","null"]}},"required":["rows","nextCursor"],"description":"25 notices; keyset pagination."},"AwardDetail":{"type":"object","properties":{"award":{"type":"object","properties":{"id":{"type":"string","description":"Analisa award id (use with /api/v1/contracts/awards/{id})."},"piid":{"type":"string","description":"Contract number (PIID)."},"description":{"type":["string","null"]},"awardType":{"type":"string","description":"FPDS award type code."},"agency":{"anyOf":[{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"}},"required":["id","name"]},{"type":"null"}],"description":"Awarding subtier agency."},"recipient":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"]},{"type":"null"}]},"place":{"description":"Place of performance name.","type":["string","null"]},"placeGeoid":{"description":"County GEOID, or state FIPS when the county is unknown.","type":["string","null"]},"category":{"type":"string","enum":["defense-equipment","it-telecom","research","professional","construction","health","maintenance","facilities","transport","education-social","fuel","supplies","unclassified"]},"competition":{"type":"string","enum":["competed","not-competed","unknown"]},"offersReceived":{"type":["number","null"]},"totalObligated":{"type":"number","description":"US dollars."},"potentialValue":{"anyOf":[{"type":"number","description":"US dollars."},{"type":"null"}],"description":"Base and all options."},"firstActionDate":{"type":"string"},"lastActionDate":{"type":"string"},"awardKey":{"type":"string","description":"USAspending unique award key."},"naicsCode":{"type":["string","null"]},"pscCode":{"type":["string","null"]},"extentCompeted":{"type":["string","null"]},"setAside":{"type":["string","null"]},"pricingType":{"type":["string","null"]},"justificationCode":{"type":["string","null"]},"ceilingGrowth":{"type":["number","null"]},"defaultTermination":{"type":"boolean"},"office":{"anyOf":[{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"}},"required":["id","name"]},{"type":"null"}]},"toptier":{"anyOf":[{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"}},"required":["id","name"]},{"type":"null"}]},"permalink":{"type":"string","description":"The award on USAspending.gov."}},"required":["id","piid","description","awardType","agency","recipient","place","placeGeoid","category","competition","offersReceived","totalObligated","potentialValue","firstActionDate","lastActionDate","awardKey","naicsCode","pscCode","extentCompeted","setAside","pricingType","justificationCode","ceilingGrowth","defaultTermination","office","toptier","permalink"]},"transactions":{"type":"array","items":{"type":"object","properties":{"modificationNumber":{"type":"string"},"actionDate":{"type":"string"},"actionType":{"type":["string","null"]},"obligation":{"type":"number","description":"US dollars."},"description":{"type":["string","null"]},"deleted":{"type":"boolean"}},"required":["modificationNumber","actionDate","actionType","obligation","description","deleted"]}},"opportunities":{"type":"array","items":{"$ref":"#/components/schemas/OpportunityRow"},"description":"SAM.gov notices of the award's solicitation."},"source":{"$ref":"#/components/schemas/SourceInfo"},"judgment":{"description":"AI reading of the award's description (inferred, never reported data).","anyOf":[{"type":"object","properties":{"questionSet":{"type":"string"},"model":{"type":"string"},"evaluatedAt":{"type":"string"},"flags":{"type":"array","items":{"type":"string","enum":["low-competition","not-competed","single-offer","urgency","year-end","ceiling-growth","undefinitized","time-materials","threshold-bunching","default-termination","excluded-parties","recurring-sole-source","concentration","opaque-description","code-mismatch","governmental-functions","advisory-services","weak-sole-source"]}}},"required":["questionSet","model","evaluatedAt","flags"],"additionalProperties":{}},{"type":"null"}]}},"required":["award","transactions","opportunities","source"],"description":"An award with every action, its agencies, recipient and related notices (the main fields; more are included)."},"RecipientProfile":{"type":"object","properties":{"recipient":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"uei":{"type":["string","null"]},"location":{"type":["string","null"]},"businessSize":{"type":["string","null"]},"flags":{"type":"array","items":{"type":"string"}}},"required":["id","name","uei","location","businessSize","flags"],"additionalProperties":{}},"yearly":{"type":"array","items":{"type":"object","properties":{"year":{"type":"integer"},"obligations":{"type":"number","description":"US dollars."},"awards":{"type":"number"}},"required":["year","obligations","awards"]}},"kpis":{"type":"object","properties":{"obligations":{"type":"number","description":"US dollars."},"awards":{"type":"number"},"notCompetedShare":{"anyOf":[{"type":"number","description":"Percent (0–100)."},{"type":"null"}]},"singleOfferShare":{"anyOf":[{"type":"number","description":"Percent (0–100)."},{"type":"null"}]}},"required":["obligations","awards","notCompetedShare","singleOfferShare"]},"topAgencies":{"type":"array","items":{"$ref":"#/components/schemas/ContractsRankedEntity"}},"categories":{"type":"array","items":{"type":"object","properties":{"category":{"type":"string","enum":["defense-equipment","it-telecom","research","professional","construction","health","maintenance","facilities","transport","education-social","fuel","supplies","unclassified"]},"obligations":{"type":"number","description":"US dollars."},"share":{"type":"number","description":"Percent (0–100)."}},"required":["category","obligations","share"]}},"places":{"type":"array","items":{"type":"object","properties":{"geoid":{"type":"string"},"name":{"type":"string"},"obligations":{"type":"number","description":"US dollars."},"share":{"type":"number","description":"Percent (0–100)."}},"required":["geoid","name","obligations","share"]}},"largestAwards":{"type":"array","items":{"$ref":"#/components/schemas/AwardRow"}},"integrity":{"type":"object","properties":{"measures":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","enum":["low-competition","not-competed","single-offer","urgency","year-end","ceiling-growth","undefinitized","time-materials","threshold-bunching","default-termination","excluded-parties","recurring-sole-source","concentration","opaque-description","code-mismatch","governmental-functions","advisory-services","weak-sole-source"]},"value":{"type":["number","null"]},"national":{"type":["number","null"]},"obligations":{"type":"number","description":"US dollars."}},"required":["id","value","national","obligations"]}},"soleSource":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"value":{"type":"number"},"obligations":{"type":"number","description":"US dollars."}},"required":["id","name","value","obligations"],"additionalProperties":{}}},"defaultTerminations":{"type":["number","null"]}},"required":["measures","soleSource","defaultTerminations"]},"fiscalYear":{"type":"integer"},"source":{"$ref":"#/components/schemas/SourceInfo"},"family":{"description":"Company family (reported parents and AI name matches).","anyOf":[{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"memberCount":{"type":"number"}},"required":["id","name","memberCount"],"additionalProperties":{}},{"type":"null"}]},"partial":{"description":"Present when an optional part timed out and is empty: the response is sent with `no-store` and no ETag; retry later for the full payload.","type":"boolean","const":true}},"required":["recipient","yearly","kpis","topAgencies","categories","places","largestAwards","integrity","fiscalYear","source"],"description":"A recipient's history, agencies, what it sells and where (organizations only)."},"AgencyProfile":{"type":"object","properties":{"agency":{"type":"object","properties":{"id":{"type":"integer"},"level":{"type":"string","enum":["toptier","subtier","office"]},"code":{"type":"string"},"name":{"type":"string"},"parent":{"anyOf":[{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"}},"required":["id","name"]},{"type":"null"}]}},"required":["id","level","code","name","parent"]},"yearly":{"type":"array","items":{"type":"object","properties":{"year":{"type":"integer"},"obligations":{"type":"number","description":"US dollars."}},"required":["year","obligations"]}},"kpis":{"$ref":"#/components/schemas/ContractsKpis"},"children":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"obligations":{"type":"number","description":"US dollars."}},"required":["id","name","obligations"]}},"topRecipients":{"type":"array","items":{"$ref":"#/components/schemas/ContractsRankedEntity"}},"categories":{"type":"array","items":{"type":"object","properties":{"category":{"type":"string","enum":["defense-equipment","it-telecom","research","professional","construction","health","maintenance","facilities","transport","education-social","fuel","supplies","unclassified"]},"obligations":{"type":"number","description":"US dollars."},"share":{"type":"number","description":"Percent (0–100)."}},"required":["category","obligations","share"]}},"places":{"type":"array","items":{"type":"object","properties":{"geoid":{"type":"string"},"name":{"type":"string"},"obligations":{"type":"number","description":"US dollars."},"share":{"type":"number","description":"Percent (0–100)."}},"required":["geoid","name","obligations","share"]}},"largestAwards":{"type":"array","items":{"$ref":"#/components/schemas/AwardRow"}},"integrity":{"type":"object","properties":{"measures":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","enum":["low-competition","not-competed","single-offer","urgency","year-end","ceiling-growth","undefinitized","time-materials","threshold-bunching","default-termination","excluded-parties","recurring-sole-source","concentration","opaque-description","code-mismatch","governmental-functions","advisory-services","weak-sole-source"]},"value":{"type":["number","null"]},"national":{"type":["number","null"]},"obligations":{"type":"number","description":"US dollars."}},"required":["id","value","national","obligations"]}},"soleSource":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"value":{"type":"number"},"obligations":{"type":"number","description":"US dollars."}},"required":["id","name","value","obligations"],"additionalProperties":{}}},"defaultTerminations":{"type":["number","null"]}},"required":["measures","soleSource","defaultTerminations"]},"fiscalYear":{"type":"integer"},"source":{"$ref":"#/components/schemas/SourceInfo"}},"required":["agency","yearly","kpis","children","topRecipients","categories","places","largestAwards","integrity","fiscalYear","source"],"description":"A toptier agency, subtier agency or contracting office."},"OpportunityDetail":{"type":"object","properties":{},"additionalProperties":{},"description":"A SAM.gov notice with its description and the awards that match its solicitation."},"ContractsGraph":{"type":"object","properties":{"version":{"type":"string"},"filters":{"$ref":"#/components/schemas/ContractsFilters"},"focus":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["agency","recipient"]},"id":{"type":"string"},"name":{"type":"string"}},"required":["kind","id","name"]},{"type":"null"}]},"nodes":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"\"a<agency id>\" or \"r<recipient id>\"."},"kind":{"type":"string","enum":["agency","recipient"]},"entityId":{"type":"string"},"label":{"type":"string"},"obligations":{"type":"number","description":"US dollars."},"degree":{"type":"number"}},"required":["id","kind","entityId","label","obligations","degree"],"additionalProperties":{}}},"edges":{"type":"array","items":{"type":"object","properties":{"source":{"type":"string"},"target":{"type":"string"},"obligations":{"type":"number","description":"US dollars."},"awards":{"type":"number"},"notCompetedShare":{"anyOf":[{"type":"number","description":"Percent (0–100)."},{"type":"null"}]},"singleOfferShare":{"anyOf":[{"type":"number","description":"Percent (0–100)."},{"type":"null"}]}},"required":["source","target","obligations","awards","notCompetedShare","singleOfferShare"],"additionalProperties":{}}},"totalObligations":{"type":"number","description":"Every relationship matching the filters, not only those drawn."},"truncated":{"type":"boolean"}},"required":["version","filters","focus","nodes","edges","totalObligations","truncated"],"description":"The buyer ↔ recipient network."},"ContractsRelationship":{"type":"object","properties":{"agency":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"}},"required":["id","name"]},"recipient":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"]},"fiscalYear":{"type":"integer"},"yearly":{"type":"array","items":{"type":"object","properties":{"year":{"type":"integer"},"obligations":{"type":"number","description":"US dollars."},"awards":{"type":"number"}},"required":["year","obligations","awards"]}},"kpis":{"type":"object","properties":{"obligations":{"type":"number","description":"US dollars."},"awards":{"type":"number"},"notCompetedShare":{"anyOf":[{"type":"number","description":"Percent (0–100)."},{"type":"null"}]},"singleOfferShare":{"anyOf":[{"type":"number","description":"Percent (0–100)."},{"type":"null"}]}},"required":["obligations","awards","notCompetedShare","singleOfferShare"]},"awards":{"type":"array","items":{"$ref":"#/components/schemas/AwardRow"}}},"required":["agency","recipient","fiscalYear","yearly","kpis","awards"],"description":"One agency–recipient relationship and its awards."},"ContractsSignals":{"type":"object","properties":{"version":{"type":"string"},"geoid":{"type":"string"},"name":{"type":"string"},"filters":{"$ref":"#/components/schemas/ContractsFilters"},"obligations":{"type":"number","description":"US dollars."},"signals":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","enum":["low-competition","not-competed","single-offer","urgency","year-end","ceiling-growth","undefinitized","time-materials","threshold-bunching","default-termination","excluded-parties","recurring-sole-source","concentration","opaque-description","code-mismatch","governmental-functions","advisory-services","weak-sole-source"]},"value":{"description":"Share 0–100, count, ratio or dollars (as the catalog unit says); null when not measurable.","type":["number","null"]},"national":{"type":["number","null"]},"obligations":{"anyOf":[{"type":"number","description":"US dollars."},{"type":"null"}]},"awards":{"type":["number","null"]},"leaders":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","enum":["agency","office","recipient","relationship","award"]},"id":{"type":"string"},"name":{"type":"string"},"detail":{"type":["string","null"]},"value":{"type":"number"},"obligations":{"type":"number","description":"US dollars."}},"required":["kind","id","name","detail","value","obligations"]}},"note":{"type":["string","null"]},"coverage":{"description":"AI signals: share of obligations on awards that were read.","type":["number","null"]}},"required":["id","value","national","obligations","awards","leaders","note"]}},"justifications":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string"},"label":{"type":"string"},"obligations":{"type":"number","description":"US dollars."},"awards":{"type":"number"},"share":{"type":"number","description":"Percent (0–100)."}},"required":["code","label","obligations","awards","share"]}}},"required":["version","geoid","name","filters","obligations","signals","justifications"],"description":"Integrity signals of a scope: reasons to look closer, never evidence of wrongdoing."},"ContractsRanking":{"type":"object","properties":{"version":{"type":"string"},"kind":{"type":"string","enum":["agencies","offices","recipients","relationships"]},"metric":{"type":"string"},"order":{"type":"string","enum":["desc","asc"]},"minimumObligations":{"type":"number","description":"Smallest obligations for a row to be ranked on a share."},"rows":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Agency or office id, recipient id, or \"subtier:recipient\"."},"name":{"type":"string"},"detail":{"type":["string","null"]},"value":{"type":"number"},"obligations":{"type":"number","description":"US dollars."},"pair":{"type":"object","properties":{"agencyId":{"type":"string"},"agencyName":{"type":"string"},"recipientId":{"type":"string"},"recipientName":{"type":"string"}},"required":["agencyId","agencyName","recipientId","recipientName"]}},"required":["id","name","detail","value","obligations"]}}},"required":["version","kind","metric","order","minimumObligations","rows"],"description":"The top 50 by spending or an integrity measure."},"ContractsFlows":{"type":"object","properties":{"version":{"type":"string"},"mode":{"type":"string","enum":["agency-recipient","category-recipient","agency-category"]},"geoid":{"type":"string"},"filters":{"$ref":"#/components/schemas/ContractsFilters"},"nodes":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"side":{"type":"string","enum":["source","target"]},"kind":{"type":"string","enum":["agency","recipient","category","other"]},"entityId":{"type":["string","null"]},"label":{"type":"string"},"obligations":{"type":"number","description":"US dollars."}},"required":["id","side","kind","entityId","label","obligations"]}},"links":{"type":"array","items":{"type":"object","properties":{"source":{"type":"string"},"target":{"type":"string"},"obligations":{"type":"number","description":"US dollars."}},"required":["source","target","obligations"]}},"total":{"type":"number","description":"All obligations in scope (the rest is grouped as Other)."}},"required":["version","mode","geoid","filters","nodes","links","total"],"description":"Money flows for a Sankey chart: the 6 largest sources and 8 largest targets."},"Category":{"type":"object","properties":{"id":{"type":"string","enum":["safety","economy","housing","health","healthcare","environment","education","infrastructure","community","leisure","climate","demographics"]},"label":{"type":"string"},"description":{"type":"string"},"icon":{"type":"string","description":"Lucide icon name."},"weight":{"type":"number","description":"Default weight in the overall score (0 = context only, not scored)."}},"required":["id","label","description","icon","weight"]},"Indicator":{"type":"object","properties":{"key":{"type":"string","description":"Stable snake_case id, used in URLs; never renamed."},"category":{"type":"string","enum":["safety","economy","housing","health","healthcare","environment","education","infrastructure","community","leisure","climate","demographics"]},"label":{"type":"string"},"shortLabel":{"type":"string"},"description":{"type":"string","description":"What is measured and for whom, in plain language."},"unit":{"type":"string","enum":["percent","usd","years","minutes","miles","per_100k","per_1k","per_10k","ratio","index","ug_m3","days","fahrenheit","inches","people","people_per_sq_mi","score"]},"direction":{"type":"string","enum":["higher","lower","neutral"],"description":"Which way is better; neutral indicators are context and are not scored."},"source":{"type":"string","enum":["census-geo","census-acs5","census-pep","chr","bls-laus","epa-aqi","fema-nri","noaa-climdiv","cdc-places","cdc-miov","fbi-ucr","nhtsa-fars","census-saipe","census-sahie","census-bps","census-bfs","bls-qcew","bea-regional","zillow","hrsa-hpsa","eac-eavs","imls-pls","nces-ccd","transport-access","doe-afdc","noaa-nclimgrid","usdm-drought","usfs-wildfire","cdc-downscaler","cms-hospitals","natural-earth","census-acs-birthplace","dhs-ohss","un-desa-ims","oecd-imd","eurostat-migration","world-bank-remittances","usaspending-contracts","sam-opportunities","usaspending-assistance","sam-exclusions","house-lda","fec-committees","usaspending-subawards","freddie-mac-pmms","dol-ndcp","bls-oews","census-acs5-breakdowns","census-cbp","census-nes","census-zcta-place","congress-legislators","house-clerk-votes","voteview","govinfo-billstatus","census-cd","census-zcta-district","eac-eavs-ballots"],"description":"Id of the source in `sources`."},"sourceField":{"type":"string","description":"Publisher field(s) the value comes from."},"weight":{"type":"number","description":"Default weight inside its category (0 = shown, not scored)."},"decimals":{"type":"integer","description":"Decimal places for display."},"shrink":{"description":"Ranked on estimates shrunk toward the state mean using the published standard error.","type":"boolean"},"rollup":{"type":"string","enum":["sum","population","households","land_area","none"],"description":"How county values combine into a metro area or a state when the publisher releases no figure for it: a sum, a mean weighted by residents, households or land area, or not at all (medians, indexes and ratios do not average). Such values carry the `aggregated` flag."},"areaWide":{"description":"The measure describes the wider area (climate, air, hazards, crime reported by county agencies, provider supply): a city without its own figure shows its county's value, flagged `borrowed`. Measures of the residents themselves are never borrowed.","type":"boolean"},"levelSources":{"description":"Publishers of the same measure at levels the main `source` does not release (for example CDC PLACES city estimates of a county measure). One source per level: a value is never a blend.","type":"object","propertyNames":{"type":"string","enum":["nation","state","metro","county","city","tract"]},"additionalProperties":{"type":"object","properties":{"source":{"type":"string","enum":["census-geo","census-acs5","census-pep","chr","bls-laus","epa-aqi","fema-nri","noaa-climdiv","cdc-places","cdc-miov","fbi-ucr","nhtsa-fars","census-saipe","census-sahie","census-bps","census-bfs","bls-qcew","bea-regional","zillow","hrsa-hpsa","eac-eavs","imls-pls","nces-ccd","transport-access","doe-afdc","noaa-nclimgrid","usdm-drought","usfs-wildfire","cdc-downscaler","cms-hospitals","natural-earth","census-acs-birthplace","dhs-ohss","un-desa-ims","oecd-imd","eurostat-migration","world-bank-remittances","usaspending-contracts","sam-opportunities","usaspending-assistance","sam-exclusions","house-lda","fec-committees","usaspending-subawards","freddie-mac-pmms","dol-ndcp","bls-oews","census-acs5-breakdowns","census-cbp","census-nes","census-zcta-place","congress-legislators","house-clerk-votes","voteview","govinfo-billstatus","census-cd","census-zcta-district","eac-eavs-ballots"]},"sourceField":{"type":"string"}},"required":["source","sourceField"]}}},"required":["key","category","label","shortLabel","description","unit","direction","source","sourceField","weight","decimals","rollup"]},"Source":{"type":"object","properties":{"id":{"type":"string","enum":["census-geo","census-acs5","census-pep","chr","bls-laus","epa-aqi","fema-nri","noaa-climdiv","cdc-places","cdc-miov","fbi-ucr","nhtsa-fars","census-saipe","census-sahie","census-bps","census-bfs","bls-qcew","bea-regional","zillow","hrsa-hpsa","eac-eavs","imls-pls","nces-ccd","transport-access","doe-afdc","noaa-nclimgrid","usdm-drought","usfs-wildfire","cdc-downscaler","cms-hospitals","natural-earth","census-acs-birthplace","dhs-ohss","un-desa-ims","oecd-imd","eurostat-migration","world-bank-remittances","usaspending-contracts","sam-opportunities","usaspending-assistance","sam-exclusions","house-lda","fec-committees","usaspending-subawards","freddie-mac-pmms","dol-ndcp","bls-oews","census-acs5-breakdowns","census-cbp","census-nes","census-zcta-place","congress-legislators","house-clerk-votes","voteview","govinfo-billstatus","census-cd","census-zcta-district","eac-eavs-ballots"]},"name":{"type":"string"},"publisher":{"type":"string"},"homepage":{"type":"string"},"license":{"type":"string","description":"License or terms of the data."},"attribution":{"type":"string","description":"Credit line to show with values from this source."}},"required":["id","name","publisher","homepage","license","attribution"]},"Profile":{"type":"object","properties":{"id":{"type":"string","enum":["explorer","family","remote","retiree","young-professional"]},"label":{"type":"string"},"description":{"type":"string"},"categoryWeights":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"number"},"description":"Multipliers of the default category weights (missing = 1)."},"indicatorWeights":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"number"},"description":"Overrides of default indicator weights."},"highlights":{"type":"array","items":{"type":"string"},"description":"Indicators surfaced first; scores do not change."}},"required":["id","label","description","categoryWeights","indicatorWeights","highlights"]},"Release":{"type":"object","properties":{"id":{"type":"string","description":"Source id."},"vintage":{"type":"string","description":"Publisher release loaded."},"loadedAt":{"type":"string","description":"When a load last changed the data (ISO timestamp)."}},"required":["id","vintage","loadedAt"],"description":"The latest release of a source that changed the data."},"Meta":{"type":"object","properties":{"version":{"type":"string","description":"Current dataset version: pin it with `v`."},"datasets":{"type":"object","properties":{"county":{"type":"string"},"state":{"type":"string"}},"required":["county","state"],"description":"Versioned URLs of the two datasets."},"releases":{"type":"array","items":{"$ref":"#/components/schemas/Release"}},"categories":{"type":"array","items":{"$ref":"#/components/schemas/Category"}},"indicators":{"type":"array","items":{"$ref":"#/components/schemas/Indicator"}},"sources":{"type":"array","items":{"$ref":"#/components/schemas/Source"}},"profiles":{"type":"array","items":{"$ref":"#/components/schemas/Profile"}}},"required":["version","datasets","releases","categories","indicators","sources","profiles"],"description":"The catalog: what is measured, from where, and the loaded releases."},"PlaceDetail":{"type":"object","properties":{"geoid":{"type":"string"},"level":{"type":"string","enum":["NATION","STATE","METRO","COUNTY","CITY"]},"name":{"type":"string"},"shortName":{"type":"string"},"stateCode":{"description":"Two-letter state code.","type":["string","null"]},"parentGeoid":{"type":["string","null"]},"landAreaSqKm":{"type":["number","null"]},"centroid":{"anyOf":[{"type":"array","prefixItems":[{"type":"number"},{"type":"number"}],"items":false,"minItems":2,"maxItems":2},{"type":"null"}],"description":"[lat, lng]."},"series":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"array","items":{"type":"object","properties":{"period":{"type":"string","description":"Period label as published (\"2023\", \"2019–2023\")."},"periodEnd":{"type":"string","description":"Last day of the period (YYYY-MM-DD)."},"value":{"type":"number"},"standardError":{"description":"Published standard error, when the source gives one.","type":["number","null"]},"flags":{"type":"array","items":{"type":"string"},"description":"Data-quality flags (\"unreliable\", \"provisional\", \"model-based\"…)."}},"required":["period","periodEnd","value","standardError","flags"]}},"description":"Every published value per indicator key, oldest period first."}},"required":["geoid","level","name","shortName","stateCode","parentGeoid","landAreaSqKm","centroid","series"],"description":"One place with the full published history of every indicator."},"PlaceSearchResponse":{"type":"object","properties":{"query":{"type":"string","description":"The place name searched for, normalized (lower case, accents folded, apostrophes dropped, words only), without the state."},"state":{"description":"Two-letter code of the state the query named, to which the results are limited; null when the query named none (or the named state left no result and was part of the name).","type":["string","null"]},"results":{"type":"array","items":{"type":"object","properties":{"geoid":{"type":"string","description":"The place's GEOID (state 2 digits, metro area `M` + 5 digits, county 5 digits, city 7 digits)."},"level":{"type":"string","enum":["state","metro","county","city"]},"kind":{"description":"Metro areas: \"metro\" or \"micro\". Cities: the Census type (\"city\", \"town\", \"CDP\"…). Null for states and counties.","type":["string","null"]},"label":{"type":"string","description":"The name to show: \"Texas\", \"Travis County, TX\", \"Austin-Round Rock-San Marcos, TX metro\", \"Austin, TX\"."},"name":{"type":"string","description":"The place's name alone."},"stateCode":{"description":"Two-letter state code (a metro area's principal state).","type":["string","null"]},"population":{"description":"Latest population, when the place has one.","type":["number","null"]},"href":{"type":"string","description":"Path of the place's page on this site."}},"required":["geoid","level","kind","label","name","stateCode","population","href"]},"description":"Best match first: exact name, then name prefix, then word prefix, the larger place first within a tier; similar spellings are tried only when nothing matches."}},"required":["query","state","results"],"description":"Places matching a name."},"DatasetJson":{"type":"object","properties":{"level":{"type":"string","enum":["county","state","metro","city"],"description":"Geographic level: `state` (2-digit FIPS GEOIDs, \"48\"), `metro` (metropolitan and micropolitan areas: `M` + the 5-digit CBSA code, \"M12420\"), `county` (5-digit GEOIDs, \"48453\") or `city` (Census places with at least 1,000 residents: cities, towns, villages and census-designated places, 7-digit GEOIDs, \"4805000\")."},"version":{"type":"string"},"generatedAt":{"type":"string"},"places":{"type":"object","properties":{"geoid":{"type":"array","items":{"type":"string"}},"name":{"type":"array","items":{"type":"string"}},"stateCode":{"type":"array","items":{"type":"string"}},"lat":{"type":"array","items":{"type":["number","null"]}},"lng":{"type":"array","items":{"type":["number","null"]}}},"required":["geoid","name","stateCode","lat","lng"],"description":"Columns: index i of every array is place i."},"indicators":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"periods":{"type":"array","items":{"type":"string"},"description":"Distinct periods present, most recent first."},"national":{"description":"Value for the whole nation.","type":["number","null"]},"values":{"type":"array","items":{"type":["number","null"]},"description":"Latest value per place (null = none)."},"scores":{"type":"array","items":{"type":["number","null"]},"description":"Percentile score 0–100 per place (higher is better)."},"periodIndex":{"type":"array","items":{"type":"integer"},"description":"Per place: index into `periods` of its value."},"flags":{"type":"array","items":{"type":"integer"},"description":"Per place: bit set of data-quality flags (1 unreliable, 2 crosswalked, 4 aggregated, 8 partialYear, 16 modelBased, 32 olderPeriod, 64 provisional, 128 partialCoverage, 256 borrowed, 512 crude, 1024 topCoded, 2048 bottomCoded). `aggregated`: a metro area's or state's value rolled up from its counties, because the publisher releases no figure for it. `borrowed`: a city's value that is really its county's (an area-wide measure without a city figure: see `areaWide` in /api/v1/meta): show it as the county's."}},"required":["key","periods","national","values","scores","periodIndex","flags"]}},"sources":{"type":"array","items":{"$ref":"#/components/schemas/Release"}},"shards":{"description":"City dataset only: content hash of each state's city shapes, by state FIPS. Request `/api/v1/geo/shards/cities/{state}?h={hash}`.","type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"}}},"required":["level","version","generatedAt","places","indicators","sources"],"description":"The map dataset as JSON (`?format=json`): the same columns as the binary format."},"MigrationPayload":{"type":"object","properties":{"version":{"type":"string"},"generatedAt":{"type":"string"},"metric":{"type":"object","properties":{"key":{"type":"string"},"direction":{"type":"string","enum":["immigration","emigration"]},"kind":{"type":"string","enum":["stock","flow","money"]},"label":{"type":"string"},"shortLabel":{"type":"string"},"description":{"type":"string"},"unit":{"type":"string","enum":["people","usd"]},"sourceField":{"type":"string"}},"required":["key","direction","kind","label","shortLabel","description","unit","sourceField"]},"hub":{"type":"object","properties":{"geoid":{"type":"string"},"name":{"type":"string"},"lat":{"type":"number"},"lng":{"type":"number"}},"required":["geoid","name","lat","lng"]},"periods":{"type":"array","items":{"type":"string"},"description":"Oldest first."},"countries":{"type":"array","items":{"type":"object","properties":{"iso3":{"type":"string"},"iso2":{"type":["string","null"]},"name":{"type":"string"},"region":{"type":"string","enum":["latin-america","asia","europe","africa","northern-america","oceania"]},"lat":{"type":"number"},"lng":{"type":"number"}},"required":["iso3","iso2","name","region","lat","lng"]}},"values":{"type":"array","items":{"anyOf":[{"type":"array","items":{"type":["number","null"]}},{"type":"null"}]},"description":"values[p][c]: period p, country c (null = not published; a null row = only a total was published)."},"standardErrors":{"anyOf":[{"type":"array","items":{"anyOf":[{"type":"array","items":{"type":["number","null"]}},{"type":"null"}]}},{"type":"null"}]},"flags":{"type":"array","items":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"array","items":{"type":"string"}}},"description":"Per period: flags by country index, only where set."},"totals":{"type":"array","items":{"type":["number","null"]},"description":"The publisher's all-countries total per period."},"totalFlags":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"array","items":{"type":"string"}}},"source":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"publisher":{"type":"string"},"attribution":{"type":"string"},"homepage":{"type":"string"},"vintage":{"type":["string","null"]},"loadedAt":{"type":["string","null"]}},"required":["id","name","publisher","attribution","homepage","vintage","loadedAt"]}},"required":["version","generatedAt","metric","hub","periods","countries","values","standardErrors","flags","totals","totalFlags","source"],"description":"One migration metric for one hub (the nation or a state): every period and counterpart country."},"MigrationContext":{"type":"object","properties":{"version":{"type":"string"},"series":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"directions":{"type":"array","items":{"type":"string","enum":["immigration","emigration"]}},"label":{"type":"string"},"description":{"type":"string"},"unit":{"type":"string","enum":["people","per_1k","percent","usd"]},"source":{"type":"string"},"points":{"type":"array","items":{"type":"object","properties":{"period":{"type":"string"},"value":{"type":"number"}},"required":["period","value"]}}},"required":["key","directions","label","description","unit","source","points"]}}},"required":["version","series"],"description":"National series that frame the migrations map."},"Health":{"type":"object","properties":{"status":{"type":"string","const":"ok"}},"required":["status"],"description":"Liveness: the process answers (the database is not touched)."},"Ready":{"type":"object","properties":{"status":{"type":"string","enum":["ready","unavailable"]},"database":{"type":"string","enum":["ok","unreachable"]},"ms":{"description":"Ping time.","type":"number"}},"required":["status","database"],"description":"Readiness: the database answered a trivial query within 1 s (503 otherwise)."},"OpenApiDocument":{"type":"object","properties":{"openapi":{"type":"string"},"info":{"type":"object","properties":{},"additionalProperties":{}},"paths":{"type":"object","properties":{},"additionalProperties":{}}},"required":["openapi","info","paths"],"additionalProperties":{},"description":"This document."},"PlaceBreakdowns":{"type":"object","properties":{"version":{"type":"string"},"geoid":{"type":"string"},"name":{"type":"string"},"level":{"type":"string","enum":["nation","state","metro","county","city"]},"source":{"type":"object","properties":{"name":{"type":"string","description":"Dataset name."},"publisher":{"type":"string","description":"Agency that publishes it."},"attribution":{"type":"string","description":"Credit line to show with the data."},"homepage":{"type":"string","description":"Where to find the original."},"vintage":{"description":"Release or date the data is current to (YYYY-MM-DD for contracts).","type":["string","null"]},"loadedAt":{"description":"When Analisa last loaded a release that changed the data (ISO timestamp).","type":["string","null"]},"id":{"type":"string"}},"required":["name","publisher","attribution","homepage","vintage","loadedAt","id"],"description":"Provenance: cite the publisher and the vintage with the data."},"breakdowns":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","description":"Breakdown key, stable (`household_income`, `age_sex`, `race_ethnicity`, `tenure`, `gross_rent`, `home_value`, `commute_mode`, `travel_time`, `education`, `year_built`, `bedrooms`)."},"label":{"type":"string"},"description":{"type":"string"},"unit":{"type":"string","enum":["people","households","housing_units","workers"]},"shape":{"type":"string","enum":["bars","pyramid"],"description":"`pyramid`: buckets come in male/female pairs."},"table":{"type":"string","description":"ACS detail table, e.g. \"B19001\"."},"explains":{"type":"array","items":{"type":"string"},"description":"Indicator keys whose value this distribution sits behind."},"latest":{"type":"object","properties":{"period":{"type":"string","description":"ACS 5-year window, e.g. \"2020-2024\"."},"endYear":{"type":"integer","description":"Last year of the window: the vintage of the data.census.gov table."},"total":{"type":"number","description":"Universe of the table (households, residents, workers…), as published."},"totalMoe":{"type":["number","null"]},"buckets":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","description":"Bucket key, stable. The age and sex pyramid's keys are `<age group>:male` and `<age group>:female`."},"label":{"type":"string"},"value":{"description":"Estimated count (people, households, homes or workers). Null where the Census Bureau does not publish a cell of the bucket.","type":["number","null"]},"moe":{"description":"90% margin of error of the count (the root sum of squares of the cells' margins). Null for a controlled estimate.","type":["number","null"]},"share":{"anyOf":[{"type":"number","description":"Share of the table's universe, 0–1."},{"type":"null"}]},"shareMoe":{"description":"90% margin of error of the share (the Census Bureau's formula for derived proportions), 0–1.","type":["number","null"]},"lowReliability":{"type":"boolean","description":"The margin of error is more than 30% of the estimate (a coefficient of variation above about 18%): show with care. Never true for a zero or missing estimate."},"change":{"anyOf":[{"type":"object","properties":{"points":{"type":"number","description":"Change in the bucket's share since the previous window, in percentage points."},"significant":{"type":"boolean","description":"The change is larger than the combined margin of error of the two shares (the two 5-year windows do not overlap)."}},"required":["points","significant"]},{"type":"null"}],"description":"Against the previous window; only on the latest window, and only where both windows have a share."}},"required":["key","label","value","moe","share","shareMoe","lowReliability","change"]}}},"required":["period","endYear","total","totalMoe","buckets"]},"previous":{"anyOf":[{"type":"object","properties":{"period":{"type":"string","description":"ACS 5-year window, e.g. \"2020-2024\"."},"endYear":{"type":"integer","description":"Last year of the window: the vintage of the data.census.gov table."},"total":{"type":"number","description":"Universe of the table (households, residents, workers…), as published."},"totalMoe":{"type":["number","null"]},"buckets":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","description":"Bucket key, stable. The age and sex pyramid's keys are `<age group>:male` and `<age group>:female`."},"label":{"type":"string"},"value":{"description":"Estimated count (people, households, homes or workers). Null where the Census Bureau does not publish a cell of the bucket.","type":["number","null"]},"moe":{"description":"90% margin of error of the count (the root sum of squares of the cells' margins). Null for a controlled estimate.","type":["number","null"]},"share":{"anyOf":[{"type":"number","description":"Share of the table's universe, 0–1."},{"type":"null"}]},"shareMoe":{"description":"90% margin of error of the share (the Census Bureau's formula for derived proportions), 0–1.","type":["number","null"]},"lowReliability":{"type":"boolean","description":"The margin of error is more than 30% of the estimate (a coefficient of variation above about 18%): show with care. Never true for a zero or missing estimate."},"change":{"anyOf":[{"type":"object","properties":{"points":{"type":"number","description":"Change in the bucket's share since the previous window, in percentage points."},"significant":{"type":"boolean","description":"The change is larger than the combined margin of error of the two shares (the two 5-year windows do not overlap)."}},"required":["points","significant"]},{"type":"null"}],"description":"Against the previous window; only on the latest window, and only where both windows have a share."}},"required":["key","label","value","moe","share","shareMoe","lowReliability","change"]}}},"required":["period","endYear","total","totalMoe","buckets"]},{"type":"null"}],"description":"The window before the latest (about five years earlier), when the place has one."},"compare":{"type":"array","items":{"type":"object","properties":{"geoid":{"type":"string"},"name":{"type":"string"},"shares":{"type":"array","items":{"anyOf":[{"type":"number","description":"Share of the table's universe, 0–1."},{"type":"null"}]},"description":"Shares in the order of the breakdown's buckets, for the latest window."}},"required":["geoid","name","shares"]},"description":"The same distribution for larger areas, nearest first: the state of a county or city, then the nation. Metro areas compare with the nation only."},"censusUrl":{"description":"The table's page on data.census.gov for this place and the latest window.","type":["string","null"]}},"required":["key","label","description","unit","shape","table","explains","latest","previous","compare","censusUrl"]},"description":"Empty for a place the ACS does not tabulate."}},"required":["version","geoid","name","level","source","breakdowns"],"description":"The distributions behind a place's headline numbers, for the latest ACS 5-year window and the one before it."},"OccupationSearch":{"type":"object","properties":{"version":{"type":"string"},"query":{"type":"string"},"results":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","description":"SOC 2018 code: \"15-1252\" (detailed occupation) or \"15-0000\" (major group)."},"title":{"type":"string"},"group":{"type":"string","enum":["total","major","detailed"]},"usEmployment":{"description":"People employed in the occupation nationally (the ranking tie-break).","type":["number","null"]}},"required":["code","title","group","usEmployment"]}}},"required":["version","query","results"],"description":"Occupations matching a search, best first."},"PlaceWages":{"type":"object","properties":{"version":{"type":"string"},"area":{"type":"object","properties":{"geoid":{"type":"string"},"name":{"type":"string"},"level":{"type":"string","enum":["nation","state","metro"]}},"required":["geoid","name","level"],"description":"The area BLS publishes for the place asked about."},"requested":{"anyOf":[{"type":"object","properties":{"geoid":{"type":"string"},"name":{"type":"string"}},"required":["geoid","name"]},{"type":"null"}],"description":"The place asked about, when it is not the area itself (a county or city answers with its metro area)."},"state":{"anyOf":[{"type":"object","properties":{"geoid":{"type":"string"},"name":{"type":"string"}},"required":["geoid","name"]},{"type":"null"}],"description":"A metro area's principal state, the `state` comparison of each row."},"source":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"publisher":{"type":"string"},"homepage":{"type":"string"},"attribution":{"type":"string"},"period":{"type":"string","description":"Survey reference month, e.g. \"2025-05\"."}},"required":["id","name","publisher","homepage","attribution","period"]},"mode":{"type":"string","enum":["top","occupation"]},"rows":{"type":"array","items":{"type":"object","properties":{"occupation":{"type":"object","properties":{"code":{"type":"string","description":"SOC 2018 code: \"15-1252\" (detailed occupation) or \"15-0000\" (major group)."},"title":{"type":"string"},"group":{"type":"string","enum":["total","major","detailed"]}},"required":["code","title","group"]},"area":{"anyOf":[{"type":"object","properties":{"employment":{"description":"People employed. Null where BLS suppresses it.","type":["number","null"]},"locationQuotient":{"description":"The occupation's share of the area's jobs relative to its national share (1 = the national share). Null for the nation.","type":["number","null"]},"mean":{"description":"Mean annual wage, US dollars.","type":["number","null"]},"median":{"description":"Median annual wage, US dollars.","type":["number","null"]},"p10":{"type":["number","null"]},"p25":{"type":["number","null"]},"p75":{"type":["number","null"]},"p90":{"type":["number","null"]},"flags":{"type":"array","items":{"type":"string","enum":["wage-top-coded","employment-suppressed","annualized-from-hourly"]},"description":"`wage-top-coded`: a wage is at or above BLS's published cap, so the figure is that cap (the real wage is at least that much). `annualized-from-hourly`: published by the hour only, times 2,080 hours."}},"required":["employment","locationQuotient","mean","median","p10","p25","p75","p90","flags"]},{"type":"null"}],"description":"Null when BLS publishes nothing for the occupation in the area."},"state":{"anyOf":[{"type":"object","properties":{"employment":{"description":"People employed. Null where BLS suppresses it.","type":["number","null"]},"locationQuotient":{"description":"The occupation's share of the area's jobs relative to its national share (1 = the national share). Null for the nation.","type":["number","null"]},"mean":{"description":"Mean annual wage, US dollars.","type":["number","null"]},"median":{"description":"Median annual wage, US dollars.","type":["number","null"]},"p10":{"type":["number","null"]},"p25":{"type":["number","null"]},"p75":{"type":["number","null"]},"p90":{"type":["number","null"]},"flags":{"type":"array","items":{"type":"string","enum":["wage-top-coded","employment-suppressed","annualized-from-hourly"]},"description":"`wage-top-coded`: a wage is at or above BLS's published cap, so the figure is that cap (the real wage is at least that much). `annualized-from-hourly`: published by the hour only, times 2,080 hours."}},"required":["employment","locationQuotient","mean","median","p10","p25","p75","p90","flags"]},{"type":"null"}]},"nation":{"anyOf":[{"type":"object","properties":{"employment":{"description":"People employed. Null where BLS suppresses it.","type":["number","null"]},"locationQuotient":{"description":"The occupation's share of the area's jobs relative to its national share (1 = the national share). Null for the nation.","type":["number","null"]},"mean":{"description":"Mean annual wage, US dollars.","type":["number","null"]},"median":{"description":"Median annual wage, US dollars.","type":["number","null"]},"p10":{"type":["number","null"]},"p25":{"type":["number","null"]},"p75":{"type":["number","null"]},"p90":{"type":["number","null"]},"flags":{"type":"array","items":{"type":"string","enum":["wage-top-coded","employment-suppressed","annualized-from-hourly"]},"description":"`wage-top-coded`: a wage is at or above BLS's published cap, so the figure is that cap (the real wage is at least that much). `annualized-from-hourly`: published by the hour only, times 2,080 hours."}},"required":["employment","locationQuotient","mean","median","p10","p25","p75","p90","flags"]},{"type":"null"}]}},"required":["occupation","area","state","nation"]}}},"required":["version","area","requested","state","source","mode","rows"],"description":"Employment and annual pay by occupation in a place's area, with the principal state's and the nation's."},"ElectionCandidate":{"type":"object","properties":{"id":{"type":"string","description":"FEC candidate id."},"name":{"type":"string","description":"As filed, in title case."},"party":{"type":"string","enum":["D","R","I","L","O"],"description":"`D` Democrat, `R` Republican, `I` independent, `L` Libertarian, `O` other."},"partyName":{"type":"string"},"status":{"type":"string","enum":["incumbent","challenger","open","unknown"],"description":"FEC incumbent/challenger/open-seat status."},"member":{"anyOf":[{"$ref":"#/components/schemas/CongressMemberRef"},{"type":"null"}],"description":"The member of Congress this candidate is, when they serve or served."},"money":{"anyOf":[{"type":"object","properties":{"receipts":{"type":"number","description":"US dollars."},"individualContributions":{"type":"number","description":"US dollars."},"pacContributions":{"type":"number","description":"US dollars."},"partyContributions":{"type":"number","description":"US dollars."},"selfFunding":{"type":"number","description":"The candidate's own contributions and loans."},"cashOnHand":{"type":"number","description":"US dollars."},"coverageEnd":{"type":["string","null"]},"contractorPacs":{"type":"number","description":"Received from PACs whose sponsor is matched (AI, at or above the influence match threshold) to a federal contract recipient."}},"required":["receipts","individualContributions","pacContributions","partyContributions","selfFunding","cashOnHand","coverageEnd","contractorPacs"]},{"type":"null"}],"description":"FEC all-candidates summary, cumulative through `coverageEnd`; null when the FEC lists none."}},"required":["id","name","party","partyName","status","member","money"],"description":"A candidate who filed with the FEC (not the ballot), with the money the campaign received."},"ElectionRaceSummary":{"type":"object","properties":{"id":{"type":"string","description":"\"ca-12\", \"ak-al\" or \"ca-senate\"."},"cycle":{"type":"integer"},"office":{"type":"string","enum":["house","senate"]},"state":{"type":"string"},"stateName":{"type":"string"},"district":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"House district number (0 at large); null for Senate races."},"label":{"type":"string"},"incumbent":{"anyOf":[{"$ref":"#/components/schemas/CongressMemberRef"},{"type":"null"}]},"incumbentRunning":{"type":"boolean","description":"The incumbent filed to run again for this seat this cycle."},"incumbentRunsIn":{"description":"Race id the incumbent filed for instead (another district after a redraw, or the Senate), if any.","type":["string","null"]},"leaders":{"type":"array","items":{"$ref":"#/components/schemas/ElectionCandidate"},"description":"Up to 3 candidates, most received first."},"candidates":{"type":"integer","description":"Candidates listed: those who received at least the FEC reporting threshold ($5,000), and incumbents."},"receipts":{"type":"number","description":"US dollars."}},"required":["id","cycle","office","state","stateName","district","label","incumbent","incumbentRunning","incumbentRunsIn","leaders","candidates","receipts"],"description":"A House district or Senate seat of the cycle."},"ElectionsOverview":{"type":"object","properties":{"version":{"type":"string"},"cycle":{"type":"integer"},"date":{"type":"string","description":"General election day (YYYY-MM-DD)."},"senate":{"type":"array","items":{"$ref":"#/components/schemas/ElectionRaceSummary"}},"house":{"type":"array","items":{"$ref":"#/components/schemas/ElectionRaceSummary"}},"totals":{"type":"object","properties":{"candidates":{"type":"integer"},"receipts":{"type":"number","description":"US dollars."},"contractorPacs":{"type":"number","description":"US dollars."}},"required":["candidates","receipts","contractorPacs"]},"sources":{"type":"array","items":{"$ref":"#/components/schemas/CongressSource"}}},"required":["version","cycle","date","senate","house","totals","sources"],"description":"Every House district and Senate seat of the cycle with the candidates who filed with the FEC."},"ElectionRace":{"type":"object","properties":{"id":{"type":"string","description":"\"ca-12\", \"ak-al\" or \"ca-senate\"."},"cycle":{"type":"integer"},"office":{"type":"string","enum":["house","senate"]},"state":{"type":"string"},"stateName":{"type":"string"},"district":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"House district number (0 at large); null for Senate races."},"label":{"type":"string"},"incumbent":{"anyOf":[{"$ref":"#/components/schemas/CongressMemberRef"},{"type":"null"}]},"incumbentRunning":{"type":"boolean","description":"The incumbent filed to run again for this seat this cycle."},"incumbentRunsIn":{"description":"Race id the incumbent filed for instead (another district after a redraw, or the Senate), if any.","type":["string","null"]},"leaders":{"type":"array","items":{"$ref":"#/components/schemas/ElectionCandidate"},"description":"Up to 3 candidates, most received first."},"candidates":{"type":"integer","description":"Candidates listed: those who received at least the FEC reporting threshold ($5,000), and incumbents."},"receipts":{"type":"number","description":"US dollars."},"version":{"type":"string"},"date":{"type":"string"},"allCandidates":{"type":"array","items":{"$ref":"#/components/schemas/ElectionCandidate"},"description":"Every listed candidate, most received first."},"record":{"type":"array","items":{"type":"object","properties":{"member":{"$ref":"#/components/schemas/CongressMemberRef"},"congress":{"type":"integer"},"stats":{"$ref":"#/components/schemas/CongressMemberStats"},"slug":{"type":"string"}},"required":["member","congress","stats","slug"]},"description":"The sitting member's recorded activity in the current Congress (both senators' for a Senate race)."},"money":{"anyOf":[{"$ref":"#/components/schemas/CongressDistrictMoney"},{"type":"null"}],"description":"Contract money attributed to the district (current plan); null for Senate races."},"programs":{"anyOf":[{"type":"object","properties":{"fiscalYear":{"type":"integer"},"grants":{"type":"array","items":{"type":"object","properties":{"number":{"type":"string","description":"Assistance listing number."},"title":{"type":"string"},"obligations":{"type":"number","description":"US dollars."}},"required":["number","title","obligations"]}},"payments":{"type":"object","properties":{"total":{"type":"number","description":"US dollars."},"top":{"type":"array","items":{"type":"object","properties":{"number":{"type":"string","description":"Assistance listing number."},"title":{"type":"string"},"obligations":{"type":"number","description":"US dollars."}},"required":["number","title","obligations"]}}},"required":["total","top"]}},"required":["fiscalYear","grants","payments"]},{"type":"null"}],"description":"Assistance to the district's counties weighted by the district's share of each county's residents (an estimate): the largest grant programs, and direct payments and insurance apart (their size follows who lives there). Null for Senate races."},"counties":{"type":"array","items":{"type":"object","properties":{"geoid":{"type":"string"},"name":{"type":"string"},"share":{"type":"number"}},"required":["geoid","name","share"]},"description":"Counties of the district, largest share first."},"plan":{"type":["string","null"]},"sources":{"type":"array","items":{"$ref":"#/components/schemas/CongressSource"}}},"required":["id","cycle","office","state","stateName","district","label","incumbent","incumbentRunning","incumbentRunsIn","leaders","candidates","receipts","version","date","allCandidates","record","money","programs","counties","plan","sources"],"description":"One race: candidates and the money they received, the sitting member's record, and federal money in the place."},"ElectionRecord":{"type":"object","properties":{"version":{"type":"string"},"congress":{"type":"integer"},"district":{"type":"string"},"members":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Bioguide id."},"name":{"type":"string"},"party":{"type":"string","enum":["D","R","I","L","O"],"description":"`D` Democrat, `R` Republican, `I` independent, `L` Libertarian, `O` other."},"state":{"type":"string","description":"Postal code."},"districtId":{"description":"District id (\"CA-12\", \"AK-AL\") for representatives; null for senators.","type":["string","null"]},"chamber":{"anyOf":[{"type":"string","enum":["house","senate"]},{"type":"null"}]},"slug":{"type":"string"}},"required":["id","name","party","state","districtId","chamber","slug"]},"description":"The district's representative and its state's senators, seated today."},"areas":{"type":"array","items":{"type":"string"}},"votes":{"type":"array","items":{"type":"object","properties":{"voteId":{"type":"string"},"chamber":{"type":"string","enum":["house","senate"]},"date":{"type":"string"},"question":{"type":"string"},"bill":{"type":"object","properties":{"id":{"type":"string"},"label":{"type":"string"},"title":{"type":"string"},"summary":{"description":"Excerpt of the CRS summary.","type":["string","null"]},"policyArea":{"type":["string","null"]},"stage":{"type":"string","enum":["introduced","reported","passed_one","passed_both","to_president","law","vetoed","failed"],"description":"Furthest stage reached, from the Library of Congress action codes."}},"required":["id","label","title","summary","policyArea","stage"]},"result":{"type":"string"},"passed":{"type":["boolean","null"]},"partySides":{"type":"object","propertyNames":{"type":"string","enum":["D","R","I","L","O"],"description":"`D` Democrat, `R` Republican, `I` independent, `L` Libertarian, `O` other."},"additionalProperties":{"anyOf":[{"type":"string","enum":["yea","nay"]},{"type":"null"}]},"description":"The majority side of each party's voting members."},"positions":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string","enum":["yea","nay","present","not_voting","other"],"description":"As recorded: `yea`, `nay`, `present`, `not_voting` (pairs and announcements included), `other` (a vote for a name, as in the election of the Speaker)."},"description":"The members' recorded positions by Bioguide id (absent: not in office or not recorded)."}},"required":["voteId","chamber","date","question","bill","result","passed","partySides","positions"]},"description":"Newest first."}},"required":["version","congress","district","members","areas","votes"],"description":"Contested final-passage roll calls in the chosen policy areas, with the members' recorded positions."},"ElectionPlaceDistricts":{"type":"object","properties":{"version":{"type":"string"},"geoid":{"type":"string"},"districts":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"label":{"type":"string"},"share":{"type":"number","description":"Share (0–1) of the place's residents in the district."}},"required":["id","label","share"]}}},"required":["version","geoid","districts"],"description":"The congressional districts of a county or city under the current plan."},"ElectionBallotArea":{"type":"object","properties":{"geoid":{"type":"string"},"name":{"type":"string"},"level":{"type":"string","enum":["nation","state","county"]},"elections":{"type":"array","items":{"type":"object","properties":{"year":{"type":"integer","description":"General election year."},"mail":{"type":"object","properties":{"transmitted":{"anyOf":[{"type":"integer"},{"type":"null"}]},"returned":{"anyOf":[{"type":"integer"},{"type":"null"}]},"counted":{"anyOf":[{"type":"integer"},{"type":"null"}]},"rejected":{"anyOf":[{"type":"integer"},{"type":"null"}]},"rejectionRate":{"description":"rejected ÷ (counted + rejected).","type":["number","null"]},"reasons":{"type":"array","items":{"type":"object","properties":{"reason":{"type":"string","enum":["late","missing_voter_signature","missing_witness_signature","signature_mismatch","missing_official_signature","unofficial_envelope","ballot_missing","no_secrecy_envelope","multiple_ballots","envelope_not_sealed","no_postmark","missing_address","voter_deceased","already_voted","missing_documentation","not_eligible","no_application","other"]},"label":{"type":"string"},"count":{"type":"integer"},"share":{"type":"number","description":"Share (0–1) of the rejected mail ballots."}},"required":["reason","label","count","share"]},"description":"Reasons reported, largest first."},"reasonsCoverage":{"description":"Share of the rejections the reasons account for (offices do not always break every rejection down).","type":["number","null"]}},"required":["transmitted","returned","counted","rejected","rejectionRate","reasons","reasonsCoverage"]},"provisional":{"type":"object","properties":{"cast":{"anyOf":[{"type":"integer"},{"type":"null"}]},"counted":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Counted in full or in part."},"rejected":{"anyOf":[{"type":"integer"},{"type":"null"}]},"countedShare":{"description":"counted ÷ cast.","type":["number","null"]}},"required":["cast","counted","rejected","countedShare"]}},"required":["year","mail","provisional"]},"description":"Elections with any reported value, oldest first."}},"required":["geoid","name","level","elections"],"description":"How mail and provisional ballots were handled in a place, per general election."},"ElectionBallots":{"type":"object","properties":{"version":{"type":"string"},"place":{"$ref":"#/components/schemas/ElectionBallotArea"},"state":{"anyOf":[{"$ref":"#/components/schemas/ElectionBallotArea"},{"type":"null"}],"description":"The county's state (null for a state or the nation)."},"nation":{"anyOf":[{"$ref":"#/components/schemas/ElectionBallotArea"},{"type":"null"}],"description":"The nation (null when the place is the nation)."},"source":{"$ref":"#/components/schemas/SourceInfo"}},"required":["version","place","state","nation","source"],"description":"Mail ballots counted and rejected (and why) and provisional ballots per general election (EAC EAVS), with the state and the nation for comparison. Counts are null where offices did not report them; `source.vintage` is the latest election loaded."},"ExclusionMatch":{"type":"object","properties":{"method":{"type":"string","enum":["uei","cage","name"],"description":"`uei` or `cage`: exact identifier match (reported, counted). `name`: an AI name judgment (a possible match, never counted)."},"probability":{"description":"Name matches: probability (0–1) that both are the same organization or one corporate family; null for identifier matches.","type":["number","null"]},"model":{"description":"Name matches: the model that judged it.","type":["string","null"]},"evaluatedAt":{"type":"string"}},"required":["method","probability","model","evaluatedAt"],"description":"How a recipient was matched to an exclusion record."},"ExclusionRecord":{"type":"object","properties":{"id":{"type":"string"},"classification":{"type":"string","description":"SAM.gov classification (\"Firm\", \"Special Entity Designation\", \"Vessel\"); individuals and person-like firms are never loaded."},"name":{"type":"string"},"location":{"type":["string","null"]},"uei":{"type":["string","null"]},"cage":{"type":["string","null"]},"agency":{"anyOf":[{"type":"object","properties":{"code":{"type":"string"},"name":{"type":"string"}},"required":["code","name"]},{"type":"null"}],"description":"The excluding agency."},"exclusionType":{"type":"string"},"typeLabel":{"type":"string","description":"Plain-language type."},"program":{"type":["string","null"]},"activeDate":{"description":"YYYY-MM-DD.","type":["string","null"]},"terminationDate":{"description":"Null when indefinite.","type":["string","null"]},"creationDate":{"type":["string","null"]},"listed":{"type":"boolean","description":"Still listed in the latest snapshot."},"lastSeenAt":{"description":"Last snapshot that listed it (null while listed).","type":["string","null"]},"endedAt":{"description":"First snapshot that no longer listed it (the exclusion ended in between).","type":["string","null"]},"barsAwards":{"type":"boolean","description":"Whether this exclusion bars new contract awards (the rule of the integrity signal)."},"crossReferences":{"type":"array","items":{"type":"string"},"description":"Other organizations named in the record."},"samUrl":{"description":"The record on SAM.gov (current record numbers only).","type":["string","null"]},"match":{"$ref":"#/components/schemas/ExclusionMatch"}},"required":["id","classification","name","location","uei","cage","agency","exclusionType","typeLabel","program","activeDate","terminationDate","creationDate","listed","lastSeenAt","endedAt","barsAwards","crossReferences","samUrl","match"],"description":"A SAM.gov exclusion record matched to a contract recipient."},"ExclusionTotals":{"type":"object","properties":{"actions":{"type":"number"},"awards":{"type":"number"},"obligations":{"type":"number","description":"US dollars."}},"required":["actions","awards","obligations"]},"ExclusionAwardRow":{"type":"object","properties":{"id":{"type":"string","description":"Contract award id."},"piid":{"type":"string"},"description":{"type":["string","null"]},"agency":{"anyOf":[{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"}},"required":["id","name"]},{"type":"null"}]},"recipient":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"]},{"type":"null"}]},"firstActionDate":{"type":"string","description":"First counted action (new award, option or added work) during the exclusion, else the first action during it."},"obligations":{"type":"number","description":"Obligations of the counted actions (of every action during the exclusion when none is counted)."},"actions":{"type":"number"},"kinds":{"type":"array","items":{"type":"string"},"description":"Counted action kinds: \"new-award\" and/or \"new-work\"."},"exclusionId":{"type":"string"}},"required":["id","piid","description","agency","recipient","firstActionDate","obligations","actions","kinds","exclusionId"],"description":"A contract award with actions dated while its recipient was excluded."},"ExclusionsContext":{"type":"object","properties":{"source":{"$ref":"#/components/schemas/SourceInfo"},"asOf":{"description":"Data date of the latest snapshot applied.","type":["string","null"]},"historyFrom":{"description":"First snapshot applied (exclusions that ended before it are unknown).","type":["string","null"]},"nameThreshold":{"type":"number","description":"Link probability at or above which a name match is shown as a possible match."}},"required":["source","asOf","historyFrom","nameThreshold"]},"ExclusionsRecipient":{"type":"object","properties":{"recipientId":{"type":"string"},"exclusions":{"type":"array","items":{"$ref":"#/components/schemas/ExclusionRecord"},"description":"Reported: exact identifier matches (UEI, CAGE)."},"possible":{"type":"array","items":{"$ref":"#/components/schemas/ExclusionRecord"},"description":"Possible matches: name matches judged likely by AI, never counted."},"counted":{"description":"New awards, options and added work dated during an exclusion that bars awards.","$ref":"#/components/schemas/ExclusionTotals"},"continuations":{"description":"Other modifications during an exclusion (context, not counted).","$ref":"#/components/schemas/ExclusionTotals"},"awards":{"type":"array","items":{"$ref":"#/components/schemas/ExclusionAwardRow"}},"context":{"$ref":"#/components/schemas/ExclusionsContext"}},"required":["recipientId","exclusions","possible","counted","continuations","awards","context"],"description":"A recipient's exclusions and its awards dated during one."},"ExclusionsAward":{"type":"object","properties":{"awardId":{"type":"string"},"recipientId":{"type":["string","null"]},"exclusions":{"type":"array","items":{"$ref":"#/components/schemas/ExclusionRecord"}},"possible":{"type":"array","items":{"$ref":"#/components/schemas/ExclusionRecord"}},"actions":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string"},"modificationNumber":{"type":"string"},"actionType":{"type":["string","null"]},"kind":{"type":"string","enum":["new-award","new-work","continuation"]},"counted":{"type":"boolean"},"obligation":{"type":"number","description":"US dollars."},"exclusionId":{"type":"string"}},"required":["date","modificationNumber","actionType","kind","counted","obligation","exclusionId"]},"description":"Actions of the award dated during an exclusion that bars awards, latest first."},"context":{"$ref":"#/components/schemas/ExclusionsContext"}},"required":["awardId","recipientId","exclusions","possible","actions","context"],"description":"An award's actions dated while its recipient was excluded."},"ExclusionsAgency":{"type":"object","properties":{"agencyId":{"type":"integer"},"fiscalYear":{"type":"integer"},"year":{"type":"object","properties":{"actions":{"type":"number"},"awards":{"type":"number"},"obligations":{"type":"number","description":"US dollars."},"recipients":{"type":"number"}},"required":["actions","awards","obligations","recipients"],"description":"Counted actions of the fiscal year."},"allYears":{"type":"object","properties":{"actions":{"type":"number"},"awards":{"type":"number"},"obligations":{"type":"number","description":"US dollars."},"recipients":{"type":"number"}},"required":["actions","awards","obligations","recipients"],"description":"Counted actions of every loaded year."},"recipients":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"obligations":{"type":"number","description":"US dollars."},"awards":{"type":"number"},"exclusion":{"anyOf":[{"type":"object","properties":{"agency":{"type":["string","null"]},"typeLabel":{"type":"string"},"activeDate":{"type":["string","null"]}},"required":["agency","typeLabel","activeDate"]},{"type":"null"}]}},"required":["id","name","obligations","awards","exclusion"]}},"awards":{"type":"array","items":{"$ref":"#/components/schemas/ExclusionAwardRow"}},"context":{"$ref":"#/components/schemas/ExclusionsContext"}},"required":["agencyId","fiscalYear","year","allYears","recipients","awards","context"],"description":"Awards an agency (toptier, subtier or office) made to excluded parties."},"TractArea":{"type":"object","properties":{"area":{"type":"string","description":"The GEOID asked for."},"level":{"type":"string","enum":["county","city","metro"]},"version":{"type":"string","description":"Neighborhoods version: pin `/api/v1/datasets/tract` and this route with `?v=`."},"counties":{"type":"array","items":{"type":"object","properties":{"geoid":{"type":"string","description":"County GEOID."},"share":{"description":"Share (0–1) of a city's residents living in the county; 1 for a county itself, null for metro areas.","type":["number","null"]},"population":{"description":"County residents (latest estimate).","type":["number","null"]},"shard":{"description":"Content hash of the county's tract shapes: request `/api/v1/geo/shards/tracts/{county}?h={shard}` (null when none are loaded).","type":["string","null"]}},"required":["geoid","share","population","shard"]},"description":"Counties whose tracts make up the area's neighborhoods: a city's by share of residents (counties it only touches without residents are left out), a metro area's most populous first."}},"required":["area","level","version","counties"],"description":"The counties behind an area's neighborhoods, with the content hash of each county's tract shapes."},"TractDatasetJson":{"type":"object","properties":{"level":{"type":"string","const":"tract"},"version":{"type":"string"},"generatedAt":{"type":"string"},"places":{"type":"object","properties":{"geoid":{"type":"array","items":{"type":"string"},"description":"11-digit tract GEOIDs (county + 6-digit tract code)."},"name":{"type":"array","items":{"type":"string"},"description":"Short names (\"Tract 11.01\")."},"stateCode":{"type":"array","items":{"type":"string"}},"county":{"type":"array","items":{"type":"string"},"description":"The county each tract nests in (where its `borrowed` values come from)."},"lat":{"type":"array","items":{"type":["number","null"]}},"lng":{"type":"array","items":{"type":["number","null"]}}},"required":["geoid","name","stateCode","county","lat","lng"],"description":"Columns: index i of every array is tract i."},"indicators":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"periods":{"type":"array","items":{"type":"string"},"description":"Distinct periods present, most recent first."},"national":{"description":"Value for the whole nation; null where tract values are a different measure (crude prevalence, ranks among tracts).","type":["number","null"]},"values":{"type":"array","items":{"type":["number","null"]},"description":"Latest published value per tract (null = none)."},"scores":{"type":"array","items":{"type":["number","null"]},"description":"Percentile score 0–100 among every ranked tract of the nation (higher is better; reliability-adjusted where the value has a standard error). Null for tracts under 500 residents."},"periodIndex":{"type":"array","items":{"type":"integer"},"description":"Per tract: index into `periods` of its value."},"flags":{"type":"array","items":{"type":"integer"},"description":"Per tract: bit set of data-quality flags (1 unreliable, 2 crosswalked, 4 aggregated, 8 partialYear, 16 modelBased, 32 olderPeriod, 64 provisional, 128 partialCoverage, 256 borrowed, 512 crude, 1024 topCoded, 2048 bottomCoded). `borrowed`: the county's value of an area-wide measure without a tract figure."}},"required":["key","periods","national","values","scores","periodIndex","flags"]}},"sources":{"type":"array","items":{"$ref":"#/components/schemas/Release"}},"shards":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"},"description":"Content hash of the county's tract shapes, by county GEOID."}},"required":["level","version","generatedAt","places","indicators","sources","shards"],"description":"One county's neighborhoods as JSON (`?format=json`): the same columns as the binary format."},"TractEstimates":{"type":"object","properties":{"geoid":{"type":"string"},"version":{"type":"string"},"estimates":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","description":"Indicator key (from /api/v1/meta)."},"value":{"type":"number","description":"Published value."},"period":{"type":"string"},"standardError":{"description":"Published standard error (null when the source publishes none).","type":["number","null"]},"marginOfError":{"description":"90% margin of error: 1.645 × the standard error.","type":["number","null"]},"flags":{"type":"array","items":{"type":"string"},"description":"Data-quality notes: \"unreliable\" (coefficient of variation over 40%), \"crude\", \"model-based\", \"top-coded\", \"bottom-coded\"."}},"required":["key","value","period","standardError","marginOfError","flags"]},"description":"The tract's own estimates (area-wide measures it borrows from its county are not listed)."}},"required":["geoid","version","estimates"],"description":"One census tract's published estimates with their margins of error."},"OutcomeSourceInfo":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"publisher":{"type":"string"},"attribution":{"type":"string"},"homepage":{"type":"string"},"vintage":{"type":["string","null"]},"loadedAt":{"type":["string","null"]}},"required":["id","name","publisher","attribution","homepage","vintage","loadedAt"],"description":"Provenance of one source behind an outcomes payload."},"OutcomeCaveat":{"type":"object","properties":{"id":{"type":"string"},"text":{"type":"string"}},"required":["id","text"],"description":"A caveat to show with the results."},"OutcomeDomainInfo":{"type":"object","properties":{"id":{"type":"string","enum":["contracts","construction-contracts","contracts-and-grants","transportation-grants","housing-assistance","health-grants","sba-lending"],"description":"Money domain (see `domains` in /api/v1/outcomes/meta)."},"label":{"type":"string"},"description":{"type":"string"},"measure":{"type":"string","enum":["obligations","face-value"],"description":"`face-value` only for lending volume: not money spent, never added to totals."},"shockFloorPerResident":{"type":"number","description":"Smallest increase per resident over the county's baseline that counts as a shock."},"caveat":{"type":"string"},"sources":{"type":"array","items":{"type":"string"}},"fiscalYears":{"type":"array","items":{"type":"object","properties":{"year":{"type":"integer"},"complete":{"type":"boolean","description":"Late reports are in; incomplete years never hold shocks."}},"required":["year","complete"]}}},"required":["id","label","description","measure","shockFloorPerResident","caveat","sources","fiscalYears"],"description":"A group of federal money compared with outcomes."},"OutcomeMeasureInfo":{"type":"object","properties":{"key":{"type":"string","description":"Indicator key (see /api/v1/meta)."},"label":{"type":"string"},"shortLabel":{"type":"string"},"description":{"type":"string"},"unit":{"type":"string"},"decimals":{"type":"integer"},"direction":{"type":"string","enum":["higher","lower","neutral"],"description":"Catalog direction; the API never labels a difference good or bad."},"comparison":{"type":"string","enum":["percent","points"],"description":"`percent`: percent change since the base year (levels); `points`: change in the value's own unit (rates, shares, per-1,000 flows)."},"annualization":{"type":"string","enum":["annual","december"],"description":"Which value stands for a calendar year: the annual value, or December's for monthly indexes."},"source":{"type":"string"},"years":{"anyOf":[{"type":"object","properties":{"first":{"type":"integer"},"last":{"type":"integer"}},"required":["first","last"]},{"type":"null"}]}},"required":["key","label","shortLabel","description","unit","decimals","direction","comparison","annualization","source","years"],"description":"An outcome compared with money."},"OutcomeFinding":{"type":"object","properties":{"domain":{"type":"string","enum":["contracts","construction-contracts","contracts-and-grants","transportation-grants","housing-assistance","health-grants","sba-lending"],"description":"Money domain (see `domains` in /api/v1/outcomes/meta)."},"outcome":{"type":"string"},"comparison":{"type":"string","enum":["percent","points"],"description":"`percent`: percent change since the base year (levels); `points`: change in the value's own unit (rates, shares, per-1,000 flows)."},"headlineYear":{"type":"integer"},"strength":{"type":"string","enum":["too-few","unreliable","no-clear-difference","suggestive-difference","consistent-difference"],"description":"`too-few`: under the minimum number of shocks; `unreliable`: the placebo finds a difference, so the comparison is not trustworthy; `no-clear-difference`: the interval includes zero; `suggestive-difference`: the interval excludes zero; `consistent-difference`: it does with many shocks and the same sign every later year."},"direction":{"anyOf":[{"type":"string","enum":["higher","lower"]},{"type":"null"}],"description":"`higher`: shock counties changed more than their comparison counties."},"shocks":{"type":"integer"},"result":{"anyOf":[{"type":"object","properties":{"estimate":{"type":"number"},"ciLow":{"type":["number","null"]},"ciHigh":{"type":["number","null"]}},"required":["estimate","ciLow","ciHigh"]},{"type":"null"}],"description":"Mean difference in change (shock − comparison counties) at the headline year, 95% bootstrap interval clustered by county."},"placebo":{"anyOf":[{"type":"object","properties":{"estimate":{"type":"number"},"ciLow":{"type":["number","null"]},"ciHigh":{"type":["number","null"]}},"required":["estimate","ciLow","ciHigh"]},{"type":"null"}],"description":"The same method dated years before any money; it should find nothing."},"unmatched":{"type":"integer","description":"Eligible shocks left out of this outcome (no history, or no close comparison counties)."}},"required":["domain","outcome","comparison","headlineYear","strength","direction","shocks","result","placebo","unmatched"],"description":"The summary of a domain and outcome pairing."},"OutcomesMeta":{"type":"object","properties":{"format":{"type":"integer","description":"Payload format; bumped on breaking changes."},"version":{"type":"string"},"method":{"anyOf":[{"type":"object","properties":{"version":{"type":"string"},"computedAt":{"type":["string","null"]},"shockRatio":{"type":"number"},"minPopulation":{"type":"integer"},"controlsPerShock":{"type":"integer"},"caliper":{"type":"number"},"confidence":{"type":"number"},"minPooledShocks":{"type":"integer"}},"required":["version","computedAt","shockRatio","minPopulation","controlsPerShock","caliper","confidence","minPooledShocks"]},{"type":"null"}],"description":"Method and parameters of the latest computation (more fields than listed here); null before the first."},"domains":{"type":"array","items":{"$ref":"#/components/schemas/OutcomeDomainInfo"}},"outcomes":{"type":"array","items":{"$ref":"#/components/schemas/OutcomeMeasureInfo"}},"crosswalk":{"type":"array","items":{"type":"object","properties":{"domain":{"type":"string","enum":["contracts","construction-contracts","contracts-and-grants","transportation-grants","housing-assistance","health-grants","sba-lending"],"description":"Money domain (see `domains` in /api/v1/outcomes/meta)."},"outcome":{"type":"string"},"rationale":{"type":"string"},"lagYears":{"type":"object","properties":{"min":{"type":"integer"},"max":{"type":"integer"}},"required":["min","max"]},"headlineYear":{"type":"integer"},"caveat":{"type":"string"},"finding":{"anyOf":[{"$ref":"#/components/schemas/OutcomeFinding"},{"type":"null"}]}},"required":["domain","outcome","rationale","lagYears","headlineYear","caveat","finding"]}},"shocks":{"type":"array","items":{"type":"object","properties":{"domain":{"type":"string","enum":["contracts","construction-contracts","contracts-and-grants","transportation-grants","housing-assistance","health-grants","sba-lending"],"description":"Money domain (see `domains` in /api/v1/outcomes/meta)."},"shockYears":{"type":"array","items":{"type":"integer"}},"candidates":{"type":"integer"},"eligible":{"type":"integer"},"excluded":{"type":"object","propertyNames":{"type":"string","enum":["single-recipient-spike","follows-earlier-shock"]},"additionalProperties":{"type":"integer"},"required":["single-recipient-spike","follows-earlier-shock"]}},"required":["domain","shockYears","candidates","eligible","excluded"]}},"caveats":{"type":"array","items":{"$ref":"#/components/schemas/OutcomeCaveat"}},"sources":{"type":"array","items":{"$ref":"#/components/schemas/OutcomeSourceInfo"}}},"required":["format","version","method","domains","outcomes","crosswalk","shocks","caveats","sources"],"description":"Domains, outcomes, the crosswalk with each pairing's finding, the method and coverage."},"OutcomesPlace":{"type":"object","properties":{"format":{"type":"integer"},"version":{"type":"string"},"methodVersion":{"type":"string"},"place":{"type":"object","properties":{"geoid":{"type":"string"},"name":{"type":"string"},"level":{"type":"string","enum":["nation","state","county"]}},"required":["geoid","name","level"]},"money":{"type":"array","items":{"type":"object","properties":{"domain":{"type":"string","enum":["contracts","construction-contracts","contracts-and-grants","transportation-grants","housing-assistance","health-grants","sba-lending"],"description":"Money domain (see `domains` in /api/v1/outcomes/meta)."},"series":{"type":"array","items":{"type":"object","properties":{"fiscalYear":{"type":"integer"},"amount":{"type":"number","description":"US dollars."},"perResident":{"anyOf":[{"type":"number","description":"US dollars."},{"type":"null"}]},"population":{"type":["number","null"]},"populationYear":{"anyOf":[{"type":"integer"},{"type":"null"}]},"complete":{"type":"boolean"},"covered":{"type":"boolean"}},"required":["fiscalYear","amount","perResident","population","populationYear","complete","covered"]}},"national":{"type":"array","items":{"type":"object","properties":{"fiscalYear":{"type":"integer"},"perResident":{"anyOf":[{"type":"number","description":"US dollars."},{"type":"null"}]}},"required":["fiscalYear","perResident"]}}},"required":["domain","series","national"]}},"outcomes":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"comparison":{"type":"string","enum":["percent","points"],"description":"`percent`: percent change since the base year (levels); `points`: change in the value's own unit (rates, shares, per-1,000 flows)."},"chart":{"type":"string","enum":["change","value"]},"baseYear":{"type":"integer"},"series":{"type":"array","items":{"type":"object","properties":{"year":{"type":"integer"},"period":{"type":"string"},"value":{"type":"number"},"change":{"type":["number","null"]}},"required":["year","period","value","change"]}},"national":{"type":"array","items":{"type":"object","properties":{"year":{"type":"integer"},"period":{"type":"string"},"value":{"type":"number"},"change":{"type":["number","null"]}},"required":["year","period","value","change"]}}},"required":["key","comparison","chart","baseYear","series","national"]}},"shocks":{"type":"array","items":{"type":"object","properties":{"domain":{"type":"string","enum":["contracts","construction-contracts","contracts-and-grants","transportation-grants","housing-assistance","health-grants","sba-lending"],"description":"Money domain (see `domains` in /api/v1/outcomes/meta)."},"geoid":{"type":"string"},"name":{"type":"string"},"fiscalYear":{"type":"integer"},"amount":{"type":"number","description":"US dollars."},"population":{"type":"number"},"perResident":{"type":"number","description":"US dollars."},"baselinePerResident":{"type":"number","description":"Mean money per resident over the county's earlier loaded fiscal years."},"baselineYears":{"type":"integer"},"ratio":{"type":["number","null"]},"increasePerResident":{"type":"number","description":"US dollars."},"nextPerResident":{"type":"number","description":"US dollars."},"persisted":{"type":"boolean"},"topRecipientShare":{"description":"Share (0–1) of the increase from the single recipient whose money rose most (never who).","type":["number","null"]},"eligible":{"type":"boolean"},"exclusionReason":{"anyOf":[{"type":"string","enum":["single-recipient-spike","follows-earlier-shock"]},{"type":"null"}]},"effects":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"outcome":{"type":"string"},"comparison":{"type":"string","enum":["percent","points"],"description":"`percent`: percent change since the base year (levels); `points`: change in the value's own unit (rates, shares, per-1,000 flows)."},"baseYear":{"type":"integer"},"controls":{"type":"array","items":{"type":"object","properties":{"geoid":{"type":"string"},"name":{"type":"string"},"distance":{"type":"number"}},"required":["geoid","name","distance"]}},"path":{"type":"array","items":{"type":"object","properties":{"relativeYear":{"type":"integer"},"year":{"type":"integer"},"shockValue":{"type":"number"},"shockChange":{"type":"number"},"controlsMeanChange":{"type":"number"},"controlsMinChange":{"type":"number"},"controlsMaxChange":{"type":"number"},"controls":{"type":"integer"},"difference":{"type":"number"}},"required":["relativeYear","year","shockValue","shockChange","controlsMeanChange","controlsMinChange","controlsMaxChange","controls","difference"]}},"headline":{"anyOf":[{"type":"object","properties":{"relativeYear":{"type":"integer"},"year":{"type":"integer"},"shockValue":{"type":"number"},"shockChange":{"type":"number"},"controlsMeanChange":{"type":"number"},"controlsMinChange":{"type":"number"},"controlsMaxChange":{"type":"number"},"controls":{"type":"integer"},"difference":{"type":"number"},"outsideControlRange":{"type":"boolean"}},"required":["relativeYear","year","shockValue","shockChange","controlsMeanChange","controlsMinChange","controlsMaxChange","controls","difference","outsideControlRange"]},{"type":"null"}]}},"required":["outcome","comparison","baseYear","controls","path","headline"]}},{"type":"null"}],"description":"A county's comparisons per outcome (null on states and for excluded shocks)."}},"required":["domain","geoid","name","fiscalYear","amount","population","perResident","baselinePerResident","baselineYears","ratio","increasePerResident","nextPerResident","persisted","topRecipientShare","eligible","exclusionReason","effects"]}},"caveats":{"type":"array","items":{"$ref":"#/components/schemas/OutcomeCaveat"}},"sources":{"type":"array","items":{"$ref":"#/components/schemas/OutcomeSourceInfo"}}},"required":["format","version","methodVersion","place","money","outcomes","shocks","caveats","sources"],"description":"Money per resident by domain and fiscal year, related outcomes and spending shocks of the nation, a state or a county."},"OutcomesEffects":{"type":"object","properties":{"format":{"type":"integer"},"version":{"type":"string"},"methodVersion":{"type":"string"},"domain":{"$ref":"#/components/schemas/OutcomeDomainInfo"},"outcome":{"$ref":"#/components/schemas/OutcomeMeasureInfo"},"pairing":{"type":"object","properties":{"domain":{"type":"string","enum":["contracts","construction-contracts","contracts-and-grants","transportation-grants","housing-assistance","health-grants","sba-lending"],"description":"Money domain (see `domains` in /api/v1/outcomes/meta)."},"outcome":{"type":"string"},"rationale":{"type":"string"},"lagYears":{"type":"object","properties":{"min":{"type":"integer"},"max":{"type":"integer"}},"required":["min","max"]},"headlineYear":{"type":"integer"},"caveat":{"type":"string"}},"required":["domain","outcome","rationale","lagYears","headlineYear","caveat"]},"finding":{"anyOf":[{"$ref":"#/components/schemas/OutcomeFinding"},{"type":"null"}]},"eventStudy":{"type":"array","items":{"type":"object","properties":{"relativeYear":{"type":"integer"},"shocks":{"type":"integer"},"estimate":{"type":"number"},"ciLow":{"type":["number","null"]},"ciHigh":{"type":["number","null"]},"meanShockChange":{"type":"number"},"meanControlsChange":{"type":"number"}},"required":["relativeYear","shocks","estimate","ciLow","ciHigh","meanShockChange","meanControlsChange"]},"description":"Pooled difference by relative year (the base year −1 included at 0)."},"placebo":{"type":"array","items":{"type":"object","properties":{"relativeYear":{"type":"integer"},"shocks":{"type":"integer"},"estimate":{"type":"number"},"ciLow":{"type":["number","null"]},"ciHigh":{"type":["number","null"]},"meanShockChange":{"type":"number"},"meanControlsChange":{"type":"number"}},"required":["relativeYear","shocks","estimate","ciLow","ciHigh","meanShockChange","meanControlsChange"]}},"shocks":{"type":"array","items":{"type":"object","properties":{"geoid":{"type":"string"},"name":{"type":"string"},"fiscalYear":{"type":"integer"},"perResident":{"type":"number","description":"US dollars."},"baselinePerResident":{"type":"number","description":"US dollars."},"ratio":{"type":["number","null"]},"increasePerResident":{"type":"number","description":"US dollars."},"controls":{"type":"integer"},"headline":{"anyOf":[{"type":"object","properties":{"difference":{"type":"number"},"shockChange":{"type":"number"},"controlsMeanChange":{"type":"number"},"outsideControlRange":{"type":"boolean"}},"required":["difference","shockChange","controlsMeanChange","outsideControlRange"]},{"type":"null"}]},"href":{"type":"string","description":"The place payload with this shock's full comparison."}},"required":["geoid","name","fiscalYear","perResident","baselinePerResident","ratio","increasePerResident","controls","headline","href"]}},"excluded":{"type":"object","properties":{"singleRecipientSpike":{"type":"integer"},"followsEarlierShock":{"type":"integer"},"unmatched":{"type":"integer"}},"required":["singleRecipientSpike","followsEarlierShock","unmatched"]},"caveats":{"type":"array","items":{"$ref":"#/components/schemas/OutcomeCaveat"}},"sources":{"type":"array","items":{"$ref":"#/components/schemas/OutcomeSourceInfo"}}},"required":["format","version","methodVersion","domain","outcome","pairing","finding","eventStudy","placebo","shocks","excluded","caveats","sources"],"description":"The pooled event study of a domain and outcome pairing, its placebo, its finding and the shocks behind it."},"RecompeteNotice":{"type":"object","properties":{"id":{"type":"string","description":"SAM.gov notice id (use with /api/v1/contracts/opportunities/{id})."},"title":{"type":"string"},"noticeType":{"type":"string"},"solicitationNumber":{"type":["string","null"]},"postedAt":{"type":"string","description":"ISO timestamp (UTC)."},"responseDeadline":{"description":"ISO timestamp (UTC).","type":["string","null"]},"active":{"type":"boolean"},"match":{"type":"string","enum":["solicitation","contract","similar"],"description":"How it relates to the award: `solicitation` carries the award's solicitation number; `contract` cites its contract number; `similar` is an open notice of the same buying office for the same NAICS or PSC code, posted in the last 12 months. A hint, not a finding: a similar notice may be for other work of the same office."}},"required":["id","title","noticeType","solicitationNumber","postedAt","responseDeadline","active","match"],"description":"A SAM.gov notice that may relate to an award ending soon."},"RecompeteRow":{"type":"object","properties":{"id":{"type":"string","description":"Analisa award id (use with /api/v1/contracts/awards/{id})."},"piid":{"type":"string","description":"Contract number (PIID)."},"description":{"type":["string","null"]},"awardType":{"type":"string","description":"FPDS award type code."},"agency":{"anyOf":[{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"}},"required":["id","name"]},{"type":"null"}],"description":"Awarding subtier agency."},"office":{"description":"Awarding office.","type":["string","null"]},"recipient":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"]},{"type":"null"}],"description":"The incumbent: the recipient on the latest loaded record of the award."},"place":{"type":["string","null"]},"placeGeoid":{"type":["string","null"]},"category":{"type":"string","enum":["defense-equipment","it-telecom","research","professional","construction","health","maintenance","facilities","transport","education-social","fuel","supplies","unclassified"]},"naicsCode":{"type":["string","null"]},"pscCode":{"type":["string","null"]},"setAside":{"description":"FPDS set-aside code.","type":["string","null"]},"competition":{"type":"string","enum":["competed","not-competed","unknown"]},"soleSource":{"type":"boolean","description":"The award was not competed when it was made."},"potentialValue":{"type":"number","description":"Base and all options."},"totalObligated":{"type":"number","description":"US dollars."},"currentEndDate":{"type":"string","description":"End of the current period of performance (YYYY-MM-DD), options already exercised included."},"potentialEndDate":{"description":"End of the period if every option is exercised (YYYY-MM-DD).","type":["string","null"]},"optionsRemaining":{"type":"boolean","description":"The potential end date is later than the current one: an option may be exercised instead of recompeting the work."},"daysToEnd":{"type":"integer","description":"Days from `asOf` to the current end date."},"lastActionDate":{"type":"string","description":"Date of the latest modification loaded: how recent the end date is."},"relatedNotices":{"type":"array","items":{"$ref":"#/components/schemas/RecompeteNotice"},"description":"At most three, strongest first; empty when none or when they were not computed."}},"required":["id","piid","description","awardType","agency","office","recipient","place","placeGeoid","category","naicsCode","pscCode","setAside","competition","soleSource","potentialValue","totalObligated","currentEndDate","potentialEndDate","optionsRemaining","daysToEnd","lastActionDate","relatedNotices"],"description":"A contract award whose current period of performance ends in the window."},"RecompeteSummary":{"type":"object","properties":{"awards":{"type":"integer","description":"Awards the filters select in the whole window (not only the page)."},"potentialValue":{"type":"number","description":"US dollars."},"soleSource":{"type":"integer"},"withOptions":{"type":"integer","description":"Awards with options left."},"byMonth":{"type":"array","items":{"type":"object","properties":{"month":{"type":"string","description":"YYYY-MM of the current end date."},"awards":{"type":"integer"},"potentialValue":{"type":"number","description":"US dollars."},"soleSource":{"type":"integer"},"withOptions":{"type":"integer"}},"required":["month","awards","potentialValue","soleSource","withOptions"]},"description":"Oldest first; months without awards are absent. The first and last months may be partial (the window starts on `asOf`)."},"topAgencies":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"awards":{"type":"integer"},"potentialValue":{"type":"number","description":"US dollars."}},"required":["id","name","awards","potentialValue"]},"description":"The ten toptier agencies with the most potential value ending in the window."}},"required":["awards","potentialValue","soleSource","withOptions","byMonth","topAgencies"],"description":"Totals of everything the filters select."},"RecompetePage":{"type":"object","properties":{"asOf":{"type":"string","description":"The day the window starts (UTC, YYYY-MM-DD)."},"window":{"type":"object","properties":{"months":{"type":"number","enum":[6,12,18,24]},"start":{"type":"string","description":"Included."},"end":{"type":"string","description":"Excluded."}},"required":["months","start","end"]},"filters":{"type":"object","properties":{"window":{"type":"number","enum":[6,12,18,24]},"floor":{"type":"number","enum":[1000000,2500000,5000000,10000000,25000000,50000000,100000000],"description":"Minimum potential value, US dollars."},"agencyId":{"anyOf":[{"type":"integer"},{"type":"null"}]},"subtierId":{"anyOf":[{"type":"integer"},{"type":"null"}]},"officeId":{"anyOf":[{"type":"integer"},{"type":"null"}]},"recipientId":{"type":["string","null"]},"naics":{"type":["string","null"]},"psc":{"type":["string","null"]},"setAside":{"anyOf":[{"type":"string","enum":["none","small-business","8a","hubzone","sdvosb","wosb","veteran","indian","other"]},{"type":"null"}]},"geoid":{"type":["string","null"]},"soleSource":{"type":"boolean"},"options":{"type":"string","enum":["any","with","without"]}},"required":["window","floor","agencyId","subtierId","officeId","recipientId","naics","psc","setAside","geoid","soleSource","options"],"description":"The filters applied, after normalization and after the caller's plan was taken into account (`access.ignored` lists what was dropped)."},"access":{"type":"object","properties":{"tier":{"type":"string","enum":["full","preview"],"description":"`full`: the recompete calendar plan. `preview`: anonymous and free callers."},"rowCap":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Most rows the caller can list (`null`: all, 25 per page). A preview lists the soonest ten, or five of one buyer or company, with no next page."},"ignored":{"type":"array","items":{"type":"string"},"description":"Filters the request asked for that the caller's plan does not include; they were not applied."},"export":{"type":"boolean","description":"Whether the caller may use the CSV export."}},"required":["tier","rowCap","ignored","export"]},"rows":{"type":"array","items":{"$ref":"#/components/schemas/RecompeteRow"},"description":"Soonest current end date first; the award id breaks ties."},"nextCursor":{"description":"Pass back as `cursor` for the next page; null on the last page (and always for a preview).","type":["string","null"]},"summary":{"description":"With `summary=1` on the first page.","$ref":"#/components/schemas/RecompeteSummary"},"source":{"description":"Contracts: USAspending.gov prime award transactions (FPDS). Cite the vintage with the end dates.","$ref":"#/components/schemas/SourceInfo"},"noticesSource":{"description":"Notices: SAM.gov Contract Opportunities.","$ref":"#/components/schemas/SourceInfo"},"partial":{"description":"Present when an optional part timed out and is empty: the response is sent with `no-store` and no ETag; retry later for the full payload.","type":"boolean","const":true}},"required":["asOf","window","filters","access","rows","nextCursor","source","noticesSource"],"description":"A page of the recompete calendar."},"WhereToLiveCriteria":{"type":"object","properties":{"v":{"description":"Criteria version (1). Defaults to the current one.","type":"number","const":1},"level":{"description":"Which places are ranked: `city` (default), `metro` or `county`.","type":"string","enum":["city","metro","county"]},"profile":{"description":"Persona the priorities start from (`explorer`, `family`, `retiree`, `remote`, `young-professional`); it also sets indicator emphasis. Default `explorer`.","type":"string","enum":["explorer","remote","family","retiree","young-professional"]},"states":{"description":"USPS state codes to rank within; empty or absent: anywhere in the 50 states and DC.","maxItems":51,"type":"array","items":{"type":"string","pattern":"^[A-Z]{2}$"}},"sizes":{"description":"Place sizes to keep: `small-town` (1,000–25,000 residents), `mid-size` (25,000–250,000), `big-city` (250,000 and up).","type":"array","items":{"type":"string","enum":["small-town","mid-size","big-city"]}},"housing":{"type":"object","properties":{"mode":{"description":"Default `rent`.","type":"string","enum":["rent","buy"]},"monthlyBudget":{"description":"Monthly rent, or monthly mortgage payment with property tax, the household is comfortable with (US dollars).","type":"number","minimum":0},"downPayment":{"description":"Share of the price paid up front when buying (0–1). Default 0.2.","type":"number","minimum":0,"maximum":1}}},"income":{"description":"Gross yearly household income (US dollars), for the share-of-income figures.","type":"number","minimum":0},"household":{"type":"object","properties":{"adults":{"type":"integer","minimum":1,"maximum":8},"infants":{"description":"Children under 2 (infant center care prices).","type":"integer","minimum":0,"maximum":6},"preschoolers":{"description":"Children aged 2 to 4 (preschool center care prices).","type":"integer","minimum":0,"maximum":6},"schoolAge":{"type":"integer","minimum":0,"maximum":10}}},"occupation":{"description":"SOC occupation code (`15-1252`), for local wages of the person's job.","type":"string","pattern":"^\\d{2}-\\d{4}$"},"priorities":{"description":"Importance of each scored category, 0 (leave out) to 5; 3 is the catalog default. Categories not listed take the persona's weight.","type":"object","propertyNames":{"type":"string","enum":["safety","economy","housing","health","healthcare","environment","education","infrastructure","community","leisure"]},"additionalProperties":{"type":"integer","minimum":0,"maximum":5}},"climate":{"description":"Climate preference: `warm`, `mild`, `four-seasons` or `cool` (ranges of January lows and July highs).","type":"string","enum":["warm","mild","four-seasons","cool"]},"commute":{"type":"object","properties":{"destination":{"type":"object","properties":{"label":{"type":"string","minLength":1,"maxLength":120},"lat":{"type":"number","minimum":-90,"maximum":90},"lng":{"type":"number","minimum":-180,"maximum":180}},"required":["label","lat","lng"]},"mode":{"description":"Default `car`.","type":"string","enum":["car","transit","bike"]},"maxMinutes":{"description":"Longest one-way commute in minutes (a straight-line estimate). Default 45.","type":"integer","minimum":5,"maximum":180}},"required":["destination"]},"mustHave":{"type":"object","properties":{"airportMiles":{"description":"Farthest distance to a commercial airport.","type":"number","minimum":1,"maximum":500},"hospitalMiles":{"description":"Farthest distance to an emergency room.","type":"number","minimum":1,"maximum":500},"railMiles":{"description":"Farthest distance to a rail station.","type":"number","minimum":1,"maximum":500},"saferThanMedian":{"description":"Only places safer than the median place of their level.","type":"boolean"},"avoidHighHazard":{"description":"Leave out places in the highest natural hazard risk band.","type":"boolean"}}},"perMetro":{"description":"Most results from one metro area. Default 2.","type":"integer","minimum":1,"maximum":20},"limit":{"description":"Results returned. Default 12.","type":"integer","minimum":3,"maximum":50}},"description":"What a person looking for a place to live asked for. Every field is optional and unknown fields are ignored."},"WhereToLiveStanding":{"type":"object","properties":{"key":{"type":"string","description":"Indicator key."},"label":{"type":"string"},"score":{"type":"integer","description":"Percentile score among places of the level (0–100, 100 = best)."},"borrowed":{"type":"boolean","description":"The value is the county's, not the place's own."}},"required":["key","label","score","borrowed"],"description":"An indicator that argues for or against a place."},"WhereToLivePlaceRef":{"type":"object","properties":{"geoid":{"type":"string"},"name":{"type":"string"},"href":{"description":"Site path of its page.","type":["string","null"]}},"required":["geoid","name","href"],"description":"A related place (a city's county, a county's or city's metro area)."},"WhereToLiveResult":{"type":"object","properties":{"geoid":{"type":"string"},"rank":{"type":"integer","description":"1 for the best match."},"match":{"type":"number","description":"0–100: how well the place fits everything the person said, penalties included."},"quality":{"type":"number","description":"0–100: weighted quality of life on the person's priorities alone."},"climate":{"description":"0–100 fit to the climate preference; null without one or without the normals.","type":["number","null"]},"housing":{"anyOf":[{"type":"object","properties":{"mode":{"type":"string","enum":["rent","buy"]},"monthly":{"type":"number","description":"US dollars a month."},"loan":{"type":"number"},"tax":{"type":"number"}},"required":["mode","monthly"]},{"type":"null"}],"description":"Monthly housing cost of the typical home: the asking rent, or the mortgage payment plus property tax (`loan`, `tax`). Null when the place lacks the figure."},"childCare":{"description":"Monthly center care for the household's infants and preschoolers (0 without them; null when unpriced).","type":["number","null"]},"budgetRatio":{"description":"Housing cost over the budget (1 = exactly the budget).","type":["number","null"]},"incomeShare":{"description":"Housing plus child care as a share of gross monthly income (0–1).","type":["number","null"]},"commute":{"anyOf":[{"type":"object","properties":{"miles":{"type":"number"},"minutes":{"type":"number"}},"required":["miles","minutes"]},{"type":"null"}],"description":"Straight-line estimate from the place's center to the destination."},"penalties":{"type":"object","properties":{"budget":{"type":"number"},"unknown":{"type":"number"}},"required":["budget","unknown"],"description":"Points taken off for housing over budget and for unknown must-have distances."},"categories":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":["number","null"]},"description":"Category scores (0–100) of the person's priorities."},"coverage":{"type":"number","description":"Share of the person's weight backed by data (0–1)."},"borrowedShare":{"type":"number","description":"Share of the covered weight that is the county's value (0–1)."},"confidence":{"type":"string","enum":["high","medium","low"]},"warnings":{"type":"array","items":{"type":"string","enum":["no-housing-cost","no-property-tax","no-climate","unknown-distance","no-location","no-child-care-price"]}},"name":{"type":"string"},"label":{"type":"string","description":"\"Austin, TX\", \"Travis County, TX\", \"Austin-Round Rock-Georgetown, TX\"."},"stateCode":{"type":["string","null"]},"stateName":{"type":["string","null"]},"population":{"type":["number","null"]},"lat":{"type":["number","null"]},"lng":{"type":["number","null"]},"href":{"description":"Site path of the place's page.","type":["string","null"]},"housingBasis":{"description":"Indicator key the housing cost was taken from: `market_rent` or `median_gross_rent` (renting), `typical_home_value` or `median_home_value` (buying).","type":["string","null"]},"county":{"anyOf":[{"$ref":"#/components/schemas/WhereToLivePlaceRef"},{"type":"null"}]},"metro":{"anyOf":[{"$ref":"#/components/schemas/WhereToLivePlaceRef"},{"type":"null"}]},"strengths":{"type":"array","items":{"$ref":"#/components/schemas/WhereToLiveStanding"},"description":"Up to three indicators that argue for the place, ranked by how much they move this person's score."},"tradeoffs":{"type":"array","items":{"$ref":"#/components/schemas/WhereToLiveStanding"},"description":"Up to three weak indicators in categories the person weighed at least normal."}},"required":["geoid","rank","match","quality","climate","housing","childCare","budgetRatio","incomeShare","commute","penalties","categories","coverage","borrowedShare","confidence","warnings","name","label","stateCode","stateName","population","lat","lng","href","housingBasis","county","metro","strengths","tradeoffs"],"description":"One ranked place with how it fits and why."},"WhereToLiveSource":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"publisher":{"type":"string"},"homepage":{"type":"string"},"attribution":{"type":"string","description":"Credit line to show with the figures."},"vintage":{"description":"Release the data is current to.","type":["string","null"]},"indicators":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"label":{"type":"string"},"period":{"type":["string","null"]}},"required":["key","label","period"]},"description":"Indicators of this source the ranking read, with their newest period."}},"required":["id","name","publisher","homepage","attribution","vintage","indicators"],"description":"A source the ranking read."},"WhereToLiveResponse":{"type":"object","properties":{"criteria":{"description":"The criteria as read, with defaults filled in.","$ref":"#/components/schemas/WhereToLiveCriteria"},"results":{"type":"array","items":{"$ref":"#/components/schemas/WhereToLiveResult"}},"considered":{"type":"integer","description":"Places of the level."},"eligible":{"type":"integer","description":"Places that passed every filter (before the per-metro cap and the limit)."},"excluded":{"type":"object","propertyNames":{"type":"string","enum":["state","size","commute","airport","hospital","rail","safety","hazard","data","metro-cap"]},"additionalProperties":{"type":"integer"},"required":["state","size","commute","airport","hospital","rail","safety","hazard","data","metro-cap"],"description":"How many places each filter removed, so a caller can say what to relax."},"notices":{"type":"array","items":{"type":"string","enum":["few-results","no-mortgage-rate","commute-unreachable"]}},"provenance":{"type":"object","properties":{"method":{"type":"string","description":"Version of the method, e.g. \"relocation@1\" (see /methodology#where-to-live)."},"datasetVersion":{"type":"string"},"level":{"type":"string","enum":["state","metro","county","city"]},"generatedAt":{"type":"string"},"mortgageRate":{"anyOf":[{"type":"object","properties":{"value":{"type":"number"},"period":{"type":["string","null"]},"source":{"type":"string","enum":["freddie-mac-pmms","user"]}},"required":["value","period","source"]},{"type":"null"}],"description":"The 30-year rate buying costs used."},"sources":{"type":"array","items":{"$ref":"#/components/schemas/WhereToLiveSource"}}},"required":["method","datasetVersion","level","generatedAt","mortgageRate","sources"]}},"required":["criteria","results","considered","eligible","excluded","notices","provenance"],"description":"Places ranked for a person's criteria, with the provenance of every figure."},"ScreeningSupplier":{"type":"object","properties":{"uei":{"description":"Unique Entity ID (UEI) of SAM.gov: 12 letters or digits.","type":"string","pattern":"^[A-Za-z0-9]{12}$"},"cage":{"description":"CAGE code: 5 letters or digits (`00000` is SAM.gov's placeholder and is refused).","type":"string","pattern":"^[A-Za-z0-9]{5}$"}},"description":"One supplier to check: a `uei`, a `cage` or both (at least one)."},"ScreeningCheckRequest":{"type":"object","properties":{"suppliers":{"minItems":1,"maxItems":100,"type":"array","items":{"$ref":"#/components/schemas/ScreeningSupplier"},"description":"1 to 100 suppliers. Each counts one row of the monthly screening allowance."}},"required":["suppliers"],"description":"The suppliers to check."},"ScreeningExclusion":{"type":"object","properties":{"id":{"type":"string","description":"Analisa id of the SAM.gov exclusion record."},"name":{"type":"string","description":"Name on the record."},"agency":{"description":"Excluding agency (SAM.gov code).","type":["string","null"]},"agencyName":{"type":["string","null"]},"exclusionType":{"type":"string","description":"As SAM.gov publishes it, e.g. `Ineligible (Proceedings Completed)`."},"typeLabel":{"type":"string","description":"Plain-language type."},"program":{"description":"`Reciprocal`, `Procurement` or `NonProcurement`.","type":["string","null"]},"activeDate":{"description":"YYYY-MM-DD.","type":["string","null"]},"terminationDate":{"description":"YYYY-MM-DD; null when indefinite.","type":["string","null"]},"endedAt":{"description":"Data date (YYYY-MM-DD) of the first SAM.gov snapshot that no longer listed the record: the exclusion ended between the previous snapshot and this date. Null while listed.","type":["string","null"]},"matchedBy":{"type":"string","enum":["uei","cage"],"description":"The record lists the same UEI, or the same CAGE code, as the supplier."},"barsAwards":{"type":"boolean","description":"Whether this exclusion bars new federal contract awards (procurement and reciprocal exclusions, and OFAC sanctions)."},"samUrl":{"description":"The record's page on SAM.gov, when it has one.","type":["string","null"]}},"required":["id","name","agency","agencyName","exclusionType","typeLabel","program","activeDate","terminationDate","endedAt","matchedBy","barsAwards","samUrl"],"description":"A SAM.gov exclusion record that lists the supplier's UEI or CAGE code (a reported match)."},"ScreeningResult":{"type":"object","properties":{"index":{"type":"integer","description":"Position of the supplier in the request (0-based)."},"uei":{"description":"The UEI as checked (upper case).","type":["string","null"]},"cage":{"description":"The CAGE code as checked (upper case).","type":["string","null"]},"status":{"type":"string","enum":["active","ended","none"],"description":"`active`: a record that lists the supplier's identifier is currently listed; `ended`: only records that SAM.gov no longer lists; `none`: no record lists the identifier."},"exclusions":{"type":"array","items":{"$ref":"#/components/schemas/ScreeningExclusion"},"description":"At most five records, those in effect first."},"totalExclusions":{"type":"integer","description":"Records that list the identifier, all of them."},"recipient":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"state":{"type":["string","null"]},"profileUrl":{"type":"string"}},"required":["id","name","state","profileUrl"]},{"type":"null"}],"description":"The federal contract recipient with this UEI, when one is in the data (null: no federal prime contract loaded for it, which says nothing about exclusions)."},"contracts":{"anyOf":[{"type":"object","properties":{"obligations":{"type":"array","items":{"type":"object","properties":{"fiscalYear":{"type":"integer"},"amount":{"type":"number","description":"US dollars."}},"required":["fiscalYear","amount"]},"description":"Obligations of the last three fiscal years loaded, oldest first."},"notCompetedShare":{"description":"Share (0 to 1) of those obligations not competed; null without obligations.","type":["number","null"]},"singleOfferShare":{"description":"Share (0 to 1) competed with a single offer.","type":["number","null"]},"excludedActions":{"type":"integer","description":"Contract actions (new awards, options, added work) dated while the recipient was excluded."},"excludedObligations":{"type":"number","description":"US dollars."}},"required":["obligations","notCompetedShare","singleOfferShare","excludedActions","excludedObligations"]},{"type":"null"}],"description":"Null without a recipient."},"lobbying":{"description":"The recipient has lobbying disclosures through an organization matched by AI (null without a recipient).","type":["boolean","null"]}},"required":["index","uei","cage","status","exclusions","totalExclusions","recipient","contracts","lobbying"],"description":"What screening found for one supplier."},"ScreeningCheckResponse":{"type":"object","properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/ScreeningResult"},"description":"One per supplier, in request order."},"charged":{"type":"integer","description":"Rows counted against the monthly allowance by this call."},"usage":{"type":"object","properties":{"limit":{"type":"integer"},"used":{"type":"integer"},"remaining":{"type":"integer"},"resetsAt":{"type":"string","description":"First instant of the next UTC month (ISO timestamp)."}},"required":["limit","used","remaining","resetsAt"],"description":"The monthly allowance after this call."},"sources":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"vintage":{"description":"Release date of the data read (YYYY-MM-DD).","type":["string","null"]}},"required":["id","name","vintage"]},"description":"What the results reflect, with vintages."},"notice":{"type":"string","description":"What a result means: always confirm in SAM.gov before a decision."}},"required":["results","charged","usage","sources","notice"],"description":"The results of a screening call."}},"headers":{"ETag":{"description":"Entity tag of the content version and parameters; send it back in `If-None-Match`.","schema":{"type":"string"}},"CacheControl":{"description":"`public, max-age=31536000, immutable` when `v` pins the current version; otherwise short freshness with revalidation.","schema":{"type":"string"}},"DataVersion":{"description":"The content version the response was built from (pin it with `v`).","schema":{"type":"string"}},"AllowOrigin":{"description":"`*`: callable from any web page.","schema":{"type":"string"}},"RetryAfter":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}},"responses":{"NotModified":{"description":"Unchanged since the `ETag` sent in `If-None-Match`.","headers":{"ETag":{"$ref":"#/components/headers/ETag"}}},"BadRequest":{"description":"Invalid parameter.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"NotFound":{"description":"Unknown place, record or level.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"PaymentRequired":{"description":"The plan's monthly allowance for this operation is used up (the body says how much is left and when it resets).","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"Forbidden":{"description":"The caller's plan does not include this operation.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"PayloadTooLarge":{"description":"The request body is too large.","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"ServiceUnavailable":{"description":"Server busy or database unavailable: retry after `Retry-After` seconds.","headers":{"Retry-After":{"$ref":"#/components/headers/RetryAfter"}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"Unauthorized":{"description":"The `Authorization` header is malformed, or the API key is unknown, revoked or expired. Drop the header to call the public API anonymously.","headers":{"WWW-Authenticate":{"description":"`Bearer realm=\"Analisa US\"`, with the reason.","schema":{"type":"string"}}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"TooManyRequests":{"description":"Rate limit of the proxy (about 20 requests per second per client, bursts of 60), or, with an API key, the account's daily allowance (`Retry-After` is the seconds until 00:00 UTC; `X-RateLimit-*` say how much was used).","headers":{"Retry-After":{"$ref":"#/components/headers/RetryAfter"}}},"InternalError":{"description":"Unexpected error (fixed body; details are logged, never sent).","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}}}}