---
title: "Property Schedule"
method: GET
path: "/api/portal/property-schedule"
tags: ["portal"]
---

# Property Schedule

`GET /api/portal/property-schedule`

## Request

- Base URL: `https://api.riskcube.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.riskcube.com/api/portal/property-schedule`
- Auth: HTTP bearer

The insured's property schedule (admin-uploaded SOV) behind the dashboard's
Locations page. Separate from /locations, which is only map pins.

A company can have several leads; the most recent upload wins so the page
always shows one coherent schedule. Defensive: returns null if the table
doesn't exist yet (pre-migration) rather than erroring.

Not every broker's sheet carries a "Named Insured" header block, so when the
sheet didn't supply one this falls back to the company the dashboard belongs
to. `effective_date` has no sensible fallback and stays null, which the page
treats as "don't show it".

## Response `200`

Successful Response

- unknown

## Changes

- **2026-10-29** `5b8e4d130d64`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/riskcube/apis/slack-lead-manager/changes/api/portal/property-schedule/get.md)

---

[API](https://skmtc.dev/riskcube/apis/slack-lead-manager.md) - [All operations](https://skmtc.dev/riskcube/apis/slack-lead-manager/llms.txt) - [OpenAPI document](https://skmtc.dev/riskcube/apis/slack-lead-manager/revisions/c8976d6fad6b?raw)
