{"openapi":"3.1.0","info":{"title":"LouisianAI Public API","description":"Read-only access to the Louisiana AI data center registry, intelligence briefs, and signals.","version":"1.0.0"},"servers":[{"url":"https://louisianai.com"}],"x-louisianai-infrastructure-contract":{"version":"2026.09.23.1","dataAsOf":"2026-08-05","recordLineage":"static-governed-tracker"},"x-louisianai-websub":{"hubUrl":"https://pubsubhubbub.appspot.com/","feeds":["https://louisianai.com/feed.xml","https://louisianai.com/feed.atom"],"publishCommand":"npm run seo:websub -- --send","dryRunCommand":"npm run seo:websub","guardrails":["Send publish notifications only after the production deploy is live.","Do not infer subscriber, reader, traffic, or citation counts from WebSub hub support."]},"paths":{"/api/v1/real-estate-impact":{"get":{"summary":"Get the source-governed global AI/data-center real-estate impact field guide, including explicit Louisiana-evidence boundaries and property-type lenses.","responses":{"200":{"description":"OK"}}}},"/api/v1/ecosystem":{"get":{"summary":"Get the verified Louisiana AI ecosystem registry for programs, policy, research, companies, events, funding, procurement, and public use cases, with infrastructure joined by canonical reference.","responses":{"200":{"description":"OK"}}}},"/api/datasets/infrastructure/json":{"get":{"summary":"Get the full Louisiana AI infrastructure registry (JSON).","responses":{"200":{"description":"Versioned governed tracker records.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectDossierApiRecord"}}}}}}}},"/api/datasets/infrastructure/csv":{"get":{"summary":"Get the full Louisiana AI infrastructure registry (CSV).","responses":{"200":{"description":"Versioned governed tracker records in CSV format.","content":{"text/csv":{"schema":{"type":"string"}}}}}}},"/api/datasets/infrastructure/geojson":{"get":{"summary":"Get the Louisiana AI infrastructure registry as a GeoJSON FeatureCollection; governed records without a published coordinate pair are listed under unlocatedRecords, never guessed.","responses":{"200":{"description":"GeoJSON FeatureCollection of located governed records.","content":{"application/geo+json":{"schema":{"$ref":"#/components/schemas/InfrastructureGeoJsonCollection"}}}}}}},"/api/datasets/infrastructure/diff":{"get":{"summary":"Get the field-level diff between two dated infrastructure registry snapshots (added/removed/changed records with before/after per field).","parameters":[{"name":"from","in":"query","required":true,"schema":{"type":"string"},"description":"Snapshot capture date (YYYY-MM-DD) or 'current'."},{"name":"to","in":"query","schema":{"type":"string"},"description":"Snapshot capture date (YYYY-MM-DD) or 'current'; defaults to the latest checked-in snapshot."}],"responses":{"200":{"description":"Field-level snapshot diff.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InfrastructureSnapshotDiff"}}}},"400":{"description":"Missing or malformed snapshot reference"},"404":{"description":"No snapshot captured on the requested date"}}}},"/api/datasets/versions":{"get":{"summary":"Get the version manifest for every public dataset: contract version, data-as-of date, live record count, distributions, and checked-in snapshot history.","responses":{"200":{"description":"Dataset version manifest.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatasetVersionManifest"}}}}}}},"/api/data-status":{"get":{"summary":"Get the per-dataset data status and freshness report: record counts, min/max lastVerified, and review-due/unverified counts in the shared freshness vocabulary.","parameters":[{"name":"asOf","in":"query","schema":{"type":"string","format":"date"},"description":"Report date (YYYY-MM-DD); defaults to the request date."}],"responses":{"200":{"description":"Per-dataset freshness accounting.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataStatusReport"}}}},"400":{"description":"Malformed asOf parameter"}}}},"/authority.json":{"get":{"summary":"Get the source-routing authority manifest with snapshot date, governed core/watch records, source dates, identity paths, and reuse guardrails.","responses":{"200":{"description":"OK"}}}},"/api/datasets/lpsc-dockets/json":{"get":{"summary":"Get the Louisiana data center LPSC docket tracker (JSON).","responses":{"200":{"description":"OK"}}}},"/api/datasets/lpsc-dockets/csv":{"get":{"summary":"Get the Louisiana data center LPSC docket tracker (CSV).","responses":{"200":{"description":"OK"}}}},"/api/v1/projects":{"get":{"summary":"Get all tracked Louisiana AI infrastructure projects.","parameters":[{"name":"parish","in":"query","schema":{"type":"string"}},{"name":"operator","in":"query","schema":{"type":"string"}},{"name":"status","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"Versioned governed infrastructure collection.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicInfrastructureCollection"}}}}}}},"/api/v1/projects/{id}":{"get":{"summary":"Get one tracked project profile by project slug.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"One governed infrastructure record.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectDossierResponse"}}}},"404":{"description":"Project not found"}}}},"/api/v1/parishes/{slug}":{"get":{"summary":"Get one parish dossier and its tracked project list.","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"},"404":{"description":"Parish not found"}}}},"/api/v1/operators/{slug}":{"get":{"summary":"Get one operator dossier and its tracked Louisiana sites.","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"},"404":{"description":"Operator not found"}}}},"/api/v1/briefs":{"get":{"summary":"Get the paginated LouisianAI brief feed.","parameters":[{"name":"limit","in":"query","schema":{"type":"integer","default":20,"maximum":50}},{"name":"page","in":"query","schema":{"type":"integer","default":1}}],"responses":{"200":{"description":"OK"}}}},"/api/v1/sources/{id}":{"get":{"summary":"Get one indexed source record.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"},"404":{"description":"Source not found"}}}},"/api/v1/permits":{"get":{"summary":"Get the permit and regulatory event register; every row is one dated public record or an explicit not-in-public-record monitoring marker.","parameters":[{"name":"authority","in":"query","schema":{"type":"string"}},{"name":"status","in":"query","schema":{"type":"string"}},{"name":"parish","in":"query","schema":{"type":"string"}},{"name":"project","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/api/v1/water-environmental":{"get":{"summary":"Get the per-project water and environmental posture; undisclosed figures are held as explicit not-in-public-record states, never inferred.","responses":{"200":{"description":"OK"}}}},"/api/v1/evidence":{"get":{"summary":"Get the source-linked evidence registry with confidence grades and disclosure states.","responses":{"200":{"description":"OK"}}}},"/api/v1/timeline":{"get":{"summary":"Get the source-governed tracker chronology: dated events derived only from evidence already held in the tracker.","responses":{"200":{"description":"OK"}}}},"/api/v1/coverage":{"get":{"summary":"Get the coverage matrix showing which diligence surfaces are populated, watch-level, or not in public record per project.","responses":{"200":{"description":"OK"}}}},"/api/signals":{"get":{"summary":"Get the latest Louisiana AI intelligence signals (paginated).","parameters":[{"name":"limit","in":"query","schema":{"type":"integer","default":25,"maximum":100}},{"name":"page","in":"query","schema":{"type":"integer","default":1}}],"responses":{"200":{"description":"OK"}}}},"/feed.json":{"get":{"summary":"JSON Feed of the latest briefs.","responses":{"200":{"description":"OK"}}}},"/feed.xml":{"get":{"summary":"RSS feed of the latest briefs with WebSub hub discovery.","externalDocs":{"description":"WebSub hub","url":"https://pubsubhubbub.appspot.com/"},"responses":{"200":{"description":"OK"}}}},"/feed.atom":{"get":{"summary":"Atom feed of the latest briefs with WebSub hub discovery.","externalDocs":{"description":"WebSub hub","url":"https://pubsubhubbub.appspot.com/"},"responses":{"200":{"description":"OK"}}}},"/news-sitemap.xml":{"get":{"summary":"Google News-style sitemap for source-linked briefs published within the last 48 hours.","responses":{"200":{"description":"OK"}}}},"/sitemap-index.xml":{"get":{"summary":"Crawler sitemap index that points to the main public sitemap and recent-brief news sitemap.","responses":{"200":{"description":"OK"}}}},"/image-sitemap.xml":{"get":{"summary":"Crawler image sitemap for deterministic share cards, OpenGraph previews, and approved brand images.","responses":{"200":{"description":"OK"}}}},"/api/webhooks":{"get":{"summary":"Machine-readable contract for dataset change-notification webhook subscriptions: supported events, subscribe/unsubscribe shapes, and the HMAC signature scheme.","responses":{"200":{"description":"OK"}}},"post":{"summary":"Register a target URL for governed dataset-change events. New subscriptions remain pending or disabled until a receiver-ownership confirmation flow is completed; signed delivery is not active. Existing hash-only subscriptions must re-register before delivery can use their signing secrets. Target URLs must pass the public safe-URL policy (https, public DNS only).","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["target_url","events"],"properties":{"target_url":{"type":"string","format":"uri","maxLength":2048},"events":{"type":"array","minItems":1,"items":{"type":"string","enum":["infrastructure.record.changed","infrastructure.snapshot.published","lpsc-dockets.record.changed"]}}}}}}},"responses":{"201":{"description":"Inactive registration stored; the secret is shown exactly once. Delivery is not active.","content":{"application/json":{"schema":{"type":"object","required":["ok","id","targetUrl","events","secret","secretShownOnce","deliveryActive","deliveryNotice"],"properties":{"ok":{"type":"boolean","const":true},"id":{"type":"string","format":"uuid"},"targetUrl":{"type":"string","format":"uri"},"events":{"type":"array","items":{"type":"string"}},"status":{"type":"string","enum":["pending","active","disabled"]},"createdAt":{"type":"string","format":"date-time"},"secret":{"type":"string"},"secretShownOnce":{"type":"boolean","const":true},"deliveryActive":{"type":"boolean","const":false},"deliveryNotice":{"type":"string"},"signatureHeader":{"type":"string","const":"x-louisianai-signature"}}}}}},"400":{"description":"Invalid body or refused target URL"},"503":{"description":"Persistence unavailable"}}},"delete":{"summary":"Unsubscribe by subscription id and signing secret; the secret is compared against the stored hash in constant time.","parameters":[{"name":"id","in":"query","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"secret","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Subscription removed"},"400":{"description":"Missing or malformed parameters"},"403":{"description":"Secret mismatch"},"404":{"description":"Subscription not found"},"503":{"description":"Persistence unavailable"}}}},"/api/webmention":{"get":{"summary":"Machine-readable Webmention endpoint contract for external backlink and citation notifications.","responses":{"200":{"description":"Endpoint policy, accepted content types, canonical target rules, and moderation status.","content":{"application/json":{"schema":{"type":"object","required":["endpoint","methods","acceptedContentTypes","requiredFields","targetPolicy","sourcePolicy","moderation"],"properties":{"endpoint":{"type":"string","format":"uri","examples":["https://louisianai.com/api/webmention"]},"methods":{"type":"array","items":{"type":"string","enum":["GET","POST","OPTIONS"]}},"acceptedContentTypes":{"type":"array","items":{"type":"string","enum":["application/x-www-form-urlencoded","application/json","multipart/form-data"]}},"requiredFields":{"type":"array","items":{"type":"string","enum":["source","target"]}},"targetPolicy":{"type":"object","properties":{"canonicalOrigin":{"type":"string","format":"uri","examples":["https://louisianai.com"]},"targetMustBeHttps":{"type":"boolean","const":true},"canonicalizesQueryAndFragment":{"type":"boolean","const":true},"blockedTargetPrefixes":{"type":"array","items":{"type":"string"},"examples":[["/api","/admin","/auth"]]},"rejectionCode":{"type":"string","examples":["target_must_be_louisianai_canonical_url"]}}},"sourcePolicy":{"type":"object","properties":{"sourceMustBeExternal":{"type":"boolean","const":true},"sourceMustBeHttpOrHttps":{"type":"boolean","const":true}}},"moderation":{"type":"object","properties":{"initialStatus":{"type":"string","examples":["pending_review"]},"storedMentionsAreNotPublic":{"type":"boolean","const":true}}}}}}}}}},"options":{"summary":"CORS and method preflight for the Webmention endpoint.","responses":{"204":{"description":"Preflight accepted.","headers":{"Allow":{"schema":{"type":"string","examples":["GET, POST, OPTIONS"]}},"Access-Control-Allow-Methods":{"schema":{"type":"string","examples":["GET, POST, OPTIONS"]}},"Access-Control-Allow-Headers":{"schema":{"type":"string","examples":["Content-Type"]}}}}}},"post":{"summary":"Webmention receiver for external backlink and citation notifications; accepted mentions are staged for review.","requestBody":{"required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","required":["source","target"],"properties":{"source":{"type":"string","format":"uri"},"target":{"type":"string","format":"uri"}}}},"application/json":{"schema":{"type":"object","required":["source","target"],"properties":{"source":{"type":"string","format":"uri"},"target":{"type":"string","format":"uri"}}}}}},"responses":{"202":{"description":"Accepted for review"},"400":{"description":"Invalid source or target"},"503":{"description":"Persistence unavailable"}}}},"/.well-known/security.txt":{"get":{"summary":"Security contact and responsible-disclosure route.","responses":{"200":{"description":"OK"}}}},"/humans.txt":{"get":{"summary":"Maintainer, citation, standards, and source-provenance context.","responses":{"200":{"description":"OK"}}}},"/manifest.webmanifest":{"get":{"summary":"Web app manifest with install shortcuts, screenshots, and Web Share Target metadata.","responses":{"200":{"description":"OK"}}}},"/opensearch.xml":{"get":{"summary":"OpenSearch description document for browser and crawler discovery of LouisianAI site search.","responses":{"200":{"description":"OK"}}}},"/graph.jsonld":{"get":{"summary":"JSON-LD knowledge graph for site identity, project entities, briefs, datasets, feeds, and distribution files.","responses":{"200":{"description":"OK"}}}},"/dcat.jsonld":{"get":{"summary":"W3C DCAT-style data catalog for public LouisianAI datasets, feed distributions, license, publisher, and reuse guardrails.","responses":{"200":{"description":"OK"}}}},"/CITATION.cff":{"get":{"summary":"Citation File Format metadata for researchers, repositories, libraries, and dataset reuse.","responses":{"200":{"description":"OK"}}}},"/codemeta.json":{"get":{"summary":"CodeMeta dataset and software metadata for research, repository, and data-catalog crawlers.","responses":{"200":{"description":"OK"}}}},"/ads.txt":{"get":{"summary":"Claim-neutral ads.txt seller-discovery file; do not infer traffic, readership, ad inventory, monetization, or ad performance.","responses":{"200":{"description":"OK"}}}},"/app-ads.txt":{"get":{"summary":"Claim-neutral app-ads.txt seller-discovery file; do not infer app installs, readership, inventory, or monetization.","responses":{"200":{"description":"OK"}}}},"/claims.json":{"get":{"summary":"Machine-readable source-backed claim ledger for AI answers, snippets, embeds, and creative reuse guardrails.","responses":{"200":{"description":"OK"}}}},"/creative-production":{"get":{"summary":"Human-facing Creative Production hub for source-grounded positioning, moodboard, scene, offer, ad, shot, logo, and polish paths.","responses":{"200":{"description":"OK"}}}},"/share":{"get":{"summary":"Human-facing source-grounded share kit with citation links, embed code, AI-reader files, feeds, social copy, and Web Share Target intake.","parameters":[{"name":"title","in":"query","schema":{"type":"string","maxLength":180}},{"name":"text","in":"query","schema":{"type":"string","maxLength":500}},{"name":"url","in":"query","schema":{"type":"string","format":"uri","maxLength":300}}],"responses":{"200":{"description":"OK"}}}},"/share/copy.txt":{"get":{"summary":"Aggregate plain-text package of approved source-grounded share copy, canonical source pages, share pages, SVG cards, and proof rules.","responses":{"200":{"description":"OK"}}}},"/share/{id}":{"get":{"summary":"Source-grounded share-intent landing page for one approved action or campaign post.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"Approved share intent id, such as linkedin-source-of-record."}],"responses":{"200":{"description":"OK"},"404":{"description":"Unknown share intent"}}}},"/share/{id}/copy.txt":{"get":{"summary":"Plain-text approved share copy, source page, share page, SVG card, and proof rule for one share intent.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"Approved share intent id, such as linkedin-source-of-record."}],"responses":{"200":{"description":"OK"},"404":{"description":"Unknown share intent"}}}},"/share/{id}/targets.json":{"get":{"summary":"Machine-readable social target manifest for one approved share intent, including platform URLs and reuse guardrails.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"Approved share intent id, such as linkedin-source-of-record."}],"responses":{"200":{"description":"OK"},"404":{"description":"Unknown share intent"}}}},"/s/{id}":{"get":{"summary":"Noindex first-party short share redirect for one approved LouisianAI share intent, preserving UTM source, medium, and campaign parameters.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"Approved share intent id, such as linkedin-source-of-record."}],"responses":{"307":{"description":"Temporary redirect to the canonical source page with UTM parameters."},"404":{"description":"Unknown share intent"}}}},"/share/cards/{id}":{"get":{"summary":"Deterministic SVG share card for one approved share action, suitable for previews, social cards, newsletters, and partner pages.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"Approved share card id, such as source-of-record."}],"responses":{"200":{"description":"SVG image"},"404":{"description":"Unknown share card"}}}},"/share/cards/{id}/opengraph-image":{"get":{"summary":"PNG social-card export for one approved share card, suitable for link previews, platform schedulers, feeds, newsletters, and partner embeds.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"},"description":"Approved share card id, polished card id, or Ads Explorer reference id, such as source-of-record-polish."}],"responses":{"200":{"description":"PNG image"},"404":{"description":"Unknown share card"}}}},"/answers.json":{"get":{"summary":"Source-cited answer bank for AI answer engines, search snippets, citations, embeds, newsletter reuse, and social answer cards.","responses":{"200":{"description":"OK"}}}},"/oembed":{"get":{"summary":"Return oEmbed JSON for supported first-party LouisianAI tracker, share kit, share-intent, and direct Creative Production share-card URLs.","parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string","format":"uri"}},{"name":"format","in":"query","schema":{"type":"string","enum":["json"]}},{"name":"maxwidth","in":"query","schema":{"type":"integer","minimum":320,"maximum":720}},{"name":"maxheight","in":"query","schema":{"type":"integer","minimum":240,"maximum":720}}],"responses":{"200":{"description":"OK"},"400":{"description":"Missing required url parameter"},"404":{"description":"Unsupported URL"}}}}},"components":{"schemas":{"PublicInfrastructureApiRecord":{"type":"object","required":["record_id","slug","canonical_slug","name","operator","parish","parish_slugs","status","record_kind","capex_disclosure","included_in_statewide_capex_floor","display_state","canonical_path","sources"],"properties":{"record_id":{"type":"string"},"slug":{"type":"string"},"legacy_slug":{"type":["string","null"]},"canonical_slug":{"type":"string"},"name":{"type":"string"},"operator":{"type":"string"},"operator_slug":{"type":"string"},"parish":{"type":"string"},"parish_slug":{"type":"string"},"parish_slugs":{"type":"array","items":{"type":"string"}},"utility":{"type":"string"},"status":{"type":"string"},"phase":{"type":"string"},"record_kind":{"type":"string","enum":["campus","program","watch"]},"capex_label":{"type":"string"},"capex_millions":{"type":"number"},"capex_disclosure":{"type":"string","enum":["reported","lower-bound","upper-bound","not-disclosed"]},"included_in_statewide_capex_floor":{"type":"boolean"},"mw_label":{"type":"string"},"mw":{"type":["number","null"]},"power_basis":{"type":["string","null"],"enum":["compute-capacity","utility-capacity","utility-design",null]},"sqft_label":{"type":"string"},"confidence":{"type":"string"},"acreage":{"type":"string"},"first_tracked":{"type":"string"},"source_published_at":{"type":["string","null"]},"last_verified":{"type":["string","null"]},"next_review_by":{"type":["string","null"]},"display_state":{"type":"string","enum":["current","review-due","archived","unverified"]},"profile_path":{"type":"string"},"canonical_path":{"type":"string"},"has_dedicated_profile":{"type":"boolean"},"sources":{"type":"array","items":{"type":"object","required":["publisher","title","url"],"properties":{"publisher":{"type":"string"},"title":{"type":"string"},"url":{"type":"string","format":"uri"},"published":{"type":"string"},"archived_url":{"type":["string","null"],"format":"uri"}}}}}},"PublicInfrastructureDatasetRecord":{"type":"object","required":["contractVersion","dataAsOf","recordId","slug","canonicalSlug","canonicalPath","recordKind","name","projectName","operator","parish","parishSlugs","status","capexDisclosure","includedInStatewideCapexFloor","displayState","fieldsToTrack","sourcesCount","confidenceLevel","sourceCompleteness","sources"],"properties":{"contractVersion":{"type":"string"},"dataAsOf":{"type":"string"},"recordId":{"type":"string"},"slug":{"type":"string"},"legacySlug":{"type":["string","null"]},"canonicalSlug":{"type":"string"},"canonicalPath":{"type":"string"},"hasDedicatedProfile":{"type":"boolean"},"recordKind":{"type":"string","enum":["campus","program","watch"]},"name":{"type":"string"},"projectName":{"type":"string"},"operator":{"type":"string"},"operatorSlug":{"type":"string"},"parish":{"type":"string"},"parishSlug":{"type":"string"},"parishSlugs":{"type":"array","items":{"type":"string"}},"latitude":{"type":["number","null"]},"longitude":{"type":["number","null"]},"parentOrganization":{"type":["string","null"]},"utility":{"type":"string"},"status":{"type":"string"},"category":{"type":["string","null"]},"phase":{"type":"string"},"publicSummary":{"type":["string","null"]},"intelligenceAngle":{"type":["string","null"]},"nextVerificationStep":{"type":["string","null"]},"fieldsToTrack":{"type":"array","items":{"type":"string"}},"capexLabel":{"type":"string"},"capexMillions":{"type":"number"},"capexDisclosure":{"type":"string","enum":["reported","lower-bound","upper-bound","not-disclosed"]},"includedInStatewideCapexFloor":{"type":"boolean"},"mwLabel":{"type":"string"},"mw":{"type":["number","null"]},"powerBasis":{"type":["string","null"],"enum":["compute-capacity","utility-capacity","utility-design",null]},"sqftLabel":{"type":"string"},"confidence":{"type":"string"},"acreage":{"type":"string"},"firstTracked":{"type":"string"},"sourcePublishedAt":{"type":["string","null"]},"lastVerified":{"type":["string","null"]},"nextReviewBy":{"type":["string","null"]},"displayState":{"type":"string","enum":["current","review-due","archived","unverified"]},"sourcesCount":{"type":"integer","minimum":0},"confidenceLevel":{"type":"string"},"sourceCompleteness":{"type":"object","required":["hasSources","sourcesCount","hasArchivedSources"],"properties":{"hasSources":{"type":"boolean"},"sourcesCount":{"type":"integer","minimum":0},"hasArchivedSources":{"type":"boolean"}}},"sources":{"type":"array","items":{"type":"object","required":["publisher","title","url"],"properties":{"publisher":{"type":"string"},"title":{"type":"string"},"url":{"type":"string","format":"uri"},"published":{"type":"string"},"archived_url":{"type":["string","null"],"format":"uri"}}}}}},"InfrastructureGeoJsonCollection":{"type":"object","required":["type","contractVersion","dataAsOf","recordLineage","features","unlocatedRecords"],"properties":{"type":{"type":"string","const":"FeatureCollection"},"contractVersion":{"type":"string","const":"2026.09.23.1"},"dataAsOf":{"type":"string","const":"2026-08-05"},"recordLineage":{"type":"string","const":"static-governed-tracker"},"features":{"type":"array","items":{"type":"object","required":["type","geometry","properties"],"properties":{"type":{"type":"string","const":"Feature"},"geometry":{"type":"object","required":["type","coordinates"],"properties":{"type":{"type":"string","const":"Point"},"coordinates":{"type":"array","prefixItems":[{"type":"number"},{"type":"number"}],"minItems":2,"maxItems":2,"description":"[longitude, latitude]"}}},"properties":{"type":"object","required":["slug","name","operator","parish","status","confidence","capexMillions","capexDisclosure","mw"],"properties":{"slug":{"type":"string"},"name":{"type":"string"},"operator":{"type":"string"},"parish":{"type":"string"},"status":{"type":"string"},"confidence":{"type":"string"},"recordKind":{"type":"string","enum":["campus","program","watch"]},"canonicalPath":{"type":"string"},"capexLabel":{"type":"string"},"capexMillions":{"type":"number"},"capexDisclosure":{"type":"string","enum":["reported","lower-bound","upper-bound","not-disclosed"]},"includedInStatewideCapexFloor":{"type":"boolean"},"mwLabel":{"type":"string"},"mw":{"type":["number","null"]},"lastVerified":{"type":["string","null"],"format":"date"},"displayState":{"type":"string","enum":["current","review-due","archived","unverified"]}}}}}},"unlocatedRecords":{"type":"array","description":"Governed records with no published coordinate pair; never guessed from nearby infrastructure.","items":{"type":"object","required":["slug","name","reason"],"properties":{"slug":{"type":"string"},"name":{"type":"string"},"reason":{"type":"string","const":"coordinates-not-in-public-record"}}}}}},"DatasetVersionManifest":{"type":"object","required":["manifestVersion","datasets"],"properties":{"manifestVersion":{"type":"string"},"datasets":{"type":"array","items":{"type":"object","required":["dataset","title","version","dataAsOf","recordCount","distributions","snapshots"],"properties":{"dataset":{"type":"string"},"title":{"type":"string"},"version":{"type":"string"},"dataAsOf":{"type":"string","format":"date"},"recordCount":{"type":"integer","minimum":0},"distributions":{"type":"array","items":{"type":"object","required":["format","path"],"properties":{"format":{"type":"string"},"path":{"type":"string"}}}},"snapshots":{"type":"array","items":{"type":"object","required":["snapshotDate","recordCount","diffFromUrl"],"properties":{"snapshotDate":{"type":"string","format":"date"},"recordCount":{"type":"integer","minimum":0},"diffFromUrl":{"type":"string"}}}}}}}}},"InfrastructureSnapshotDiff":{"type":"object","required":["dataset","from","to","added","removed","changed","summary"],"properties":{"dataset":{"type":"string","const":"infrastructure"},"from":{"type":"object","required":["snapshotDate","dataAsOf","recordCount"],"properties":{"snapshotDate":{"type":"string"},"dataAsOf":{"type":"string","format":"date"},"recordCount":{"type":"integer","minimum":0}}},"to":{"type":"object","required":["snapshotDate","dataAsOf","recordCount"],"properties":{"snapshotDate":{"type":"string"},"dataAsOf":{"type":"string","format":"date"},"recordCount":{"type":"integer","minimum":0}}},"added":{"type":"array","items":{"type":"object","required":["recordId","fields"],"properties":{"recordId":{"type":"string"},"fields":{"type":"object","additionalProperties":{"type":["string","number","boolean","null"]}}}}},"removed":{"type":"array","items":{"type":"object","required":["recordId","fields"],"properties":{"recordId":{"type":"string"},"fields":{"type":"object","additionalProperties":{"type":["string","number","boolean","null"]}}}}},"changed":{"type":"array","items":{"type":"object","required":["recordId","fields"],"properties":{"recordId":{"type":"string"},"fields":{"type":"object","additionalProperties":{"type":"object","required":["before","after"],"properties":{"before":{"type":["string","number","boolean","null"]},"after":{"type":["string","number","boolean","null"]}}}}}}},"summary":{"type":"object","required":["addedCount","removedCount","changedCount","unchangedCount"],"properties":{"addedCount":{"type":"integer","minimum":0},"removedCount":{"type":"integer","minimum":0},"changedCount":{"type":"integer","minimum":0},"unchangedCount":{"type":"integer","minimum":0}}}}},"DataStatusReport":{"type":"object","required":["asOf","freshnessVocabulary","datasets"],"properties":{"asOf":{"type":"string","format":"date"},"freshnessVocabulary":{"type":"array","items":{"type":"string","enum":["current","review-due","archived","unverified"]}},"datasets":{"type":"array","items":{"type":"object","required":["dataset","title","asOf","recordCount","lastVerified","displayStates","reviewDueCount","unverifiedCount","missingVerificationCount"],"properties":{"dataset":{"type":"string"},"title":{"type":"string"},"asOf":{"type":"string","format":"date"},"recordCount":{"type":"integer","minimum":0},"lastVerified":{"type":"object","required":["min","max"],"properties":{"min":{"type":["string","null"],"format":"date"},"max":{"type":["string","null"],"format":"date"}}},"displayStates":{"type":"object","required":["current","review-due","archived","unverified"],"properties":{"current":{"type":"integer","minimum":0},"review-due":{"type":"integer","minimum":0},"archived":{"type":"integer","minimum":0},"unverified":{"type":"integer","minimum":0}}},"reviewDueCount":{"type":"integer","minimum":0},"unverifiedCount":{"type":"integer","minimum":0},"missingVerificationCount":{"type":"integer","minimum":0}}}}}},"ProjectDossierField":{"type":"object","required":["value","label","state"],"properties":{"value":{"type":["string","number","null"]},"label":{"type":"string"},"state":{"type":"string","enum":["available","not-in-public-record"]}}},"ProjectDossierSource":{"type":"object","required":["id","title","url","authority","publishedAt","confidence","kind"],"properties":{"id":{"type":"string"},"title":{"type":"string"},"url":{"type":"string","format":"uri"},"authority":{"type":"string"},"publishedAt":{"type":["string","null"]},"confidence":{"type":["string","null"]},"kind":{"type":"string","enum":["primary-record","source-record","methodology","project-source"]}}},"ProjectDossierClaim":{"type":"object","required":["key","label","value","state","note","sourceIds"],"properties":{"key":{"type":"string"},"label":{"type":"string"},"value":{"type":"string"},"state":{"type":"string","enum":["confirmed","reported","watch","not-in-public-record"]},"note":{"type":"string"},"sourceIds":{"type":"array","items":{"type":"string"}}}},"ProjectDossier":{"type":"object","required":["dossierVersion","identity","relationships","classification","economics","power","physical","context","freshness","evidence","claims","sources","milestones","regulatoryRecords","catalysts"],"properties":{"dossierVersion":{"type":"string","const":"2026.08.20.1"},"identity":{"type":"object","required":["recordId","slug","legacySlug","canonicalSlug","canonicalPath","hasDedicatedProfile"],"properties":{"recordId":{"type":"string"},"slug":{"type":"string"},"legacySlug":{"type":["string","null"]},"canonicalSlug":{"type":"string"},"canonicalPath":{"type":"string"},"hasDedicatedProfile":{"type":"boolean"}}},"relationships":{"type":"object","required":["operator","parishes","utility"],"properties":{"operator":{"type":"object","required":["name","slug"],"properties":{"name":{"type":"string"},"slug":{"type":"string"}}},"parishes":{"type":"array","items":{"type":"object","required":["name","slug"],"properties":{"name":{"type":"string"},"slug":{"type":"string"}}}},"utility":{"type":"string"}}},"classification":{"type":"object","required":["recordKind","status","phase","confidence","evidenceState"],"properties":{"recordKind":{"type":"string","enum":["campus","program","watch"]},"status":{"type":"string"},"phase":{"type":"string"},"confidence":{"type":"string"},"evidenceState":{"type":"string","enum":["confirmed","reported","watch"]}}},"economics":{"type":"object","required":["capex","disclosure","includedInStatewideCapexFloor"],"properties":{"capex":{"$ref":"#/components/schemas/ProjectDossierField"},"disclosure":{"type":"string","enum":["reported","lower-bound","upper-bound","not-disclosed"]},"includedInStatewideCapexFloor":{"type":"boolean"}}},"power":{"type":"object","required":["mw","basis"],"properties":{"mw":{"$ref":"#/components/schemas/ProjectDossierField"},"basis":{"type":["string","null"],"enum":["compute-capacity","utility-capacity","utility-design",null]}}},"physical":{"type":"object","required":["acreage","squareFeet","latitude","longitude"],"properties":{"acreage":{"$ref":"#/components/schemas/ProjectDossierField"},"squareFeet":{"$ref":"#/components/schemas/ProjectDossierField"},"latitude":{"$ref":"#/components/schemas/ProjectDossierField"},"longitude":{"$ref":"#/components/schemas/ProjectDossierField"}}},"context":{"type":"object","required":["category","parentOrganization","summary","thesis","intelligenceAngle","nextVerificationStep","fieldsToTrack"],"properties":{"category":{"$ref":"#/components/schemas/ProjectDossierField"},"parentOrganization":{"$ref":"#/components/schemas/ProjectDossierField"},"summary":{"$ref":"#/components/schemas/ProjectDossierField"},"thesis":{"$ref":"#/components/schemas/ProjectDossierField"},"intelligenceAngle":{"$ref":"#/components/schemas/ProjectDossierField"},"nextVerificationStep":{"$ref":"#/components/schemas/ProjectDossierField"},"fieldsToTrack":{"type":"array","items":{"type":"string"}}}},"freshness":{"type":"object","required":["dataAsOf","generatedAt","sourcePublishedAt","lastVerified","nextReviewBy","displayState"],"properties":{"dataAsOf":{"type":"string","format":"date"},"generatedAt":{"type":"string","format":"date-time"},"sourcePublishedAt":{"type":["string","null"],"format":"date"},"lastVerified":{"type":["string","null"],"format":"date"},"nextReviewBy":{"type":["string","null"],"format":"date"},"displayState":{"type":"string","enum":["current","review-due","archived","unverified"]}}},"evidence":{"type":"object","required":["sourceLinkageStatus","claimStateVocabulary","methodologyUrl","caution"],"properties":{"sourceLinkageStatus":{"type":"string","enum":["source_linked","source_missing"]},"claimStateVocabulary":{"type":"array","items":{"type":"string","enum":["confirmed","reported","watch","not-in-public-record"]}},"methodologyUrl":{"type":"string","format":"uri"},"caution":{"type":"string"}}},"claims":{"type":"array","items":{"$ref":"#/components/schemas/ProjectDossierClaim"}},"sources":{"type":"array","items":{"$ref":"#/components/schemas/ProjectDossierSource"}},"milestones":{"type":"array","items":{"type":"object","required":["id","date","event","sourceIds"],"properties":{"id":{"type":"string"},"date":{"type":"string","format":"date"},"event":{"type":"string"},"sourceIds":{"type":"array","items":{"type":"string"}}}}},"regulatoryRecords":{"type":"array","items":{"type":"object","required":["docket","shortTitle","status","dateOpened","datePublished","hearingOrOrder","sourceUrl","nextWatch"],"properties":{"docket":{"type":"string"},"shortTitle":{"type":"string"},"status":{"type":"string"},"dateOpened":{"type":"string","format":"date"},"datePublished":{"type":"string","format":"date"},"hearingOrOrder":{"type":"string"},"sourceUrl":{"type":"string","format":"uri"},"primaryDocumentUrl":{"type":"string","format":"uri"},"nextWatch":{"type":"string"}}}},"catalysts":{"type":"array","items":{"type":"object","required":["key","label","status","currentRecord","nextRecord","href"],"properties":{"key":{"type":"string","enum":["power","permits","water","delivery"]},"label":{"type":"string"},"status":{"type":"string","enum":["confirmed-control","open-record","watch","not-in-public-record"]},"currentRecord":{"type":"string"},"nextRecord":{"type":"string"},"href":{"type":"string"}}}}}},"ProjectDossierApiRecord":{"allOf":[{"$ref":"#/components/schemas/ProjectDossier"},{"type":"object","required":["dossier_version","source_linkage_status"],"properties":{"dossier_version":{"type":"string","const":"2026.08.20.1"},"source_linkage_status":{"type":"string","enum":["source_linked","source_missing"]}}}]},"PublicInfrastructureCollection":{"type":"object","required":["version","contract_version","data_as_of","count","summary","projects"],"properties":{"version":{"type":"string","description":"Backward-compatible daily LouisianAI edition tag."},"contract_version":{"type":"string","const":"2026.09.23.1"},"data_as_of":{"type":"string","const":"2026-08-05"},"count":{"type":"integer","minimum":0},"summary":{"type":"object"},"projects":{"type":"array","items":{"$ref":"#/components/schemas/PublicInfrastructureApiRecord"}}}},"PublicInfrastructureDetail":{"type":"object","required":["version","contract_version","data_as_of","project","source_linkage_status","sources"],"properties":{"version":{"type":"string","description":"Backward-compatible daily LouisianAI edition tag."},"contract_version":{"type":"string","const":"2026.09.23.1"},"data_as_of":{"type":"string","const":"2026-08-05"},"project":{"$ref":"#/components/schemas/PublicInfrastructureApiRecord"},"source_linkage_status":{"type":"string","enum":["source_linked","source_missing"]},"sources":{"type":"array","items":{"type":"object","required":["publisher","title","url"],"properties":{"publisher":{"type":"string"},"title":{"type":"string"},"url":{"type":"string","format":"uri"},"published":{"type":"string"},"archived_url":{"type":["string","null"],"format":"uri"}}}}}},"ProjectDossierResponse":{"type":"object","required":["version","contract_version","dossier_version","data_as_of","project","dossier","source_linkage_status","sources"],"properties":{"version":{"type":"string"},"contract_version":{"type":"string","const":"2026.09.23.1"},"dossier_version":{"type":"string","const":"2026.08.20.1"},"data_as_of":{"type":"string","const":"2026-08-05"},"project":{"$ref":"#/components/schemas/PublicInfrastructureApiRecord"},"dossier":{"$ref":"#/components/schemas/ProjectDossierApiRecord"},"source_linkage_status":{"type":"string","enum":["source_linked","source_missing"]},"sources":{"type":"array","items":{"$ref":"#/components/schemas/ProjectDossierSource"}}}}}}}