Steadily Policy API
A Policy is an issued insurance policy. The declaration document and policy packet are available.
A Policy is an issued insurance policy. The declaration document and policy packet are available.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/steadily-policy-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Partner Account Policy API
description: '
Get instant insurance quote estimates and manage referrals through our Partner API.
To request an API key contact partnerships-team@steadily.com
'
version: 1.0-cc63f79
x-logo:
url: https://app.staging.steadily.com/static/images/steadily-logo.svg
altText: Steadily
href: /redoc
servers:
- url: https://api.steadily.com
description: Base URL declared by the provider in apis.yml (roadmap#122).
tags:
- name: Policy
description: '
A Policy is an issued insurance policy.
The declaration document and policy packet are available.
'
paths:
/v1/agency/policy/{policy_id}:
get:
tags:
- Policy
summary: Get Policy
description: Retrieve a Policy.
operationId: get_policy
security:
- HTTPBearer: []
parameters:
- name: policy_id
in: path
required: true
schema:
type: string
title: Policy Id
- name: aud
in: query
required: false
schema:
type: string
default: steadily:api
title: Aud
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/PolicyResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
components:
schemas:
ContractStatus:
type: string
enum:
- pending
- completed
- rejected
- voided
title: ContractStatus
description: An enumeration.
QuoteUnderwritingApplicationQuestions:
properties:
disclaimer:
type: string
title: Disclaimer
nullable: true
questions_prefix:
type: string
title: Questions Prefix
nullable: true
questions:
items:
$ref: '#/components/schemas/UwAppQuestion'
type: array
title: Questions
nullable: true
type: object
title: QuoteUnderwritingApplicationQuestions
BuildingCondition:
type: string
enum:
- excellent
- average
- fair
title: BuildingCondition
description: An enumeration.
PolicyDetails:
properties:
insurance_score_estimate:
allOf:
- $ref: '#/components/schemas/InsuranceScoreEstimate'
description: 'Estimated Insurance Score: Average(999) or Good(725)'
example: 725
nullable: true
is_paperless:
allOf:
- $ref: '#/components/schemas/YesNo'
example: 'yes'
nullable: true
occupancy:
allOf:
- $ref: '#/components/schemas/Occupancy'
description: Dwelling Occupancy
example: rental
similar_insurance_declined:
allOf:
- $ref: '#/components/schemas/YesNo'
description: Has the applicant had similar insurance declined, cancelled, or non-renewed in the last 5 years?
example: 'no'
nullable: true
self_reported_claims:
items:
$ref: '#/components/schemas/SelfReportedClaims'
type: array
title: Self Reported Claims
nullable: true
unique_tracking_id:
type: string
title: Unique Tracking Id
description: Unique ID to track origin of policy
example: id-12345
nullable: true
wind_coverage_excluded:
allOf:
- $ref: '#/components/schemas/YesNo'
description: If 'yes' this policy does NOT provide wind coverage. Otherwise, wind coverage is included.
example: 'no'
nullable: true
ca_dic:
allOf:
- $ref: '#/components/schemas/YesNo'
description: Whether or not this is a Difference in Condition (DIC) policy.
nullable: true
additionalProperties: false
type: object
required:
- occupancy
title: PolicyDetails
ralphie__models__address__Address:
properties:
street_address:
type: string
title: Street Address of property
example: 4825 Mount Sinyala Crossover
city:
type: string
title: United States city
example: Fort Wayne
state:
type: string
title: ISO 3166-2:US state
example: IN
zip_code:
type: string
title: Zip Code of the property
example: '46808'
type: object
required:
- street_address
- city
- state
- zip_code
title: Address
description: Postal address information for a property
HTTPValidationError:
properties:
detail:
items:
$ref: '#/components/schemas/ValidationError'
type: array
title: Detail
type: object
title: HTTPValidationError
MatchedMoratorium:
properties:
moratorium_id:
type: string
title: Moratorium Id
type: object
required:
- moratorium_id
title: MatchedMoratorium
ralphie__models__policy__PolicyStatus:
type: string
enum:
- issued
title: PolicyStatus
description: An enumeration.
pymodels_ipod__pydantic_v1__standard_mga__property_details__Bathroom:
properties:
type:
type: string
title: Bathroom type
description: e. g. Half, Full
type: object
required:
- type
title: Bathroom
AdditionalInsured:
properties:
type:
$ref: '#/components/schemas/AdditionalInsuredType'
name:
type: string
title: Name
loan_number:
type: string
title: Loan Number
description: Loan contract number. Comma separated values if there are multiple loan numbers.
example: JPM98765,12345
nullable: true
address:
$ref: '#/components/schemas/ralphie__models__address__Address'
email:
type: string
format: email
title: Email
description: Email of the additional insured
nullable: true
additionalProperties: false
type: object
required:
- type
- name
- address
title: AdditionalInsured
PropertyManager:
properties:
type:
$ref: '#/components/schemas/PropertyManagerType'
is_additional_insured:
allOf:
- $ref: '#/components/schemas/YesNo'
description: Is the property manager an additional insured?
example: 'no'
nullable: true
name:
type: string
title: Name
address:
$ref: '#/components/schemas/ralphie__models__address__Address'
is_active_manager:
allOf:
- $ref: '#/components/schemas/YesNo'
description: 'Does the property manager performs all of the following: Tenant screening checks, at least quarterly inspections, and utilizes risk reduction clauses. Proof of eligibility may be requested. Falsification could result in denial of a claim.'
example: 'no'
nullable: true
additionalProperties: false
type: object
required:
- type
- name
- address
title: PropertyManager
ConfirmedPropertyStyle:
type: string
enum:
- barndominium_unit
- condominium_unit
title: ConfirmedPropertyStyle
description: An enumeration.
QuotePaymentResponse:
properties:
schedule:
$ref: '#/components/schemas/PaymentScheduleTypes'
payment_schedule_discount:
$ref: '#/components/schemas/YesNo'
type: object
required:
- schedule
- payment_schedule_discount
title: QuotePaymentResponse
pymodels_ipod__pydantic_v1__standard_mga__property_details__Garage:
properties:
size:
type: string
title: Garage Size
description: E. g. 1, 1.5, or 3
type: object
required:
- size
title: Garage
SelfReportedClaims:
properties:
date_of_loss:
type: string
format: date
title: Date of Loss
description: Approximate date of the loss
nullable: true
loss_reason:
allOf:
- $ref: '#/components/schemas/LossReason'
title: Loss Reason
example: weather
nullable: true
loss_amount_dollars:
type: integer
exclusiveMinimum: 0.0
title: Loss Amount in Dollars
nullable: true
caused_by_catastrophe:
allOf:
- $ref: '#/components/schemas/YesNo'
title: Loss related to Catastrophe
nullable: true
additionalProperties: false
type: object
title: SelfReportedClaims
description: Details of any self-reported claims
InsuranceStructure:
type: string
enum:
- COI_MASTER_MGA
- STANDARD_MGA
- XMGA
- ARCHIVED
title: InsuranceStructure
description: An enumeration.
CoverageType:
type: string
enum:
- limit
- sublimit
- deductible
- limit_deductible
- loss_valuation_option
- selection_factor
- selected
- excluded
- exclusion_description
- exclusion_risk_type
- custom
title: CoverageType
description: An enumeration.
RentalDurationOptions:
type: string
enum:
- long_term
- short_term
title: RentalDurationOptions
description: An enumeration.
Type:
type: string
enum:
- days
- flat_cents
title: Type
description: An enumeration.
UserReplacementCost:
properties:
purchase_price:
type: integer
maximum: 50000000.0
minimum: 0.0
title: Purchase Price
renovation_cost:
type: integer
maximum: 50000000.0
minimum: 0.0
title: Renovation Cost
type: object
required:
- purchase_price
- renovation_cost
title: UserReplacementCost
BuildingQuality:
type: string
enum:
- economy
- standard
- above_average
- custom
- premium
title: BuildingQuality
description: An enumeration.
QuotePriceResponse:
properties:
property_premiums:
items:
$ref: '#/components/schemas/PropertyPriceResponse'
type: array
title: Property Premiums
payment_option:
$ref: '#/components/schemas/PaymentOption'
payment_options_available:
items:
$ref: '#/components/schemas/PaymentOption'
type: array
title: Payment Options Available
type: object
required:
- property_premiums
- payment_option
- payment_options_available
title: QuotePriceResponse
description: Gives more detailed, pricing breakdown.
LookupStatus:
type: string
enum:
- unknown
- started
- skipped
- failed
- succeeded
title: LookupStatus
description: An enumeration.
QuotePropertyDetails:
properties:
year_built:
type: integer
exclusiveMinimum: 0.0
title: Year Built
description: Year Originally Built
example: '2007'
nullable: true
stories:
type: number
exclusiveMinimum: 0.0
title: Stories
example: '2'
nullable: true
total_sq_feet:
type: number
exclusiveMinimum: 0.0
title: Total Sq Feet
description: Building Size (Total Square Feet)
example: '1605'
nullable: true
property_type:
allOf:
- $ref: '#/components/schemas/ralphie__models__mapped_models__PropertyType'
example: single_family
nullable: true
confirmed_property_style:
allOf:
- $ref: '#/components/schemas/ConfirmedPropertyStyle'
example: condominium_unit
nullable: true
construction_type:
allOf:
- $ref: '#/components/schemas/ConstructionType'
description: Construction type
example: frame
nullable: true
roof_type:
allOf:
- $ref: '#/components/schemas/RoofType'
description: Roof Type
example: asphalt_shingles
nullable: true
heating_sources:
items:
$ref: '#/components/schemas/HeatingSource'
type: array
description: Heating Sources
example:
- furnace_electric
nullable: true
has_barred_windows_over_50_percent:
type: string
title: Has Barred Windows Over 50 Percent
example: 'Yes'
nullable: true
days_uninsured:
type: integer
title: Days Uninsured
example: 1
nullable: true
central_station:
allOf:
- $ref: '#/components/schemas/YesNo'
description: Does the property have a central station theft or fire alarm monitoring service?
example: 'no'
nullable: true
wrought_iron_bars:
allOf:
- $ref: '#/components/schemas/YesNo'
description: Wrought Iron Bars
nullable: true
rental_duration:
allOf:
- $ref: '#/components/schemas/RentalDurationOptions'
description: How long do you typically rent for?
default: long_term
example: long_term
nullable: true
renovation_status:
allOf:
- $ref: '#/components/schemas/RenovationStatus'
description: Under Renovation or Construction?
example: not_under_renovation
nullable: true
pool_trampoline_hot_tub:
allOf:
- $ref: '#/components/schemas/YesNo'
description: Does this property have a swimming pool, trampoline, or hot tub?
example: 'no'
nullable: true
intermittent_rental:
allOf:
- $ref: '#/components/schemas/YesNo'
description: Intermittent Rental
nullable: true
building_quality:
allOf:
- $ref: '#/components/schemas/BuildingQuality'
example: standard
nullable: true
building_condition:
allOf:
- $ref: '#/components/schemas/BuildingCondition'
example: excellent
nullable: true
internal_data:
type: object
title: Internal Data
description: Extra data about the property used internally by Steadily
nullable: true
builder_name:
type: string
title: Builder Name
description: 'The name of the company that built this property. We currently recognize the following builders:
* adams homes
* american homes 4 rent
* ashton woods homes
* beazer homes
* betenbough homes
* bloomfield homes
* brookfield residential properties
* castlerock communities
* caviness and cates communities
* cbh homes
* century communities
* chesmar homes
* clayton properties group
* d.r. horton
* david weekley homes
* drb group
* dream finders homes
* drees homes
* dsld homes
* eastwood homes
* edge homes
* epcon communities
* first texas homes
* fischer homes
* gehan homes
* gl homes
* great southern homes
* green brick partners
* hayden homes
* highland homes
* historymaker homes
* holiday builders
* hovnanian enterprises
* ivory homes
* kb home
* kolter homes
* landsea homes
* legend homes
* lennar corp.
* lgi homes
* long lake
* m.d.c. holdings
* m/i homes
* maronda homes
* mattamy homes
* meritage homes
* minto communities
* neal communities of southwest florida
* nvr
* perry homes
* pultegroup
* rausch coleman homes
* shea homes
* smith douglas homes
* stanley martin homes
* stylecraft builders
* taylor morrison
* the challenger group
* the villages of lake sumter
* toll brothers
* tri pointe homes
* true homes
* view homes
* woodside homes'
example: Lennar Corp.
nullable: true
electrical_hvac_plumbing_renovated:
allOf:
- $ref: '#/components/schemas/YesNo'
description: Has the electrical, HVAC, and plumbing been fully renovated within the last 30 years?
example: 'no'
nullable: true
fire_protection_class:
type: string
title: Fire Protection Class
description: Fire Protection Class
example: '9'
nullable: true
address_info_s3_url:
type: string
title: Address Info S3 Url
description: Additional address info stored in S3
example: s3://steadily-test-app-carlos/logs/2024/04/08/01HTZGD6ZKZK3F40VCGYW42N9I
nullable: true
wind_coverage_exclusion_zone:
allOf:
- $ref: '#/components/schemas/YesNo'
description: Inidcates if an exposure in a wind excluded policy.
example: 'no'
nullable: true
ca_dic_zone:
type: string
title: Ca Dic Zone
description: Which exclusion zone this DIC (Difference in Condition) property falls in, if any.
examples:
- ineligible
- fire_lightning_explosion_smoke
nullable: true
foundation_type:
type: string
title: Foundation Type
description: Foundation Type
example: concrete_slab
nullable: true
garages:
items:
$ref: '#/components/schemas/pymodels_ipod__pydantic_v1__standard_mga__property_details__Garage'
type: array
title: Garages
description: Garages
example:
- size: '2'
nullable: true
average_wall_height_feet:
type: number
title: Average Wall Height Feet
description: Average wall height in feet
example: 9.0
nullable: true
bathroom_details:
items:
$ref: '#/components/schemas/pymodels_ipod__pydantic_v1__standard_mga__property_details__Bathroom'
type: array
title: Bathroom Details
description: Bathroom details
example:
- type: Full
nullable: true
bedrooms:
type: number
title: Bedrooms
description: Number of bedrooms
example: 3
nullable: true
fireplaces:
type: integer
title: Fireplaces
description: Number of fireplaces
example: 1
nullable: true
foundation_shape:
allOf:
- $ref: '#/components/schemas/FoundationShape'
description: Foundation Shape
example: square_rectangle
nullable: true
type: object
title: QuotePropertyDetails
description: 'Descriptive field values for a property.
Looked up from Steadily''s data sources and can be overridden through the API.
Fields are specified as optional to allow partially setting just relevant fields.'
PolicyTypeOptions:
type: string
enum:
- DP1
- DP2
- DP3
title: PolicyTypeOptions
description: An enumeration.
Policyholder:
properties:
first_name:
type: string
title: First Name
nullable: true
last_name:
type: string
title: Last Name
nullable: true
suffix:
type: string
title: Suffix
description: Name suffix such as Jr or II
nullable: true
company_name:
type: string
title: Company Name
nullable: true
date_of_birth:
type: string
format: date
title: Date Of Birth
nullable: true
phone_number:
type: string
title: Phone Number
nullable: true
email:
type: string
format: email
title: Email
description: email is marked as nullable, but API callers must always supply a valid email. Missing email will result in a runtime error.
nullable: true
mailing_address:
$ref: '#/components/schemas/ralphie__models__address__Address'
title: Address
nullable: true
previous_address:
$ref: '#/components/schemas/ralphie__models__address__Address'
title: Address
nullable: true
is_military_member:
allOf:
- $ref: '#/components/schemas/YesNo'
description: Is the applicant a veteran of or serving in the United States Armed Forces? Proof of eligibility may be requested. Falsification could result in denial of a claim.
example: 'yes'
nullable: true
company_types:
allOf:
- $ref: '#/components/schemas/CompanyTypes'
title: Company Types
description: If the owner entity is a company, this field describes the companies operations. Each key is a type of operation the business may engage in, and each value indicates if the copmany entity engages in it.
example:
contracting: 'yes'
nullable: true
type: object
title: Policyholder
DuplicateAddressPolicies:
properties:
deferral_reason:
type: string
title: Deferral Reason
description: If set causes deferral of duplicate address lookup until cleared
lookup_status:
$ref: '#/components/schemas/LookupStatus'
policies:
type: object
title: Policies
type: object
title: DuplicateAddressPolicies
UwAppQuestion:
properties:
name:
type: string
title: Name
prefix:
type: string
title: Prefix
nullable: true
text:
items:
type: string
type: array
title: Text
answer:
type: string
title: Answer
nullable: true
type: object
required:
- name
- text
title: UwAppQuestion
PropertyAddress:
properties:
street_address:
type: string
title: Street Address of property
example: 4825 Mount Sinyala Crossover
city:
type: string
title: United States city
example: Fort Wayne
state:
type: string
title: ISO 3166-2:US state
example: IN
zip_code:
type: string
title: Zip Code of the property
example: '46808'
county:
type: string
title: County
example: Maricopa
nullable: true
county_fips:
type: string
title: County FIPS
example: '04013'
nullable: true
lat:
type: number
title: Latitude of the property
example: 41.079273
nullable: true
lng:
type: number
title: Longitude of the property
example: -85.139351
nullable: true
type: object
required:
- street_address
- city
- state
- zip_code
title: PropertyAddress
description: Postal address information for a property
ValidationError:
properties:
loc:
items:
anyOf:
- type: string
- type: integer
type: array
title: Location
msg:
type: string
title: Message
type:
type: string
title: Error Type
type: object
required:
- loc
- msg
- type
title: ValidationError
IpodUnderwritingStatementContent:
properties:
content:
type: string
title: Content
items:
items:
$ref: '#/components/schemas/IpodUnderwritingStatementContent'
type: array
title: Items
type: object
title: IpodUnderwritingStatementContent
ConstructionType:
type: string
enum:
- frame
- brick_veneer
- brick_or_masonry_or_stone
- concrete
- log
- adobe_or_stucco
- asbestos
- other
- adobe_or_stucco_v2
- brick_solid
- cedar_siding
- cement_fiber_siding
- concrete_decorative
- concrete_exposed
- concrete_stucco
- log_v2
- metal_siding
- pre_engineered_metal
- vinyl_siding
title: ConstructionType
description: An enumeration.
Installment:
properties:
amount_cents:
type: integer
title: Amount Cents
example: 0
due_date:
type: string
format: date
title: Due Date
example: '2021-04-24'
type: object
required:
- amount_cents
- due_date
title: Installment
LossReason:
type: string
enum:
- weather
- fire
- water_appliance
- water
- theft
- earthquake
- liability
- medical
- other
title: LossReason
description: An enumeration.
AdditionalNamedInsured:
properties:
type:
$ref: '#/components/schemas/AdditionalNamedInsuredType'
name:
type: string
title: Name
address:
$ref: '#/components/schemas/ralphie__models__address__Address'
additionalProperties: false
type: object
required:
- type
- name
- address
title: AdditionalNamedInsured
PropertyManagerType:
type: string
enum:
- person
- company
title: PropertyManagerType
description: An enumeration.
Document:
properties:
display_name:
type: string
title: Display Name
example: Policy Packet
file_name:
type: string
title: File Name
description: The file_name field will return documents with the following convention {display_name}.{file_format}
default: ''
example: policy_packet.pdf
nullable: true
file_code:
type: string
title: File Code
description: Source of truth for file type. Prefer this over file_name when filtering for the type of the file
example: QUOTE
nullable: true
url:
type: string
title: Url
description: A url to download the document. Document urls will expire within a few minutes.
example: https://example.com/unique_document_url?token=32424
nullable: true
status:
allOf:
- $ref: '#/components/schemas/DocumentStatus'
description: Status of the document being generated. If pending, document is not yet generated. If completed, document url is available
default: pending
example: pending
quote_version:
type: integer
title: Quote Version
nullable: true
quote_id:
type: string
title: Quote Id
nullable: true
created_at:
type: string
format: date-time
title: Created At
steadily_universal_dwelling_id:
type: string
title: Steadily Universal Dwelling Id
description: Which dwelling this document corresponds to. Matches steadily_universal_dwelling_id from the dwelling response.
example: c67b1d514b26530ed0f8dedbb95a3a0c
nullable: true
type: object
required:
- display_name
- created_at
title: Document
ApiValidationError:
properties:
loc:
items:
type: string
type: array
title: Loc
description: The path to the field that caused the error
default: []
msg:
type: string
title: Msg
type:
type: string
title: Type
retryable:
type: boolean
title: Retryable
nullable: true
request_id:
type: string
title: Request Id
nullable: true
error_id:
type: string
title: Error Id
description: Internal error tracing ID
nullable: true
ctx:
type: object
title: Ctx
description: Error specific context
default: {}
nullable: true
type: object
required:
- msg
- type
title: ApiValidationError
description: 'Error schema based on Pydantic''s ValidationError
https://pydantic-docs.helpmanual.io/usage/models/#error-handling'
PropertyPriceResponse:
properties:
property_id:
type: string
title: Property Id
coverage_premiums:
items:
$ref: '#/components/schemas/CoveragePriceResponse'
type: array
title: Coverage Premiums
premium_cents:
type: integer
title: Premium Cents
taxes_cents:
type: integer
title: Taxes Cents
total_cents:
type: integer
title: Total Cents
minimum_earned_premium_type:
$ref: '#/components/schemas/Type'
nullable: true
minimum_earned_premium_scalar_amount:
type: integer
minimum: 0.0
title: Minimum Earned Premium Scalar Amount
nullable: true
minimum_earned_premium_cents:
type: integer
minimum: 0.0
title: Minimum Earned Premium Cents
nullable: true
type: object
required:
- property_id
- coverage_premiums
- premium_cents
- taxes_cents
- total_cents
title: PropertyPriceResponse
CoverageValueResponse:
properties:
type:
$ref: '#/components/schemas/CoverageType'
value:
anyOf:
- type: string
- items:
type: string
type: array
title: Value
label:
type: string
title: Label
default:
type: string
title: Default
nullable: true
options:
items:
type: string
type: array
title: Options
nullable: true
options_additional_allowed:
$ref: '#/components/schemas/YesNo'
nullable: true
min:
type: integer
title: Min
nullable: true
max:
type: integer
title: Max
nullable: true
editable:
$ref: '#/components/schemas/YesNo'
bumped_from_value:
type: string
title: Bumped From Value
nullable: true
bumped_description:
type: string
title: Bumped Description
nullable: true
type: object
required:
- type
- value
- label
- editable
title: CoverageValueResponse
PaymentScheduleTypes:
type: string
enum:
- full
- full_escrow
- mortgagee_billed
- semi_annual
- quarterly
- monthly
- monthly_eft
title: PaymentScheduleTypes
description: '| Payment Schedule | Description
# --- truncated at 32 KB (51 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/steadily/refs/heads/main/openapi/steadily-policy-api-openapi.yml