Steadily Draft Quote API

A Draft Quote is an editable draft of a policy. Create a new draft quote by passing in basic insured and property information to `POST /v1/agency/draft_quote` with an authenticated bearer token header. Provide any known details about the property in the request - Steadily will resolve the rest of the information from our data sources. Our requests and responses are designed to mirror each other so that the request structure is self-documenting. To perform updates, send back the full quote payload you got from create with any modifications made in-place. Use the `/price` endpoint to get a pricing breakdown and `/underwrite` to check for underwriting decisions and alerts. The response includes an `agent_ui_url` field — this is the URL used to bridge the agent into the Steadily UI to review the quote, resolve any underwriting alerts, and complete the bind flow.

OpenAPI Specification

steadily-draft-quote-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Partner Account Draft Quote 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
tags:
- name: Draft Quote
  description: '

    A Draft Quote is an editable draft of a policy.


    Create a new draft quote by passing in basic insured and property information to `POST /v1/agency/draft_quote` with an authenticated bearer token header.

    Provide any known details about the property in the request - Steadily will resolve the rest of the information from our data sources.


    Our requests and responses are designed to mirror each other so that the request structure is self-documenting.

    To perform updates, send back the full quote payload you got from create with any modifications made in-place.


    Use the `/price` endpoint to get a pricing breakdown and `/underwrite` to check for underwriting decisions and alerts.


    The response includes an `agent_ui_url` field — this is the URL used to bridge the agent into the Steadily UI

    to review the quote, resolve any underwriting alerts, and complete the bind flow.

    '
paths:
  /v1/agency/draft_quote:
    post:
      tags:
      - Draft Quote
      summary: Quote Create
      description: "Create a new quote from scratch by providing\n\n  - **Policy Type** — See [DP1 vs DP3](https://www.steadily.com/blog/dp1-vs-dp3-insurance-policies) and [Policy\nTypes](https://www.steadily.com/agent-hub/policy-types) for details.\n  - **Primary Insured** — Name, date of birth, and email\n  - **Policy Details** — Occupancy status\n  - **Property Addresses** — One or more addresses to cover\n\n  You can omit coverages from your create request and we'll configure everything to available defaults.\n  Since our coverage options often vary by state, territory and even by other coverages you have selected, use the options returned in the quote response as the source-of-truth for which coverages are available.\n  If the coverage option you selected is not available, the response will automatically match against the nearest value (default) or return an error if `exact` `coverage_matching` is requested."
      operationId: quote_create
      security:
      - HTTPBearer: []
      parameters:
      - name: coverage_matching
        in: query
        required: false
        schema:
          anyOf:
          - $ref: '#/components/schemas/CoverageMatching'
          - type: 'null'
          description: Specify how coverages should be configured. Default to `nearest`, which caps coverage values to the closest min/max.
          title: Coverage Matching
        description: Specify how coverages should be configured. Default to `nearest`, which caps coverage values to the closest min/max.
      - name: aud
        in: query
        required: false
        schema:
          type: string
          default: steadily:api
          title: Aud
      - name: quote_id
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Quote Id
      - name: offer_id
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Offer Id
      - name: policy_id
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Policy Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              title: Req
              allOf:
              - $ref: '#/components/schemas/QuoteCreateRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuoteResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    get:
      tags:
      - Draft Quote
      summary: Quote List
      description: Return a history of quotes for an agency.
      operationId: quote_list
      security:
      - HTTPBearer: []
      parameters:
      - name: aud
        in: query
        required: false
        schema:
          type: string
          default: steadily:api
          title: Aud
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          minimum: 1
          default: 50
          title: Limit
      - name: starting_after_id
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Starting After Id
      - name: policy_id
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Policy Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuoteListPage'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/agency/draft_quote/{quote_id}:
    get:
      tags:
      - Draft Quote
      summary: Quote Info
      description: Retrieve quote details
      operationId: quote_info
      security:
      - HTTPBearer: []
      parameters:
      - name: quote_id
        in: path
        required: true
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Quote Id
      - name: aud
        in: query
        required: false
        schema:
          type: string
          default: steadily:api
          title: Aud
      - name: offer_id
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Offer Id
      - name: policy_id
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Policy Id
      requestBody:
        content:
          application/json:
            schema:
              title: Req
              anyOf:
              - $ref: '#/components/schemas/QuoteOfferCreateRequest'
              - $ref: '#/components/schemas/PolicyCreateRequest'
              - $ref: '#/components/schemas/QuoteCreateRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuoteResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    put:
      tags:
      - Draft Quote
      summary: Quote Update
      description: Update fields on an existing draft quote.
      operationId: quote_update
      security:
      - HTTPBearer: []
      parameters:
      - name: quote_id
        in: path
        required: true
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Quote Id
      - name: aud
        in: query
        required: false
        schema:
          type: string
          default: steadily:api
          title: Aud
      - name: offer_id
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Offer Id
      - name: policy_id
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Policy Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              title: Req
              allOf:
              - $ref: '#/components/schemas/QuoteUpdateRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuoteResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/agency/draft_quote/{quote_id}/price:
    get:
      tags:
      - Draft Quote
      summary: Price Quote
      description: Get pricing breakdown and details for a quote.
      operationId: price_quote
      security:
      - HTTPBearer: []
      parameters:
      - name: quote_id
        in: path
        required: true
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Quote Id
      - name: include_payment_schedules_breakdown
        in: query
        required: false
        schema:
          type: boolean
          default: true
          title: Include Payment Schedules Breakdown
      - name: aud
        in: query
        required: false
        schema:
          type: string
          default: steadily:api
          title: Aud
      - name: offer_id
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Offer Id
      - name: policy_id
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Policy Id
      requestBody:
        content:
          application/json:
            schema:
              title: Req
              anyOf:
              - $ref: '#/components/schemas/QuoteOfferCreateRequest'
              - $ref: '#/components/schemas/PolicyCreateRequest'
              - $ref: '#/components/schemas/QuoteCreateRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QuotePriceResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/agency/draft_quote/{quote_id}/underwrite:
    get:
      tags:
      - Draft Quote
      summary: Underwriting Info
      description: Check underwriting rules for this Quote.
      operationId: underwriting_info
      security:
      - HTTPBearer: []
      parameters:
      - name: quote_id
        in: path
        required: true
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Quote Id
      - name: aud
        in: query
        required: false
        schema:
          type: string
          default: steadily:api
          title: Aud
      - name: offer_id
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Offer Id
      - name: policy_id
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Policy Id
      requestBody:
        content:
          application/json:
            schema:
              title: Req
              anyOf:
              - $ref: '#/components/schemas/QuoteOfferCreateRequest'
              - $ref: '#/components/schemas/PolicyCreateRequest'
              - $ref: '#/components/schemas/QuoteCreateRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnderwriteResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    RoofSurfacingLossValuationOptionValueRequest:
      properties:
        type:
          type: string
          enum:
          - loss_valuation_option
          title: Type
        value:
          $ref: '#/components/schemas/ralphie__models__coverage_models__RoofSurfacingLossValuationOptionValueRequest__ValueOptions'
        label:
          type: string
          title: Label
          nullable: true
        editable:
          type: string
          title: Editable
          nullable: true
      additionalProperties: false
      type: object
      required:
      - type
      - value
      title: RoofSurfacingLossValuationOptionValueRequest
    ExclusionDescriptionValueRequest:
      properties:
        type:
          type: string
          enum:
          - exclusion_description
          title: Type
        value:
          anyOf:
          - $ref: '#/components/schemas/ralphie__models__coverage_models__ExclusionDescriptionValueRequest__ValueOptions'
          - type: string
          - items:
              type: string
            type: array
          title: Value
          nullable: true
        label:
          type: string
          title: Label
          nullable: true
        editable:
          type: string
          title: Editable
          nullable: true
      additionalProperties: false
      type: object
      required:
      - type
      title: ExclusionDescriptionValueRequest
    LimitedRenovationCoverageRequest:
      properties:
        name:
          type: string
          enum:
          - limited_renovation
          title: Name
        config:
          items:
            $ref: '#/components/schemas/SelectedValueRequest'
          type: array
          title: Config
      additionalProperties: false
      type: object
      required:
      - name
      - config
      title: LimitedRenovationCoverageRequest
      description: 'Coverage request can specify just the list of coverages that need to change.

        Anything unspecified is unmodified.

        Coverages are de-selected rather than removed.

        To de-select an optional coverage, set the "Selected" configuration to "no".'
      example:
        name: water_damage_limitation
        config:
        - type: limit
          label: Water Damage Limitation
          value: 10%
        - type: sublimit
          label: Water Damage Limitation - Fungi Rot Sublimit
          value: '5000'
    QuoteUnderwritingRequest:
      properties:
        answer:
          allOf:
          - $ref: '#/components/schemas/YesNo'
          example: 'no'
          nullable: true
      type: object
      title: QuoteUnderwritingRequest
    RenovationStatus:
      type: string
      enum:
      - under_construction
      - under_renovation
      - not_under_renovation
      title: RenovationStatus
      description: An enumeration.
    BuildingCondition:
      type: string
      enum:
      - excellent
      - average
      - fair
      title: BuildingCondition
      description: An enumeration.
    FireLightningExplosionSmokeExclusionCoverageRequest:
      properties:
        name:
          type: string
          enum:
          - fire_lightning_explosion_smoke_exclusion
          title: Name
        config:
          items:
            anyOf:
            - $ref: '#/components/schemas/SelectedValueRequest'
            - $ref: '#/components/schemas/FireLightningExplosionSmokeExclusionValueRequest'
          type: array
          title: Config
      additionalProperties: false
      type: object
      required:
      - name
      - config
      title: FireLightningExplosionSmokeExclusionCoverageRequest
      description: 'Coverage request can specify just the list of coverages that need to change.

        Anything unspecified is unmodified.

        Coverages are de-selected rather than removed.

        To de-select an optional coverage, set the "Selected" configuration to "no".'
      example:
        name: water_damage_limitation
        config:
        - type: limit
          label: Water Damage Limitation
          value: 10%
        - type: sublimit
          label: Water Damage Limitation - Fungi Rot Sublimit
          value: '5000'
    DwellingLossValuationOptionValueRequest:
      properties:
        type:
          type: string
          enum:
          - loss_valuation_option
          title: Type
        value:
          $ref: '#/components/schemas/ralphie__models__coverage_models__DwellingLossValuationOptionValueRequest__ValueOptions'
        label:
          type: string
          title: Label
          nullable: true
        editable:
          type: string
          title: Editable
          nullable: true
      additionalProperties: false
      type: object
      required:
      - type
      - value
      title: DwellingLossValuationOptionValueRequest
    MineSubsidenceDwellingCoverageRequest:
      properties:
        name:
          type: string
          enum:
          - mine_subsidence_dwelling
          title: Name
        config:
          items:
            anyOf:
            - $ref: '#/components/schemas/SelectedValueRequest'
            - $ref: '#/components/schemas/LimitValueRequest'
            - $ref: '#/components/schemas/DeductibleValueRequest'
          type: array
          title: Config
      additionalProperties: false
      type: object
      required:
      - name
      - config
      title: MineSubsidenceDwellingCoverageRequest
      description: 'Coverage request can specify just the list of coverages that need to change.

        Anything unspecified is unmodified.

        Coverages are de-selected rather than removed.

        To de-select an optional coverage, set the "Selected" configuration to "no".'
      example:
        name: water_damage_limitation
        config:
        - type: limit
          label: Water Damage Limitation
          value: 10%
        - type: sublimit
          label: Water Damage Limitation - Fungi Rot Sublimit
          value: '5000'
    MineSubsidencePrivateStructuresCoverageRequest:
      properties:
        name:
          type: string
          enum:
          - mine_subsidence_private_structures
          title: Name
        config:
          items:
            anyOf:
            - $ref: '#/components/schemas/SelectedValueRequest'
            - $ref: '#/components/schemas/LimitValueRequest'
          type: array
          title: Config
      additionalProperties: false
      type: object
      required:
      - name
      - config
      title: MineSubsidencePrivateStructuresCoverageRequest
      description: 'Coverage request can specify just the list of coverages that need to change.

        Anything unspecified is unmodified.

        Coverages are de-selected rather than removed.

        To de-select an optional coverage, set the "Selected" configuration to "no".'
      example:
        name: water_damage_limitation
        config:
        - type: limit
          label: Water Damage Limitation
          value: 10%
        - type: sublimit
          label: Water Damage Limitation - Fungi Rot Sublimit
          value: '5000'
    Occupancy:
      type: string
      enum:
      - owner_and_tenant
      - rental
      - seasonal
      - vacant
      - fix_and_flip
      - landlord_primary_home
      title: Occupancy
      description: An enumeration.
    HeatingSource:
      type: string
      enum:
      - furnace_electric
      - furnace_natural_gas
      - propane_gas
      - oil
      - wood_burning_stove_or_fireplace
      - other
      title: HeatingSource
      description: An enumeration.
    InsuranceScoreEstimate:
      type: integer
      enum:
      - 999
      - 725
      - 865
      title: InsuranceScoreEstimate
      description: An enumeration.
    ServiceLineCoverageRequest:
      properties:
        name:
          type: string
          enum:
          - service_line
          title: Name
        config:
          items:
            $ref: '#/components/schemas/SelectedValueRequest'
          type: array
          title: Config
        parent_coverage:
          type: string
          title: Parent Coverage
      additionalProperties: false
      type: object
      required:
      - name
      - config
      title: ServiceLineCoverageRequest
      description: 'Coverage request can specify just the list of coverages that need to change.

        Anything unspecified is unmodified.

        Coverages are de-selected rather than removed.

        To de-select an optional coverage, set the "Selected" configuration to "no".'
      example:
        name: water_damage_limitation
        config:
        - type: limit
          label: Water Damage Limitation
          value: 10%
        - type: sublimit
          label: Water Damage Limitation - Fungi Rot Sublimit
          value: '5000'
    PersonalPropertyLossValuationOptionValueRequest:
      properties:
        type:
          type: string
          enum:
          - loss_valuation_option
          title: Type
        value:
          $ref: '#/components/schemas/ralphie__models__coverage_models__PersonalPropertyLossValuationOptionValueRequest__ValueOptions'
        label:
          type: string
          title: Label
          nullable: true
        editable:
          type: string
          title: Editable
          nullable: true
      additionalProperties: false
      type: object
      required:
      - type
      - value
      title: PersonalPropertyLossValuationOptionValueRequest
    CosmeticDamageCoverageRequest:
      properties:
        name:
          type: string
          enum:
          - cosmetic_damage
          title: Name
        config:
          items:
            anyOf:
            - $ref: '#/components/schemas/SelectedValueRequest'
            - $ref: '#/components/schemas/CosmeticDamageValueRequest'
          type: array
          title: Config
      additionalProperties: false
      type: object
      required:
      - name
      - config
      title: CosmeticDamageCoverageRequest
      description: 'Coverage request can specify just the list of coverages that need to change.

        Anything unspecified is unmodified.

        Coverages are de-selected rather than removed.

        To de-select an optional coverage, set the "Selected" configuration to "no".'
      example:
        name: water_damage_limitation
        config:
        - type: limit
          label: Water Damage Limitation
          value: 10%
        - type: sublimit
          label: Water Damage Limitation - Fungi Rot Sublimit
          value: '5000'
    CompanyTypes:
      properties:
        contracting:
          allOf:
          - $ref: '#/components/schemas/YesNo'
          description: Does the entity engage in contracting operations?
          example: 'yes'
          nullable: true
        operations_beyond_rental_property_ownership_and_maintenance:
          allOf:
          - $ref: '#/components/schemas/YesNo'
          description: Does the entity engage in operations beyond rental property ownership and maintenance?
          example: 'yes'
          nullable: true
      type: object
      title: CompanyTypes
      description: 'Note: these values are intentionally not mutually exclusive.  They work like tags with tag values.'
    CosmeticDamageValueRequest:
      properties:
        type:
          type: string
          enum:
          - excluded
          title: Type
        value:
          $ref: '#/components/schemas/YesNo'
        label:
          type: string
          title: Label
          nullable: true
        editable:
          type: string
          title: Editable
          nullable: true
      additionalProperties: false
      type: object
      required:
      - type
      - value
      title: CosmeticDamageValueRequest
    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
    AllOtherPerilsDeductibleCoverageRequest:
      properties:
        name:
          type: string
          enum:
          - all_other_perils_deductible
          title: Name
        config:
          items:
            anyOf:
            - $ref: '#/components/schemas/SelectedValueRequest'
            - $ref: '#/components/schemas/DeductibleValueRequest'
          type: array
          title: Config
      additionalProperties: false
      type: object
      required:
      - name
      - config
      title: AllOtherPerilsDeductibleCoverageRequest
      description: 'Coverage request can specify just the list of coverages that need to change.

        Anything unspecified is unmodified.

        Coverages are de-selected rather than removed.

        To de-select an optional coverage, set the "Selected" configuration to "no".'
      example:
        name: water_damage_limitation
        config:
        - type: limit
          label: Water Damage Limitation
          value: 10%
        - type: sublimit
          label: Water Damage Limitation - Fungi Rot Sublimit
          value: '5000'
    SquattersAndEvictionExpenseLimitDeductibleValueRequest:
      properties:
        type:
          type: string
          enum:
          - limit_deductible
          title: Type
        value:
          $ref: '#/components/schemas/ralphie__models__coverage_models__SquattersAndEvictionExpenseLimitDeductibleValueRequest__ValueOptions'
        label:
          type: string
          title: Label
          nullable: true
        editable:
          type: string
          title: Editable
          nullable: true
      additionalProperties: false
      type: object
      required:
      - type
      - value
      title: SquattersAndEvictionExpenseLimitDeductibleValueRequest
    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
    GeneralLiabilityCoverageRequest:
      properties:
        name:
          type: string
          enum:
          - general_liability
          title: Name
        config:
          items:
            anyOf:
            - $ref: '#/components/schemas/SelectedValueRequest'
            - $ref: '#/components/schemas/LimitValueRequest'
          type: array
          title: Config
      additionalProperties: false
      type: object
      required:
      - name
      - config
      title: GeneralLiabilityCoverageRequest
      description: 'Coverage request can specify just the list of coverages that need to change.

        Anything unspecified is unmodified.

        Coverages are de-selected rather than removed.

        To de-select an optional coverage, set the "Selected" configuration to "no".'
      example:
        name: water_damage_limitation
        config:
        - type: limit
          label: Water Damage Limitation
          value: 10%
        - type: sublimit
          label: Water Damage Limitation - Fungi Rot Sublimit
          value: '5000'
    LiabilityExclusionAnimalCoverageRequest:
      properties:
        name:
          type: string
          enum:
          - liability_exclusion_animal
          title: Name
        config:
          items:
            $ref: '#/components/schemas/SelectedValueRequest'
          type: array
          title: Config
      additionalProperties: false
      type: object
      required:
      - name
      - config
      title: LiabilityExclusionAnimalCoverageRequest
      description: 'Coverage request can specify just the list of coverages that need to change.

        Anything unspecified is unmodified.

        Coverages are de-selected rather than removed.

        To de-select an optional coverage, set the "Selected" configuration to "no".'
      example:
        name: water_damage_limitation
        config:
        - type: limit
          label: Water Damage Limitation
          value: 10%
        - type: sublimit
          label: Water Damage Limitation - Fungi Rot Sublimit
          value: '5000'
    InsuranceStructure:
      type: string
      enum:
      - COI_MASTER_MGA
      - STANDARD_MGA
      - XMGA
      - ARCHIVED
      title: InsuranceStructure
      description: An enumeration.
    LimitValueRequest:
      properties:
        type:
          type: string
          enum:
          - limit
          title: Type
        value:
          type: string
          title: Value
          description: Integer value
        label:
          type: string
          title: Label
          nullable: true
        editable:
          type: string
          title: Editable
          nullable: true
      additionalProperties: false
      type: object
      required:
      - type
      - value
      title: LimitValueRequest
    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
   

# --- truncated at 32 KB (174 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/steadily/refs/heads/main/openapi/steadily-draft-quote-api-openapi.yml