---
title: "Renovation site-context packet"
method: POST
path: "/api/locus-renovation-site-context"
tags: ["data", "search", "real-estate", "property", "property-research", "due-diligence", "public-records", "x402", "renovation", "basement", "foundation", "soil", "terrain", "flood", "wetlands", "permits", "category:reports"]
---

# Renovation site-context packet

`POST /api/locus-renovation-site-context`

## Request

- Base URL: `https://api.locus.report`
- URL: `https://api.locus.report/api/locus-renovation-site-context`
- Auth: API key in header `PAYMENT-SIGNATURE`

Parcel, exact-subject permits, USDA soils, terrain, FEMA flood, wetlands, and EPA county radon for one exact property. For basement, addition, foundation, grading, or retaining-wall research. Thin evidence is charge-free; no feasibility or design conclusion. npx @velinussage/locus-agent-skill add.

## Request body

- object
  - `address` string, required
  - `projectType` string: Caller-supplied project framing, such as finish an existing basement or plan a rear addition. It does not select sources or establish a permit class.
  - `suiteOrUnit` string: Optional caller-supplied premises detail. Public records may remain building or parcel level.

## Response `200`

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

- union
  - object
    - `kind` 'transaction_follow_up', required
    - `charged` false
    - `state` 'follow_up_items_found' | 'checked_no_follow_up_items_in_answered_components' | 'incomplete_evidence' | 'source_unavailable', required
    - `intent` 'homebuyer_due_diligence' | 'land_investor_due_diligence' | 'developer_predevelopment' | 'commercial_tenant_due_diligence' | 'renovation_planning', required
    - `profileTitle` string, required
    - `subject` object, required
    - `callerContext` object, required
    - `groups` object[], required
    - `threshold` object, required
      - `met` boolean, required
      - `answeredComponents` integer, required
      - `answeredGroups` integer, required
      - `missing` string[], required
    - `followUpItems` object[], required
      - `id` string, required
      - `status` 'open' | 'awaiting_authority' | 'resolved_with_evidence', required
      - `question` string, required
      - `evidenceNeeded` string[], required
      - `resolutionEvidence` object[], required
        - `sourceUrl` string, uri, required
        - `recordId` string
        - `observedAt` string, required
      - `supersedes` string[], required
      - `group` 'subject_identity' | 'use_occupancy_permits' | 'physical_land' | 'environmental_records' | 'access_infrastructure' | 'change_policy' | 'cost_transfer_timing' | 'area_operating_context', required
      - `factualBasis` string, required
      - `recordIds` string[], required
      - `citations` object[], required
        - `sourceName` string, required
        - `sourceUrl` string, uri, required
        - `recordId` string
        - `fetchedAt` string
        - `sourceVersion` string
      - `verifyNext` object, required
        - `action` string, required
        - `with` string, required
        - `url` string, uri
    - `unansweredQuestions` string[], required
    - `handoffs` object[], required
    - `timeline` object[], required
    - `caveats` string[], required
    - `boundary` string, required
  - object
    - `id` string, required
    - `generatedAt` string, required
    - `summary` string, required
    - `queriedAddress` string
    - `reportType` string, required
    - `responseMode` 'compact', required
    - `artifact` object, required
      - `reportId` string, required
      - `canonicalHash` string, required
      - `available` boolean, required
      - `access` string, required
    - `transactionFollowUp` object, required
      - `kind` 'transaction_follow_up', required
      - `charged` false
      - `state` 'follow_up_items_found' | 'checked_no_follow_up_items_in_answered_components' | 'incomplete_evidence' | 'source_unavailable', required
      - `intent` 'homebuyer_due_diligence' | 'land_investor_due_diligence' | 'developer_predevelopment' | 'commercial_tenant_due_diligence' | 'renovation_planning', required
      - `profileTitle` string, required
      - `subject` object, required
      - `callerContext` object, required
      - `groups` object[], required
      - `threshold` object, required
        - `met` boolean, required
        - `answeredComponents` integer, required
        - `answeredGroups` integer, required
        - `missing` string[], required
      - `followUpItems` object[], required
        - `id` string, required
        - `status` 'open' | 'awaiting_authority' | 'resolved_with_evidence', required
        - `question` string, required
        - `evidenceNeeded` string[], required
        - `resolutionEvidence` object[], required
          - `sourceUrl` string, uri, required
          - `recordId` string
          - `observedAt` string, required
        - `supersedes` string[], required
        - `group` 'subject_identity' | 'use_occupancy_permits' | 'physical_land' | 'environmental_records' | 'access_infrastructure' | 'change_policy' | 'cost_transfer_timing' | 'area_operating_context', required
        - `factualBasis` string, required
        - `recordIds` string[], required
        - `citations` object[], required
          - `sourceName` string, required
          - `sourceUrl` string, uri, required
          - `recordId` string
          - `fetchedAt` string
          - `sourceVersion` string
        - `verifyNext` object, required
          - `action` string, required
          - `with` string, required
          - `url` string, uri
      - `unansweredQuestions` string[], required
      - `handoffs` object[], required
      - `timeline` object[], required
      - `caveats` string[], required
      - `boundary` string, required

## 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). MPP is disabled for this lifecycle-bound tool.

---

[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)
