{"openapi":"3.1.0","info":{"title":"Health Record Rights Index API","version":"1","summary":"Read-only JSON. Open, no sign-up, no key.","description":"Health record rights in countries and territories (scores out of 100, with sources), what each of the 50 states and DC adds to federal law (answers, no scores), and published real cases. Data version 1.0. Fields in v1 are never removed or renamed. Not legal advice.","license":{"name":"CC BY 4.0 (data and scores; quoted law, source titles and linked pages are not relicensed)","url":"https://creativecommons.org/licenses/by/4.0/"},"contact":{"url":"https://healthrecordrights.com/developers/"}},"servers":[{"url":"https://healthrecordrights.com/api/v1"}],"paths":{"/":{"get":{"summary":"Index","description":"Version, data date, data hash, license, citation and every route.","parameters":[],"responses":{"200":{"description":"The index of routes.","headers":{"ETag":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"type":"object","properties":{"data":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"routes":{"type":"object","additionalProperties":{"type":"string"}},"mcp":{"type":"string"},"docs":{"type":"string"},"rateLimit":{"type":"object","properties":{"perMinute":{"type":"integer"},"burst":{"type":"integer"},"scope":{"type":"string"}}},"versioning":{"type":"string"},"citation":{"type":"object","properties":{"text":{"type":"string"},"credit":{"type":"string"},"doi":{"type":"string"},"doiUrl":{"type":"string"},"paper":{"type":"string"},"data":{"type":"string"}}},"notLegalAdvice":{"type":"string"},"terms":{"type":"string"},"quotedText":{"type":"string"}}}}}]}}}},"400":{"description":"A query parameter could not be used. The body says why.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found, with a plain message and, for a name or alias, the code to use.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too many requests. Wait the number of seconds in Retry-After.","headers":{"Retry-After":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"operationId":"getIndex"}},"/countries":{"get":{"summary":"All countries and territories","description":"Overall score out of 100, band, rank or lead group, likely rank and confidence. Highest score first; the lead group together, A to Z.","parameters":[],"responses":{"200":{"description":"The list.","headers":{"ETag":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"type":"object","properties":{"data":{"type":"object","properties":{"count":{"type":"integer"},"confidenceCounts":{"type":"object","properties":{"high":{"type":"integer"},"medium":{"type":"integer"},"low":{"type":"integer"}}},"ties":{"type":"string"},"countries":{"type":"array","items":{"$ref":"#/components/schemas/CountrySummary"}}}}}}]}}}},"400":{"description":"A query parameter could not be used. The body says why.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found, with a plain message and, for a name or alias, the code to use.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too many requests. Wait the number of seconds in Retry-After.","headers":{"Retry-After":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"operationId":"listCountries"}},"/countries/{iso3}":{"get":{"summary":"One country or territory","description":"Every category with its score, summary, detail and sources; laws; recent news; real cases.","parameters":[{"name":"iso3","in":"path","required":true,"description":"ISO 3166-1 alpha-3 code, like FIN.","schema":{"type":"string"},"example":"FIN"}],"responses":{"200":{"description":"The country.","headers":{"ETag":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Country"}}}]}}}},"400":{"description":"A query parameter could not be used. The body says why.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found, with a plain message and, for a name or alias, the code to use.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too many requests. Wait the number of seconds in Retry-After.","headers":{"Retry-After":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"operationId":"getCountry"}},"/states":{"get":{"summary":"The 50 states and DC","description":"The list. No state score, total or rank.","parameters":[],"responses":{"200":{"description":"The list.","headers":{"ETag":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"type":"object","properties":{"data":{"type":"object","properties":{"stateCount":{"type":"integer","description":"The 50 states. DC is listed too and is not counted here."},"includesDC":{"type":"boolean"},"statesAsOf":{"type":"string"},"note":{"type":"string"},"states":{"type":"array","items":{"$ref":"#/components/schemas/StateSummary"}}}}}}]}}}},"400":{"description":"A query parameter could not be used. The body says why.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found, with a plain message and, for a name or alias, the code to use.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too many requests. Wait the number of seconds in Retry-After.","headers":{"Retry-After":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"operationId":"listStates"}},"/states/{usps}":{"get":{"summary":"One state, or DC","description":"The answer to each question, with the laws quoted, dated and linked, and laws signed but not yet in force.","parameters":[{"name":"usps","in":"path","required":true,"description":"Two-letter code, like CA, or DC.","schema":{"type":"string"},"example":"CA"}],"responses":{"200":{"description":"The state.","headers":{"ETag":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"type":"object","properties":{"data":{"$ref":"#/components/schemas/State"}}}]}}}},"400":{"description":"A query parameter could not be used. The body says why.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found, with a plain message and, for a name or alias, the code to use.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too many requests. Wait the number of seconds in Retry-After.","headers":{"Retry-After":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"operationId":"getState"}},"/states/compare":{"get":{"summary":"Compare two or three states","description":"Answers side by side, in the order given. Each row says differs, same or cannot_compare. No total, no rank and no winner.","parameters":[{"name":"s","in":"query","required":true,"description":"Two or three codes, comma separated, like CA,TX.","schema":{"type":"string"},"example":"CA,TX"}],"responses":{"200":{"description":"The comparison.","headers":{"ETag":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"type":"object","properties":{"data":{"type":"object","properties":{"states":{"type":"array","items":{"$ref":"#/components/schemas/StateSummary"}},"rule":{"type":"string"},"rows":{"type":"array","items":{"$ref":"#/components/schemas/CompareRow"}}}}}}]}}}},"400":{"description":"A query parameter could not be used. The body says why.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found, with a plain message and, for a name or alias, the code to use.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too many requests. Wait the number of seconds in Retry-After.","headers":{"Retry-After":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"operationId":"compareStates"}},"/cases":{"get":{"summary":"Real cases","description":"Published accounts of real problems with health records, worldwide. They never change a score. With no parameter, every case. Parameters combine.","parameters":[{"name":"country","in":"query","required":false,"description":"ISO 3166-1 alpha-3 code, like GBR.","schema":{"type":"string"}},{"name":"theme","in":"query","required":false,"description":"The kind of problem: access_refused, access_delay_or_cost, record_wrong, breach, sold_or_shared, lost_between_providers or other.","schema":{"type":"string"}},{"name":"since","in":"query","required":false,"description":"YYYY-MM-DD: only cases added to the index on or after this day (addedOn).","schema":{"type":"string"}},{"name":"lang","in":"query","required":false,"description":"Two-letter code of the source's language, like pt.","schema":{"type":"string"}},{"name":"region","in":"query","required":false,"description":"Africa, Americas, Asia, Europe, Middle East or Oceania.","schema":{"type":"string"}}],"responses":{"200":{"description":"The cases.","headers":{"ETag":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"type":"object","properties":{"data":{"type":"object","properties":{"count":{"type":"integer"},"iso3":{"type":["string","null"]},"filters":{"type":"object","properties":{"theme":{"type":"string"},"since":{"type":"string"},"lang":{"type":"string"},"region":{"type":"string"}}},"howToCite":{"type":"string"},"cases":{"type":"array","items":{"allOf":[{"type":"object","properties":{"iso3":{"type":"string"},"country":{"type":"string"}}},{"$ref":"#/components/schemas/Case"}]}}}}}}]}}}},"400":{"description":"A query parameter could not be used. The body says why.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found, with a plain message and, for a name or alias, the code to use.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too many requests. Wait the number of seconds in Retry-After.","headers":{"Retry-After":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"operationId":"listCases"}},"/cases/{caseId}":{"get":{"summary":"One real case","description":"One case by its id. A removed case answers 410 Gone with its id, the day it was taken off and the class of removal, and nothing else.","parameters":[{"name":"caseId","in":"path","required":true,"description":"A case id, like FIN-S001.","schema":{"type":"string"},"example":"FIN-S001"}],"responses":{"200":{"description":"The case.","headers":{"ETag":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"type":"object","properties":{"data":{"type":"object","properties":{"case":{"allOf":[{"type":"object","properties":{"iso3":{"type":"string"},"country":{"type":"string"},"citation":{"type":"string","description":"The citation for this case, filled in."}}},{"$ref":"#/components/schemas/Case"}]}}}}}]}}}},"400":{"description":"A query parameter could not be used. The body says why.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found, with a plain message and, for a name or alias, the code to use.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"410":{"description":"The case was taken off. The body says when and why, as a class; nothing else about it is kept.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too many requests. Wait the number of seconds in Retry-After.","headers":{"Retry-After":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"operationId":"getCase"}},"/method":{"get":{"summary":"How we score","description":"Categories and weights, bands, ties, the lead group, confidence and the state study rules.","parameters":[],"responses":{"200":{"description":"The method.","headers":{"ETag":{"schema":{"type":"string"}},"Cache-Control":{"schema":{"type":"string"}}},"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"type":"object","properties":{"data":{"type":"object"}}}]}}}},"400":{"description":"A query parameter could not be used. The body says why.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found, with a plain message and, for a name or alias, the code to use.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too many requests. Wait the number of seconds in Retry-After.","headers":{"Retry-After":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"operationId":"getMethod"}},"/openapi.json":{"get":{"summary":"This description","description":"OpenAPI 3.1.","parameters":[],"responses":{"200":{"description":"This file.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"A query parameter could not be used. The body says why.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found, with a plain message and, for a name or alias, the code to use.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Too many requests. Wait the number of seconds in Retry-After.","headers":{"Retry-After":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"operationId":"getOpenApi"}}},"components":{"schemas":{"License":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"credit":{"type":"string"},"covers":{"type":"string"},"excludes":{"type":"string"}},"required":["id","url","credit"]},"Envelope":{"type":"object","properties":{"api":{"const":"v1"},"version":{"type":"string","description":"The index (data) version, like 1.0. Not the API version, which is api."},"asOf":{"type":"string","format":"date","description":"The release date of the data, the same on every route. A country or state also carries its own date in data."},"dataSha256":{"type":"string","description":"The release hash: SHA-256 of the country files behind the scores; the paper records the same hash. State answers are covered by statesSha256."},"statesSha256":{"type":"string","description":"State routes only: SHA-256 of the state files."},"casesSha256":{"type":"string","description":"Country and case routes: SHA-256 of the real cases, which the weekly refresh can change while dataSha256 stays the same."},"casesAsOf":{"type":"string","format":"date","description":"Country and case routes: the day the real cases last changed (a case added or taken off), from the changes journal. The index asOf is the data date and stays separate."},"license":{"$ref":"#/components/schemas/License"},"citation":{"type":"string","description":"How to cite the index."},"pageUrl":{"type":"string","description":"The page on healthrecordrights.com that shows the same thing."},"data":{}},"required":["api","version","asOf","dataSha256","license","citation","pageUrl","data"]},"Error":{"allOf":[{"$ref":"#/components/schemas/Envelope"},{"type":"object","properties":{"data":{"type":"null"},"error":{"type":"object","properties":{"status":{"type":"integer"},"code":{"type":"string","enum":["not_found","not_rated","use_code","not_covered","bad_request","method_not_allowed","rate_limited","server_error","gone"]},"message":{"type":"string"},"suggestions":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string"},"name":{"type":"string"},"url":{"type":"string"}}}},"removed":{"type":"object","properties":{"id":{"type":"string"},"removedOn":{"type":"string"},"removalClass":{"type":"string","enum":["window","withdrawn"]}},"description":"A case taken down (410 only): its id, the day and why, as a class: past the two-year window (window) or withdrawn (withdrawn). Nothing else about the case is kept."}},"required":["status","code","message"]}}}]},"CountrySummary":{"type":"object","properties":{"iso3":{"type":"string"},"iso2":{"type":["string","null"]},"name":{"type":"string"},"region":{"type":"string"},"overall":{"type":"integer","minimum":0,"maximum":100,"description":"Overall score out of 100."},"band":{"type":"string","enum":["Poor","Weak","Mixed","Strong","Leading"]},"rank":{"type":["integer","null"],"description":"Rank among all countries and territories. Tied countries share a number (1, 2, 2, 4). Null for the lead group: allowing for scoring error, any of them could rank first."},"tieRange":{"type":"object","properties":{"low":{"type":"integer"},"high":{"type":"integer"}},"description":"The overall scores that tie with this one (4 or fewer points away). A tie never changes a band."},"rankTied":{"type":["boolean","null"],"description":"Whether the rank is shared. Null for the lead group, which has no rank."},"leadGroup":{"type":"boolean"},"likelyRank":{"type":["object","null"],"properties":{"low":{"type":"integer"},"high":{"type":"integer"}},"required":["low","high"],"description":"The 90% likely rank range: in 90% of simulations the country ranks between low and high."},"likelyRankText":{"type":["string","null"],"description":"The same range in words, like \"50 to 60\"."},"confidence":{"type":"string","enum":["high","medium","low"]},"keysModel":{"type":"string","enum":["Individual","Shared","Institutional","State"]},"apiUrl":{"type":"string","description":"This country in the API."},"pageUrl":{"type":"string"}}},"Source":{"type":"object","properties":{"title":{"type":"string","description":"The page title as published: third-party text, not relicensed; MCP answers wrap it in [quoted] ... [/quoted]."},"url":{"type":"string"},"date":{"type":"string"},"publisherClass":{"type":"string"}}},"Category":{"type":"object","properties":{"name":{"type":"string"},"weight":{"type":"integer"},"score":{"type":"integer"},"summary":{"type":"string"},"detail":{"type":"array","items":{"type":"string"},"description":"The longer review, one paragraph per item."},"sources":{"type":"array","items":{"$ref":"#/components/schemas/Source"}}}},"Case":{"type":"object","properties":{"date":{"type":"string"},"headline":{"type":"string"},"paraphrase":{"type":"string"},"source":{"type":"string"},"url":{"type":"string"},"archiveUrl":{"type":"string","description":"Optional: a Wayback Machine copy of the source, saved when the case was published."},"theme":{"type":"string"},"status":{"type":"string","enum":["finding","admitted","alleged","self_reported"]},"id":{"type":"string","description":"The case id, like FIN-S001: it never changes and is never given to another case."},"pageUrl":{"type":"string","description":"The case on /real-cases/, the address to cite."},"countryUrl":{"type":"string","description":"The country brief."},"why":{"type":"string","description":"Why it matters to patients, in our words."},"sourceType":{"type":"string","enum":["regulator_decision","court_judgment","parliament_testimony","journalism","advocacy_case","own_blog"],"description":"The kind of source."},"lang":{"type":"string","description":"Two-letter code of the source's language. Our summary is always English (inLanguage)."},"providerName":{"type":"string","description":"Optional: the hospital, company or other organization, named only when a regulator or court decided against it or it admitted the problem itself."},"lastVerified":{"type":"string","format":"date","description":"When the case was last checked against its source."},"addedOn":{"type":"string","format":"date","description":"The day the case was added to the index; cases already in it when it was published carry October 2, 2026."},"archivedOn":{"type":"string","format":"date","description":"Optional: the day the archived copy was made."},"inLanguage":{"type":"string","description":"The language of our headline and summary: en."}}},"Country":{"allOf":[{"$ref":"#/components/schemas/CountrySummary"},{"type":"object","properties":{"tiedWith":{"type":"array","items":{"type":"string"},"description":"ISO3 codes of the countries whose overall score is 4 or fewer points away: treat them as the same. A tie never changes a band."},"verdict":{"type":"string","description":"One line: the name, the overall score out of 100, the band and what the band means. Give this first."},"keySources":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string"},"url":{"type":"string"},"date":{"type":"string"},"category":{"type":"string"}}},"description":"Up to five official, legal or intergovernmental sources behind the scores, the ones to cite first. Titles are third-party text."},"dataAsOf":{"type":"string","description":"When this country was last researched."},"rankText":{"type":"string"},"headline":{"type":"string"},"confidenceDetail":{"type":"object","properties":{"label":{"type":"string"},"thinEvidenceOn":{"type":"array","items":{"type":"string"}},"note":{"type":["string","null"]}}},"keysModelPlain":{"type":"string"},"evidenceGrade":{"type":["object","null"],"properties":{"grade":{"type":"integer"},"tier":{"type":"string"},"tierCapped":{"type":"boolean"},"underReview":{"type":"array","items":{"type":"string"}}}},"categories":{"type":"object","description":"The eight categories, keyed access, control, privacy, journey, commercial, clinical, research, ai.","additionalProperties":{"$ref":"#/components/schemas/Category"}},"laws":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"jurisdiction":{"type":"string","description":"National, Supranational, State/Provincial or Regional."},"yearText":{"type":["string","null"],"description":"The year as recorded, which may be a range or a note such as \"undated\"."},"what":{"type":"string"},"url":{"type":"string"}}}},"news":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string"},"headline":{"type":"string"},"source":{"type":"string"},"url":{"type":"string"},"why":{"type":"string"}}},"description":"What changed: recent news about health records in this country."},"cases":{"type":"array","items":{"$ref":"#/components/schemas/Case"}},"casesUrl":{"type":"string"}}}]},"StateSummary":{"type":"object","properties":{"usps":{"type":"string"},"name":{"type":"string"},"label":{"type":"string"},"isState":{"type":"boolean","description":"False for Washington, DC, which is not a state."},"asOf":{"type":"string","description":"When this state's laws were read."},"apiUrl":{"type":"string"},"pageUrl":{"type":"string"}}},"Provision":{"type":"object","properties":{"title":{"type":["string","null"]},"citation":{"type":"string"},"officialUrl":{"type":"string"},"effectiveDate":{"type":["string","null"]},"status":{"type":"string"},"statusText":{"type":"string"},"quote":{"type":"string","description":"The words of the law, as quoted. Not relicensed."},"appliesTo":{"type":["string","null"]},"checkedAt":{"type":["string","null"]},"flags":{"type":"array","items":{"type":"string"}}}},"Question":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"question":{"type":"string"},"status":{"type":"string","enum":["in_force","enacted_not_yet_effective","enjoined_or_stayed","repealed_or_superseded","no_law_found","not_checked"]},"statusText":{"type":"string"},"level":{"type":["integer","null"]},"value":{"type":["string","null"]},"answer":{"type":"string"},"short":{"type":"string"},"facts":{"type":["object","null"],"description":"Recorded facts, as stored; fields vary by question and are not covered by the v1 promise. Where deadlineDays appears, deadlineScope (when present) says whom or what the deadline covers; give both together. Quotes inside feeRules are third-party text."},"provisions":{"type":"array","items":{"$ref":"#/components/schemas/Provision"}},"pendingLaws":{"type":"array","items":{"type":"object","properties":{"title":{"type":["string","null"]},"citation":{"type":"string"},"effectiveDate":{"type":["string","null"]}}}},"basis":{"type":["string","null"],"description":"Exchange question only: what sets the rule (statute, regulation, executive_order or hie_policy)."},"designatedHie":{"type":["string","null"],"description":"Exchange question only: the state-designated health information exchange, where recorded."},"stricterForSensitive":{"type":["boolean","null"],"description":"Exchange question only: some sensitive records need consent even where routine records do not."},"legalNote":{"type":"string","description":"Right-to-sue answers only: this records the law, not advice on whether to sue."},"searchLog":{"type":["object","null"],"properties":{"searchedAt":{"type":["string","null"]},"codeSearchUrl":{"type":["string","null"]},"terms":{"type":"array","items":{"type":"string"}},"agencyPagesChecked":{"type":"array","items":{"type":"string"}}}},"pageUrl":{"type":"string"}}},"State":{"allOf":[{"$ref":"#/components/schemas/StateSummary"},{"type":"object","properties":{"fips":{"type":"string"},"note":{"type":"string"},"questions":{"type":"array","items":{"$ref":"#/components/schemas/Question"}}}}]},"CompareRow":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"question":{"type":"string"},"comparison":{"type":"string","enum":["differs","same","cannot_compare"],"description":"cannot_compare: at least one answer was not checked."},"answers":{"type":"array","items":{"type":"object","properties":{"usps":{"type":"string"},"checked":{"type":"boolean"},"status":{"type":"string"},"short":{"type":"string"},"answer":{"type":["string","null"]},"pendingDates":{"type":"array","items":{"type":"string"}},"citations":{"type":"array","items":{"type":"string"}},"pageUrl":{"type":"string"}}}}}}}}}