# NovaPath GIS Layer Manifest Auditor

> NovaPath GIS Layer Manifest Auditor is a paid API for AI agents from instructional-decision-engine-x402.vercel.app, paid per call via x402, $0.15/call, status unknown (last checked 2026-10-31).

Audits up to eight GIS-layer manifests for missing dependencies, CRS mismatches, boundary vintage conflicts, join uniqueness issues, missing values, and geometry errors without any file uploads or network fetches.

## Facts

- Endpoint: POST https://instructional-decision-engine-x402.vercel.app/research/map-source-audit?utm_source=zero.xyz
- Price: $0.15/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-31
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/novapath-gis-layer-manifest-auditor-bdb09dcc
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_lFHVsJVjEBkouQVqD6APs

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability novapath-gis-layer-manifest-auditor-bdb09dcc -d '<json body>'
```

Example prompt: Can you audit these three GIS layers for me? Layer 1 is a geojson in EPSG 4326, present and checksum-verified, with 500 rows, 490 unique join keys on geoid, 485 matched rows, 2 missing values, 0 invalid geometries, 0 missing components, boundary year 2020. Layer 2 is a shapefile in EPSG 3857, present, not checksum-verified, 500 rows, 500 unique join keys on geoid, 490 matched rows, 5 missing values, 1 invalid geometry, 0 missing components, boundary year 2021. Layer 3 is a csv, present, checksum-verified, 300 rows, 295 unique join keys on name, 290 matched rows, 10 missing values, 0 invalid geometries, 0 missing components, boundary year 2020. The project is EPSG 4326 with boundary year 2020.

## When to prefer this

Choose this endpoint when you need a fast, serverless audit of GIS layer metadata without uploading actual files or triggering network fetches — ideal for pre-flight validation pipelines, CI/CD spatial data checks, or agent-driven data quality reviews where you already have layer statistics in hand. It supports up to 8 layers simultaneously with cross-layer CRS and boundary vintage comparison, making it more thorough than single-layer validators.

## Known failure modes

- More than 8 layers submitted — API enforces a maximum of 8 items
- Missing required layer fields such as epsg, rows, or joinKey cause validation errors
- EPSG values out of the 0–999999 range are rejected
- boundaryYear values before 1900 or after 2100 are rejected
- matchedRows or uniqueJoinKeys exceeding the rows count may produce inconsistent audit flags
- Remote format layers with no checksum verification may result in incomplete audit output

## How this service works

Audit up to eight GIS-layer manifests for missing dependencies, CRS mismatches, boundary vintages, join uniqueness, missing values and geometry issues. No uploads, map files or network fetches.

## Output

Returns a structured audit report covering: dependency and component completeness per layer, CRS/EPSG mismatch flags relative to the project CRS, boundary vintage discrepancies, join key uniqueness and match rate analysis, missing value summaries, and invalid geometry counts — all without uploading files or making network requests.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "layers": {
   "type": "array",
   "items": {
    "type": "object",
    "required": [
     "format",
     "present",
     "checksumVerified",
     "missingComponents",
     "epsg",
     "boundaryYear",
     "rows",
     "uniqueJoinKeys",
     "matchedRows",
     "missingValues",
     "invalidGeometries",
     "joinKey"
    ],
    "properties": {
     "epsg": {
      "type": "integer",
      "maximum": 999999,
      "minimum": 0
     },
     "rows": {
      "type": "integer",
      "maximum": 1000000,
      "minimum": 0
     },
     "format": {
      "enum": [
       "csv",
       "geojson",
       "shapefile",
       "geopackage",
       "remote"
      ],
      "type": "string"
     },
     "joinKey": {
      "enum": [
       "geoid",
       "name",
       "other"
      ],
      "type": "string"
     },
     "present": {
      "type": "boolean"
     },
     "matchedRows": {
      "type": "integer",
      "maximum": 1000000,
      "minimum": 0
     },
     "boundaryYear": {
      "type": "integer",
      "maximum": 2100,
      "minimum": 0
     },
     "missingValues": {
      "type": "integer",
      "maximum": 1000000,
      "minimum": 0
     },
     "uniqueJoinKeys": {
      "type": "integer",
      "maximum": 1000000,
      "minimum": 0
     },
     "checksumVerified": {
      "type": "boolean"
     },
     "invalidGeometries": {
      "type": "integer",
      "maximum": 1000000,
      "minimum": 0
     },
     "missingComponents": {
      "type": "integer",
      "maximum": 20,
      "minimum": 0
     }
    },
    "additionalProperties": false
   },
   "maxItems": 8,
   "minItems": 1
  },
  "projectEpsg": {
   "type": "integer",
   "maximum": 999999,
   "minimum": 0
  },
  "projectBoundaryYear": {
   "type": "integer",
   "maximum": 2100,
   "minimum": 1900
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/novapath-gis-layer-manifest-auditor-bdb09dcc/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from instructional-decision-engine-x402.vercel.app](https://www.zero.xyz/host/instructional-decision-engine-x402.vercel.app/llms.txt)
