---
title: "Landslide history and susceptibility diligence"
method: POST
path: "/api/locus-landslide-diligence"
tags: ["landslide", "hazard", "usgs", "due-diligence", "public-records", "x402", "category:hazard"]
---

# Landslide history and susceptibility diligence

`POST /api/locus-landslide-diligence`

## Request

- Base URL: `https://api.locus.report`
- URL: `https://api.locus.report/api/locus-landslide-diligence`
- Auth: one of:
  - API key in header `PAYMENT-SIGNATURE`
  - API key in header `Authorization`

USGS landslide inventory history and separate source-native n10 90-meter susceptibility for one US property point. Returns cited unanswered questions and professional follow-up. No probability, property safety label, or engineering conclusion; charge-free unless both components answer. npx @velinussage/locus-agent-skill add.

## Request body

- object
  - `address` string: US street address; geocoded to a point.
  - `latitude` number
  - `longitude` number
  - `searchRadiusMeters` integer, required

## Response `200`

Successful paid artifact, or a free pre-charge diagnostic when the request is outside current coverage.

- object
  - `kind` 'landslide_diligence', required
  - `charged` false
  - `point` object
    - `latitude` number, required
    - `longitude` number, required
  - `spatialPrecision` string
  - `searchRadiusMeters` number
  - `historyState` 'documented_records_found' | 'checked_no_inventory_match' | 'inventory_out_of_coverage' | 'inventory_source_unavailable', required
  - `susceptibilityState` 'official_value_published' | 'model_out_of_coverage' | 'snapshot_stale' | 'susceptibility_source_unavailable', required
  - `inventoryRecords` object[], required
  - `susceptibility` object
    - `modelId` 'n10', required
    - `value` integer, required
    - `resolutionMeters` 90, required
    - `sourceVersion` string, required
    - `sourceVintage` string, required
    - `interpretation` string, required
  - `overlayState` 'state_overlay_answered' | 'state_overlay_not_available' | 'state_overlay_source_unavailable'
  - `citations` object[]
    - `sourceName` string, required
    - `sourceUrl` string, uri, required
    - `doi` string
    - `fetchedAt` string
    - `recordId` string
  - `historyCitations` object[]
    - `sourceName` string, required
    - `sourceUrl` string, uri, required
    - `doi` string
    - `fetchedAt` string
    - `recordId` string
  - `susceptibilityCitations` object[]
    - `sourceName` string, required
    - `sourceUrl` string, uri, required
    - `doi` string
    - `fetchedAt` string
    - `recordId` string
  - `unansweredQuestions` string[], required
  - `verifyNext` object[], required
    - `action` string, required
    - `with` string, required
    - `url` string, uri, required
  - `caveats` string[], required
  - `boundary` string

## Other responses

- `400`: Invalid request body.
- `402`: Payment Required. For x402 v2, repeat the identical request with a valid PAYMENT-SIGNATURE header (legacy X-PAYMENT is accepted for compatibility), or use Authorization: Payment for MPP Tempo when advertised in x-payment-info.offers.

---

[API](https://skmtc.dev/locus/apis/locus-api.md) · [All operations](https://skmtc.dev/locus/apis/locus-api/llms.txt) · [OpenAPI document](https://skmtc.dev/locus/apis/locus-api/revisions/ba7786b74adb?raw)
