> ## Documentation Index
> Fetch the complete documentation index at: https://withforerunner.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Submit SI/SD

> Create a new SI/SD record

<ParamField path="POST" type="endpoint">
  /api/v1/sisd
</ParamField>

Create a new Substantial Improvement or Substantial Damage record.

## Body Parameters

<ParamField body="type" type="string" required>
  Type of record: `improvement` or `damage`
</ParamField>

<ParamField body="value" type="number" required>
  Dollar amount of the improvement or damage (non-negative, e.g., `3451.23`)
</ParamField>

<ParamField body="date" type="string" required>
  Date of the improvement or damage. Accepts ISO 8601 format (e.g., `2024-03-15`) or `MM/DD/YYYY` format (e.g., `03/15/2024`).
</ParamField>

<ParamField body="description" type="string">
  Human-readable description providing context about the improvement or damage
</ParamField>

<ParamField body="propertyMarketValue" type="number">
  Total property market value in dollars before the improvement or damage. Used to calculate if 50% threshold is met.
</ParamField>

<ParamField body="address" type="string">
  Fully qualified street address in the format: `{streetNumber} {streetName} {streetPostfix}, {city}, {state} {zip}` (e.g., `123 Main St, Springfield, IL 62701`)
</ParamField>

<ParamField body="parcelId" type="string">
  Parcel identifier (sometimes called "parcel number")
</ParamField>

<ParamField body="coordinates" type="array">
  Two-element array `[latitude, longitude]` in `EPSG:4326` format
</ParamField>

<ParamField body="externalSystemId" type="string">
  Unique identifier from your system. If a record with this ID already exists, the request returns a `409 Conflict` error.
</ParamField>

<Note>
  Provide at least one of `address`, `parcelId`, or `coordinates` to associate the SI/SD record with a property. Forerunner attempts geocoding and market value identification automatically. Account-specific unique identifiers (e.g., Permit ID) may be required as additional parameters depending on your community configuration.
</Note>

## Response

<ResponseField name="sisd" type="object">
  The created SI/SD record

  <Expandable title="sisd object properties">
    <ResponseField name="id" type="string">
      UUID uniquely identifying the SI/SD record
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="property" type="object">
  Property information and warnings

  <Expandable title="property object properties">
    <ResponseField name="warnings" type="array">
      Array of warning objects indicating threshold compliance issues (e.g., "The improvement costs recorded for this property meet or exceed your community's Substantial Improvement threshold.")
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="errors" type="array">
  Array of error objects. When non-empty, the `sisd` object is absent. See [Errors](/developers/api/overview#errors).
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl -X POST https://app.withforerunner.com/api/v1/sisd \
    -H "Authorization: Bearer YOUR_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "type": "damage",
      "value": 125000,
      "date": "2024-03-15",
      "description": "Flood damage from March storm",
      "propertyMarketValue": 200000,
      "address": "123 Main St, Springfield, IL 62701",
      "externalSystemId": "DMG-2024-001"
    }'
  ```
</RequestExample>

<ResponseExample>
  ```json Success - Exceeds Threshold theme={null}
  {
    "sisd": {
      "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
    },
    "property": {
      "warnings": [
        {
          "message": "The damage costs recorded for this property meet or exceed your community's Substantial Damage threshold. Further action might be necessary to ensure compliance."
        }
      ]
    },
    "errors": []
  }
  ```

  ```json Success - Below Threshold theme={null}
  {
    "sisd": {
      "id": "f0e1d2c3-b4a5-6789-0fed-cba987654321"
    },
    "property": {
      "warnings": []
    },
    "errors": []
  }
  ```
</ResponseExample>
