{
  "schema": "kallipolis.resource-quality.v1",
  "id": "resource.public-data.epa-envirofacts-data-service-api",
  "version": "1.0.0",
  "title": "EPA Envirofacts Data Service API boundary",
  "summary": "Official-source access, authentication, request-shaping, paging, freshness, legal, and interpretation boundaries for EPA Envirofacts Data Service API.",
  "content": {
    "kind": "public-data-api-boundary",
    "facts": [
      {
        "id": "fact.epa.envirofacts-data-service-api.access",
        "statement": "Envirofacts provides a RESTful data service over documented EPA tables with JSON by default and several alternate export representations.",
        "normativeLevel": "informative",
        "sourceIds": [
          "source.epa.envirofacts-data-service-api"
        ]
      },
      {
        "id": "fact.epa.envirofacts-data-service-api.authentication",
        "statement": "The service aggregates data from multiple environmental programs, so table, column, join key, operator, range, sort, and format are part of the query contract.",
        "normativeLevel": "informative",
        "sourceIds": [
          "source.epa.envirofacts-data-service-api"
        ]
      },
      {
        "id": "fact.epa.envirofacts-data-service-api.request",
        "statement": "Requests must complete within the documented execution window; broad retrievals should be paged instead of assuming one unbounded response.",
        "normativeLevel": "informative",
        "sourceIds": [
          "source.epa.envirofacts-data-service-api"
        ]
      },
      {
        "id": "fact.epa.envirofacts-data-service-api.boundary",
        "statement": "Aggregated environmental records can differ in source method, refresh schedule, geography, and completeness and do not establish exposure, causation, or legal compliance.",
        "normativeLevel": "informative",
        "sourceIds": [
          "source.epa.envirofacts-data-service-api"
        ]
      }
    ]
  },
  "language": "en",
  "category": "public-data-api",
  "state": "prepared",
  "canonicalUrl": "https://platoskallipolis.com/resources/public-data-apis/epa-envirofacts-data-service-api.json",
  "contentHash": "sha256:5a802426a9315e6a194b0288b498949db44b23d9d7935e6b788f2b6993f13006",
  "owner": {
    "id": "platos-kallipolis",
    "name": "Plato's Kallipolis",
    "type": "organization",
    "accountabilityUrl": "https://platoskallipolis.com/about"
  },
  "access": {
    "mode": "public",
    "url": "https://platoskallipolis.com/resources/public-data-apis/epa-envirofacts-data-service-api.json",
    "authentication": "none",
    "robotsAllowed": true
  },
  "provenance": {
    "method": "primary-source",
    "sources": [
      {
        "id": "source.epa.envirofacts-data-service-api",
        "url": "https://www.epa.gov/enviro/envirofacts-data-service-api",
        "title": "Envirofacts Data Service API",
        "publisher": "U.S. Environmental Protection Agency",
        "observedAt": "2026-08-27T09:30:00Z"
      }
    ]
  },
  "observedAt": "2026-08-27T09:30:00Z",
  "freshness": {
    "policy": "max-age",
    "state": "current",
    "nextReviewAt": "2026-09-03T09:30:00Z",
    "maxAgeSeconds": 604800
  },
  "license": {
    "id": "source-terms-apply",
    "url": "https://www.epa.gov/privacy/privacy-and-security-notice",
    "redistributionAllowed": false
  },
  "evidence": [
    {
      "id": "evidence.epa.envirofacts-data-service-api",
      "type": "source-claim",
      "url": "https://www.epa.gov/enviro/envirofacts-data-service-api",
      "observedAt": "2026-08-27T09:30:00Z"
    }
  ]
}
