Steadily Quote Offer API

An Offer is an immutable offer for coverage extended to a customer. Offers are generated from draft quotes and provides a PDF quote document. Creating an offer requires no outstanding underwriting alerts on the quote. If alerts are present, the agent must bridge into the Steadily UI (via the `agent_ui_url` from the draft quote response) to resolve them before an offer can be generated.

Operations 2

POST /v1/agency/quote_offer Offer Quote #
GET /v1/agency/quote_offer/{offer_id} Get Offer #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/steadily-quote-offer-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

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 Specification

steadily-quote-offer-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Partner Account Quote Offer 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: Quote Offer
  description: '

    An Offer is an immutable offer for coverage extended to a customer.

    Offers are generated from draft quotes and provides a PDF quote document.


    Creating an offer requires no outstanding underwriting alerts on the quote.

    If alerts are present, the agent must bridge into the Steadily UI (via the `agent_ui_url` from the draft quote response)

    to resolve them before an offer can be generated.

    '
paths:
  /v1/agency/quote_offer:
    post:
      tags:
      - Quote Offer
      summary: Offer Quote
      description: Create an Immutable Offer from a Quote. (Lock Quote)
      operationId: offer_quote
      security:
      - HTTPBearer: []
      parameters:
      - 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/QuoteOfferCreateRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OfferResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/agency/quote_offer/{offer_id}:
    get:
      tags:
      - Quote Offer
      summary: Get Offer
      description: Retrieve an existing Offer.
      operationId: get_offer
      security:
      - HTTPBearer: []
      parameters:
      - name: offer_id
        in: path
        required: true
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Offer Id
      - 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: 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/OfferResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    ralphie__models__coverage_models__VandalismOrMaliciousMischiefSelectionFactorValueRequest__ValueOptions:
      type: string
      enum:
      - 5%
      - 10%
      - 25%
      - 50%
      - 100%
      title: ValueOptions
      description: An enumeration.
    SelectedValueRequest:
      properties:
        type:
          type: string
          enum:
          - selected
          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: SelectedValueRequest
    ralphie__models__coverage_models__DwellingLossValuationOptionValueRequest__ValueOptions:
      type: string
      enum:
      - actual_cash_value
      - replacement_cost
      - repair_cost
      - extended_replacement_cost
      - functional_replacement_cost
      title: ValueOptions
      description: An enumeration.
    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
    EquipmentBreakdownCoverageRequest:
      properties:
        name:
          type: string
          enum:
          - equipment_breakdown
          title: Name
        config:
          items:
            $ref: '#/components/schemas/SelectedValueRequest'
          type: array
          title: Config
      additionalProperties: false
      type: object
      required:
      - name
      - config
      title: EquipmentBreakdownCoverageRequest
      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'
    AnnualPremiumIncreaseCoverageRequest:
      properties:
        name:
          type: string
          enum:
          - annual_premium_increase
          title: Name
        config:
          items:
            $ref: '#/components/schemas/SelectedValueRequest'
          type: array
          title: Config
      additionalProperties: false
      type: object
      required:
      - name
      - config
      title: AnnualPremiumIncreaseCoverageRequest
      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'
    ralphie__models__coverage_models__OffPremisesLiabilityExtensionValueRequest__ValueOptions:
      type: string
      enum:
      - 10%
      title: ValueOptions
      description: An enumeration.
    OfferResponse:
      properties:
        policy_type:
          allOf:
          - $ref: '#/components/schemas/PolicyTypeOptions'
          example: DP3
        insurance_structure:
          $ref: '#/components/schemas/InsuranceStructure'
          nullable: true
        primary_insured:
          $ref: '#/components/schemas/Policyholder'
        additional_named_insured:
          items:
            $ref: '#/components/schemas/AdditionalNamedInsured'
          type: array
          title: Additional Named Insured
          nullable: true
        effective_date:
          type: string
          format: date
          title: Effective Date
          description: Effective date in YYYY-MM-DD format. Defaults to today.
          example: '2022-01-15'
        effective_date_timezone:
          type: string
          title: Effective Date Timezone
          nullable: true
        policy_details:
          $ref: '#/components/schemas/PolicyDetails'
          title: PolicyDetails
          nullable: true
        updated_at:
          type: string
          format: date-time
          title: Updated At
          nullable: true
        previous_policy_id:
          type: string
          title: Previous Policy Id
          nullable: true
        renewal_policy_id:
          type: string
          title: Renewal Policy Id
          nullable: true
        renewal_quote_id:
          type: string
          title: Renewal Quote Id
          nullable: true
        renewal_status:
          $ref: '#/components/schemas/RenewalStatus'
          nullable: true
        renewal_start_date:
          type: string
          format: date
          title: Renewal Start Date
          nullable: true
        renewal_end_date:
          type: string
          format: date
          title: Renewal End Date
          nullable: true
        properties:
          items:
            $ref: '#/components/schemas/PropertyResponse'
          type: array
          title: Properties
        policy_coverages:
          items:
            $ref: '#/components/schemas/CoverageResponse'
          type: array
          title: Policy Coverages
        payment:
          $ref: '#/components/schemas/QuotePaymentResponse'
          title: QuotePaymentResponse
          nullable: true
        underwriting:
          $ref: '#/components/schemas/QuoteUnderwritingResponse'
          title: QuoteUnderwritingResponse
          nullable: true
        signing_requirements:
          $ref: '#/components/schemas/SigningRequirements'
        agent_ui_url:
          type: string
          title: Agent Ui Url
          description: Direct link to Agent UI, which can be used to complete quote.
          example: https://app.steadily.com/spa/create-policy/?policy_loc={policy_id}
          nullable: true
        errors:
          items:
            $ref: '#/components/schemas/ApiValidationError'
          type: array
          title: Errors
          nullable: true
        carrier:
          type: string
          title: Carrier
        public_policy_id:
          type: string
          title: Public Policy Id
          example: OB3-AZ-100034386
          nullable: true
        pricing:
          $ref: '#/components/schemas/QuotePriceResponse'
          title: QuotePriceResponse
          nullable: true
        offer_id:
          type: string
          title: Offer Id
          example: ofr_100034386
        public_offer_id:
          type: string
          title: Public Offer Id
        status:
          $ref: '#/components/schemas/OfferStatus'
        mandatory_agent_agreement_contract:
          $ref: '#/components/schemas/ContractResponse'
          title: ContractResponse
          nullable: true
        mandatory_policyholder_agreement_contract:
          $ref: '#/components/schemas/ContractResponse'
          title: ContractResponse
          nullable: true
        documents:
          items:
            $ref: '#/components/schemas/Document'
          type: array
          title: Documents
      type: object
      required:
      - policy_type
      - primary_insured
      - properties
      - policy_coverages
      - carrier
      - public_policy_id
      - offer_id
      - public_offer_id
      - status
      - documents
      title: OfferResponse
      description: Base response structure, shared by DraftQuote, QuoteOffer, etc.
    QuoteCreateRequest:
      properties:
        quote_id:
          type: string
          title: Quote Id
          description: Optional - Existing quote ID to clone for rewrites.
          example: '100034386'
        quote:
          $ref: '#/components/schemas/QuoteRequest'
      type: object
      title: QuoteCreateRequest
      examples:
      - quote:
          policy_type: DP3
          primary_insured:
            first_name: John
            last_name: Doe
            email: john@doe.com
            date_of_birth: '1980-01-01'
          policy_details:
            occupancy: rental
          properties:
          - address:
              street_address: 1564 Deer Run Pl
              city: Lancaster
              state: OH
              zip_code: '43130'
              county: Fairfield
    ralphie__models__coverage_models__RoofSurfacingLossValuationOptionValueRequest__ValueOptions:
      type: string
      enum:
      - actual_cash_value
      title: ValueOptions
      description: An enumeration.
    LossAssessmentCoverageRequest:
      properties:
        name:
          type: string
          enum:
          - loss_assessment
          title: Name
        config:
          items:
            anyOf:
            - $ref: '#/components/schemas/SelectedValueRequest'
            - $ref: '#/components/schemas/LossAssessmentLimitValueRequest'
          type: array
          title: Config
      additionalProperties: false
      type: object
      required:
      - name
      - config
      title: LossAssessmentCoverageRequest
      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'
    RentalDurationOptions:
      type: string
      enum:
      - long_term
      - short_term
      title: RentalDurationOptions
      description: An enumeration.
    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
    QuotePaymentRequest:
      properties:
        schedule:
          $ref: '#/components/schemas/PaymentScheduleTypes'
        payment_schedule_discount:
          $ref: '#/components/schemas/YesNo'
      type: object
      required:
      - schedule
      title: QuotePaymentRequest
      example:
        schedule: full
    Type:
      type: string
      enum:
      - days
      - flat_cents
      title: Type
      description: An enumeration.
    QuoteRequest:
      properties:
        policy_type:
          allOf:
          - $ref: '#/components/schemas/PolicyTypeOptions'
          example: DP3
        insurance_structure:
          $ref: '#/components/schemas/InsuranceStructure'
          nullable: true
        primary_insured:
          $ref: '#/components/schemas/Policyholder'
        additional_named_insured:
          items:
            $ref: '#/components/schemas/AdditionalNamedInsured'
          type: array
          title: Additional Named Insured
          nullable: true
        effective_date:
          type: string
          format: date
          title: Effective Date
          description: Effective date in YYYY-MM-DD format. Defaults to today.
          example: '2022-01-15'
        effective_date_timezone:
          type: string
          title: Effective Date Timezone
          nullable: true
        policy_details:
          $ref: '#/components/schemas/PolicyDetails'
        previous_policy_id:
          type: string
          title: Previous Policy Id
          nullable: true
        renewal_policy_id:
          type: string
          title: Renewal Policy Id
          nullable: true
        renewal_quote_id:
          type: string
          title: Renewal Quote Id
          nullable: true
        renewal_status:
          $ref: '#/components/schemas/RenewalStatus'
          nullable: true
        renewal_start_date:
          type: string
          format: date
          title: Renewal Start Date
          nullable: true
        renewal_end_date:
          type: string
          format: date
          title: Renewal End Date
          nullable: true
        properties:
          items:
            $ref: '#/components/schemas/PropertyRequest'
          type: array
          title: Properties
        policy_coverages:
          items:
            oneOf:
            - $ref: '#/components/schemas/MedicalPaymentsCoverageRequest'
            - $ref: '#/components/schemas/PersonalLiabilityCoverageRequest'
            - $ref: '#/components/schemas/PremisesLiabilityCoverageRequest'
            discriminator:
              propertyName: name
              mapping:
                medical_payments: '#/components/schemas/MedicalPaymentsCoverageRequest'
                personal_liability: '#/components/schemas/PersonalLiabilityCoverageRequest'
                premises_liability: '#/components/schemas/PremisesLiabilityCoverageRequest'
          type: array
          title: Policy Coverages
        payment:
          $ref: '#/components/schemas/QuotePaymentRequest'
          title: QuotePaymentRequest
          nullable: true
        underwriting:
          $ref: '#/components/schemas/QuoteUnderwritingRequest'
          title: QuoteUnderwritingRequest
          nullable: true
      additionalProperties: false
      type: object
      required:
      - policy_type
      - primary_insured
      - policy_details
      title: QuoteRequest
      description: Base quote structure shared by both requests and responses.
    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
    TheftCoverageRequest:
      properties:
        name:
          type: string
          enum:
          - theft
          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: TheftCoverageRequest
      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'
    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'
    ralphie__models__coverage_models__ExclusionDescriptionValueRequest__ValueOptions:
      type: string
      enum:
      - ''
      - Accessory Dwelling Unit Insured on Another Policy
      - Detached Barn
      - Detached Carport
      - Detached Garage
      - Detached Pool House
      - Detached Shed
      - Detached Shed/Storage Unit
      - Detached Structure
      - Detached Structures Over and/or Partially Over Water
      - Dock and Attached Deck
      title: ValueOptions
      description: An enumeration.
    ExtendedReplacementCostCoverageRequest:
      properties:
        name:
          type: string
          enum:
          - extended_replacement_cost
          title: Name
        config:
          items:
            anyOf:
            - $ref: '#/components/schemas/SelectedValueRequest'
            - $ref: '#/components/schemas/ExtendedReplacementCostSelectionFactorValueRequest'
          type: array
          title: Config
        parent_coverage:
          type: string
          title: Parent Coverage
      additionalProperties: false
      type: object
      required:
      - name
      - config
      title: ExtendedReplacementCostCoverageRequest
      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'
    ralphie__models__coverage_models__WaterDamageLimitationSelectionFactorValueRequest__ValueOptions:
      type: string
      enum:
      - 0%
      - 10%
      - 25%
      - 50%
      - 75%
      - 100%
      - '5000'
      title: ValueOptions
      description: An enumeration.
    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
    PersonalInjuryLiabilityCoverageRequest:
      properties:
        name:
          type: string
          enum:
          - personal_injury_liability
          title: Name
        config:
          items:
            $ref: '#/components/schemas/SelectedValueRequest'
          type: array
          title: Config
      additionalProperties: false
      type: object
      required:
      - name
      - config
      title: PersonalInjuryLiabilityCoverageRequest
      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'
    RoofSurfacingExclusionCoverageRequest:
      properties:
        name:
          type: string
          enum:
          - roof_surfacing_exclusion
          title: Name
        config:
          items:
            $ref: '#/components/schemas/SelectedValueRequest'
          type: array
          title: Config
      additionalProperties: false
      type: object
      required:
      - name
      - config
      title: RoofSurfacingExclusionCoverageRequest
      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'
    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
    SquattersAndEvictionExpenseCoverageRequest:
      properties:
        name:
          type: string
          enum:
          - squatters_and_eviction_expense
          title: Name
        config:
          items:
            anyOf:
            - $ref: '#/components/schemas/SelectedValueRequest'
            - $ref: '#/components/schemas/SquattersAndEvictionExpenseLimitDeductibleValueRequest'
          type: array
          title: Config
      additionalProperties: false
      type: object
      required:
      - name
      - config
      title: SquattersAndEvictionExpenseCoverageRequest
      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'
    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'
    PrivateStructuresRoofExclusionCoverageRequest:
      properties:
        name:
          type: string
          enum:
          - private_structures_roof_exclusion
          title: Name
        config:
          items:
            anyOf:
            - $ref: '#/components/schemas/SelectedValueRequest'
            - $ref: '#/components/schemas/ExclusionDescriptionValueRequest'
            - $ref: '#/components/schemas/ExclusionRiskTypeValueRequest'
          type: array
          title: Config
      additionalProperties: false
      type: object
      required:
      - name
      - config
      title: PrivateStructuresRoofExclusionCoverageRequest
      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
  

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