---
title: "Cited owner programs, deadlines, tax calendar, and parcel screens"
method: POST
path: "/api/locus-owner-action-brief"
tags: ["data", "search", "real-estate", "property", "property-research", "due-diligence", "public-records", "x402", "owner-programs", "property-tax", "appeal-window", "deadlines", "mitigation", "special-valuation", "category:economics"]
---

# Cited owner programs, deadlines, tax calendar, and parcel screens

`POST /api/locus-owner-action-brief`

## Request

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

Owner-action review for one US address: programs and dates, state appeal rule, tax framing and county pointer, FEMA LOMA point screen, and parcel special-valuation screen. For follow-up, not eligibility advice. Charge-free unless two sections are substantive. npx @velinussage/locus-agent-skill add.

## Request body

- object
  - `address` string, required: Required exact US street address or ZIP/place string.
  - `noticeDate` string, date: Optional date printed or delivered on the assessment notice, YYYY-MM-DD.
  - `withinDays` integer, required: Days after today to include in program windows; default 180, maximum 400.

## Response `200`

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

- union
  - object
    - `generatedAt` string, date-time, required
    - `address` string, required
    - `place` string
    - `jurisdictionIds` string[], required
    - `sections` object, required
      - `programs` object, required
        - `status` 'ok' | 'partial' | 'not_applicable' | 'not_covered' | 'not_substantive' | 'unavailable', required
        - `citations` object[], required
          - `sourceName` string, required
          - `sourceUrl` string, uri, required
          - `verifiedAt` string
          - `recordId` string
      - `programWindows` object, required
        - `status` 'ok' | 'partial' | 'not_applicable' | 'not_covered' | 'not_substantive' | 'unavailable', required
        - `citations` object[], required
          - `sourceName` string, required
          - `sourceUrl` string, uri, required
          - `verifiedAt` string
          - `recordId` string
      - `appealWindow` object, required
        - `status` 'ok' | 'partial' | 'not_applicable' | 'not_covered' | 'not_substantive' | 'unavailable', required
        - `citations` object[], required
          - `sourceName` string, required
          - `sourceUrl` string, uri, required
          - `verifiedAt` string
          - `recordId` string
      - `taxCalendar` object, required
        - `status` 'ok' | 'partial' | 'not_applicable' | 'not_covered' | 'not_substantive' | 'unavailable', required
        - `citations` object[], required
          - `sourceName` string, required
          - `sourceUrl` string, uri, required
          - `verifiedAt` string
          - `recordId` string
      - `lomaScreen` object, required
        - `status` 'ok' | 'partial' | 'not_applicable' | 'not_covered' | 'not_substantive' | 'unavailable', required
        - `citations` object[], required
          - `sourceName` string, required
          - `sourceUrl` string, uri, required
          - `verifiedAt` string
          - `recordId` string
      - `specialValuation` object, required
        - `status` 'ok' | 'partial' | 'not_applicable' | 'not_covered' | 'not_substantive' | 'unavailable', required
        - `citations` object[], required
          - `sourceName` string, required
          - `sourceUrl` string, uri, required
          - `verifiedAt` string
          - `recordId` string
    - `componentStatus` object[], required
      - `component` 'programs' | 'programWindows' | 'appealWindow' | 'taxCalendar' | 'lomaScreen' | 'specialValuation', required
      - `status` 'ok' | 'partial' | 'not_applicable' | 'not_covered' | 'not_substantive' | 'unavailable', required
      - `substantive` boolean, required
      - `detail` string
    - `substantiveSectionCount` integer, required
    - `caveats` string[], required
    - `verifyNext` object[], required
      - `step` string, required
      - `url` string, uri
      - `source` string
    - `kind` 'owner_action_brief', required
  - object
    - `generatedAt` string, date-time, required
    - `address` string, required
    - `place` string
    - `jurisdictionIds` string[], required
    - `sections` object, required
      - `programs` object, required
        - `status` 'ok' | 'partial' | 'not_applicable' | 'not_covered' | 'not_substantive' | 'unavailable', required
        - `citations` object[], required
          - `sourceName` string, required
          - `sourceUrl` string, uri, required
          - `verifiedAt` string
          - `recordId` string
      - `programWindows` object, required
        - `status` 'ok' | 'partial' | 'not_applicable' | 'not_covered' | 'not_substantive' | 'unavailable', required
        - `citations` object[], required
          - `sourceName` string, required
          - `sourceUrl` string, uri, required
          - `verifiedAt` string
          - `recordId` string
      - `appealWindow` object, required
        - `status` 'ok' | 'partial' | 'not_applicable' | 'not_covered' | 'not_substantive' | 'unavailable', required
        - `citations` object[], required
          - `sourceName` string, required
          - `sourceUrl` string, uri, required
          - `verifiedAt` string
          - `recordId` string
      - `taxCalendar` object, required
        - `status` 'ok' | 'partial' | 'not_applicable' | 'not_covered' | 'not_substantive' | 'unavailable', required
        - `citations` object[], required
          - `sourceName` string, required
          - `sourceUrl` string, uri, required
          - `verifiedAt` string
          - `recordId` string
      - `lomaScreen` object, required
        - `status` 'ok' | 'partial' | 'not_applicable' | 'not_covered' | 'not_substantive' | 'unavailable', required
        - `citations` object[], required
          - `sourceName` string, required
          - `sourceUrl` string, uri, required
          - `verifiedAt` string
          - `recordId` string
      - `specialValuation` object, required
        - `status` 'ok' | 'partial' | 'not_applicable' | 'not_covered' | 'not_substantive' | 'unavailable', required
        - `citations` object[], required
          - `sourceName` string, required
          - `sourceUrl` string, uri, required
          - `verifiedAt` string
          - `recordId` string
    - `componentStatus` object[], required
      - `component` 'programs' | 'programWindows' | 'appealWindow' | 'taxCalendar' | 'lomaScreen' | 'specialValuation', required
      - `status` 'ok' | 'partial' | 'not_applicable' | 'not_covered' | 'not_substantive' | 'unavailable', required
      - `substantive` boolean, required
      - `detail` string
    - `substantiveSectionCount` integer, required
    - `caveats` string[], required
    - `verifyNext` object[], required
      - `step` string, required
      - `url` string, uri
      - `source` string
    - `kind` 'owner_action_brief_diagnostic', required
    - `charged` false, 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), 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)
