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

# Get SOV exposure report

> Get the exposure report for the locations of an SOV or portfolio that match the filters: TIV by country, state and county; COPE, hazard and exposure-analysis sections; and the `standard` layer tower. Every row carries `filter` and `links` to drill into its locations with `summary` or `locations`. Sections that depend on data integrations your organization does not have are omitted.



## OpenAPI

````yaml https://api.sovfixer.com/api/schema/?format=json get /api/v1/sov/{id}/exposure-report
openapi: 3.0.3
info:
  title: Ping.Extraction API
  version: v1.0
  description: >-
    ### Ping.Extraction API


    This API provides an asynchronous method for parsing Excel SOV documents
    using the Ping Intel SOV Fixer platform.


    The typical SOV Fixer usage flow is:


    * POST to `/api/v1/sov`

    * Poll GET `/api/v1/sov/{id}`, passing the `id` given by the previous
    response until `response.request.status` is `COMPLETE` or `FAILED`.
    Depending on load, number of buildings in the SOV, and 3rd party
    integrations, it may take anywhere from a few seconds to many minutes.

    * Download the parsed SOV data as JSON from
    `/api/v1/sov/{id}/output/{filename}`. The exact url comes from the response
    to the above query, in `response.result.outputs[].url`.


    API Usage Examples: [Python](/api/v1/sov-api-usage-example.py) |
    [.NET](/api/v1/sov-api-usage-example.cs)

    Client Libraries: [Python](https://pypi.org/project/pingintel-api/)


    #### Authorization

    Most endpoints are protected by Bearer authentication. Under each endpoint
    listed below, click into the `authorizations` section to see what is
    required for that endpoint.


    #### Output JSON Example:

    ```json

    {

    "id": "s-e-xxxxxxx",

    "source_filename": "My Example SOV.xls",

    "num_buildings": 26,

    "extra_data": {
        "insured_name": "Joe Insured",
        "... custom document-level data fields ...": ""
    },

    "buildings": [
        {
        "item_key": "i-s-e-xxxxxxx!Original SOV Sheet!7",
        "building_counter": 1,
        "sheet_name": "Original SOV Sheet",
        "sheet_row_number": 7,
        "parsing_sheet_name": "Original SOV Sheet",
        "location_code": {
            "value": "A-1",
            "confidence": 0.5,
            "comment": "Adjusted."
        },
        "bldg_name": {
            "value": "Elementary School",
            "confidence": 0.7
        },
        "street": {
            "value": "1212 Mockingbird Lane",
            "confidence": 0.7
        },
        "city": {
            "value": "Tewksbury",
            "confidence": 0.5
        },
        "state": {
            "original": "Mass",
            "value": "MA",
            "confidence": 0.9
        },
        "zip": {
            "value": "01876",
            "original": 1876,
            "confidence": 0,
            "comment": "Please check."
        },
        "... more building attributes ...": "",
        "external_data": {
            "PG": {
            "latitude": 42.6109,
            "longitude": -71.2342,
            "confidence": 0.9,
            "street": "1212 Mockingbird Ln",
            "city": "Tewksbury",
            "... rest of the data from the Ping Geocoding (PG) external data source ...": ""
            },
            "... any other requested third party data sources ...": ""
        },
        "extra": {
            "... columns that were not identified as a standard SOV field ...": "",
            "Unidentified Column": "123213",
            "Another Unidentified Column": "abc"
        }
        },
        "... additional buildings ...": ""
    ]

    }

    ```


    Complete JSON reference documentation can be found for each output type:
    [SOV](/docs/data/SOV/) | [Premium BDX](/docs/data/PREM_BDX/) | [Claim
    BDX](/docs/data/CLAIM_BDX/).


    Some notes about specific JSON output fields:

    * `limits__total_limit`: Contains the TIV if explicitly specified in the
    SOV. If not, it is summed from the fields `limits__building_limit` +
    `limits__bpp_limit` + `limits__bi_limit` + `limits__signs_and_other_limit`.

    * `limits__building_limit`: Building Limit is an aggregate of:

    * `limits__building_value`

    * `limits__location_limit`

    * `limits__blanket_limit`

    * `limits__building_only_limit`

    * `limits__real_property_limit`

    * `limits__structure_limit`

    * `limits__bpp_limit`: Business Personal Property (Contents) Limit is an
    aggregate of:

    * `limits__contents_value`

    * `limits__contents_limit`

    * `limits__bpp_value`

    * `limits__equip_limit`

    * `limits__personal_property_limit`

    * Any field identified as a limit field but not otherwise categorized.

    * `limits__bi_limit`: Business Interruption Limit is an aggregate of:

    * `limits__bi_value`

    * `limits__bi_income_limit`

    * `limits__business_interruption_limit`

    * `limits__time_element_limit`

    * `limits__signs_and_other_limit`: Signs and Other Structures Limit is an
    aggregate of:

    * `limits__signs_limit`

    * `limits__other_structures_limit`


    ### Ping Intel SOV History API

    This API provides a method for accessing historical SOV submissions
    including their revisions (SOV Updates) and the raw parsed output.


    The typical usage workflow is:

    * GET to `api/v1/sov/history?start={start_timestamp}` for a list of SOVIDs
    submitted between `start_timestamp` and now.

    * For each sovid:

    * GET to `api/v1/sov/history/{id}` to get information about the SOV or SOV
    Update. This includes any output we produced in servicing the request

    * GET to the the URL in the outputs dict to download the resource you need.
        
  contact:
    email: support@pingintel.com
    name: Ping Intel
    url: https://www.pingintel.com
servers:
  - url: https://api.sovfixer.com
    description: Ping.Extraction API
  - url: https://api-staging.sovfixer.com
    description: Ping.Extraction API (staging)
security: []
tags:
  - name: Parse SOVs
  - name: Get SOV Data
  - name: Analyze SOVs
    description: >
      Totals, value distributions, location lists, an exposure report and a
      layer analysis for the locations of an SOV or portfolio, narrowed by
      location filters.


      **How filters combine**


      - Different fields: a location must match all of them.

      - Repeating an array field (`state=TX&state=FL`): matches any of the
      values.

      - Several operators on one field
      (`const__bldg_year_built[gte]=1990&const__bldg_year_built[lt]=2000`): all
      must hold, forming a range.

      - `[bins]` with several bins: matches any of them.

      - `[not_in]`: excludes those values; locations missing the field are
      excluded too.

      - `[gt_or_null]`, `[gte_or_null]`, `[lte_or_null]`: the comparison holds
      or the value is missing.

      - `N/A` as an exact value: matches locations missing the field.

      - An exact value, `[bins]` and range operators cannot be combined on one
      field; the request returns 400.

      - A report row's `filter` has the same shape: send it as query parameters,
      or follow the row's `links`, to drill into that row.


      Example:
      `state=TX&state=FL&const__bldg_year_built[gte]=1990&const__bldg_year_built[lt]=2000&county[not_in]=Harris`
      selects locations in Texas or Florida, built from 1990 through 1999,
      outside Harris County.
    x-operation-order:
      - get_sov_summary
      - list_sov_locations
      - get_sov_exposure_report
      - get_sov_layer_analysis
  - name: Update SOVs
paths:
  /api/v1/sov/{id}/exposure-report:
    get:
      tags:
        - Analyze SOVs
      summary: Get SOV exposure report
      description: >-
        Get the exposure report for the locations of an SOV or portfolio that
        match the filters: TIV by country, state and county; COPE, hazard and
        exposure-analysis sections; and the `standard` layer tower. Every row
        carries `filter` and `links` to drill into its locations with `summary`
        or `locations`. Sections that depend on data integrations your
        organization does not have are omitted.
      operationId: get_sov_exposure_report
      parameters:
        - in: path
          name: id
          schema:
            type: string
          description: pingid, sovid, or portfolio id
          required: true
        - in: query
          name: breakdown_limit
          schema:
            type: integer
            maximum: 100
            minimum: 1
            default: 5
          description: >-
            Maximum rows in each country, state and county breakdown. Remaining
            values are combined into one `All Others` row. Defaults to 5.
        - in: query
          name: exposure_analysis_limits__total_limit__gte
          schema:
            type: integer
            minimum: 0
            default: 0
          description: >-
            Minimum `limits__total_limit` of the locations counted by the
            exposure-analysis section rows. Other sections and totals include
            all matching locations. Defaults to 0.
        - in: query
          name: filters
          schema:
            $ref: '#/components/schemas/SOVAnalyticsFiltersRequest'
          description: >-
            Location filters. Send each field as its own query parameter:
            `field=value` for an exact match, `field[op]=value` for an operator.
            `state=TX&state=FL&const__bldg_year_built[gte]=1990` selects
            locations in TX or FL built in 1990 or later.


            - Different fields: a location must match all of them.

            - Repeating a field, or `[bins]` with several bins: matches any of
            the values.

            - Several operators on one field: all must hold, forming a range.

            - `N/A` as an exact value: matches locations missing the field.

            - A field takes an exact value, `[bins]` or range operators, not a
            mix.


            See [SOV Data
            Analysis](https://docs.pingintel.com/sov-data-analysis) for every
            rule and examples.
          explode: true
          style: form
        - in: query
          name: layer_attach
          schema:
            type: integer
            default: 0
          description: >-
            Layer attachment point. With `layer_limit`, defines the layer whose
            per-location exposure is reported as `limits__total_limit_in_layer`.
            Defaults to 0.
        - in: query
          name: layer_limit
          schema:
            type: integer
          description: >-
            Layer limit. With `layer_attach`, defines the layer whose
            per-location exposure is reported as `limits__total_limit_in_layer`.
            Omit for a layer with no upper limit.
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SOVExposureReportResponse'
              examples:
                CoastalPolicyReport:
                  value:
                    sovid: s-e-c2qahx
                    kind: policy
                    params:
                      filter: {}
                      breakdown_limit: 2
                      exposure_analysis_limits__total_limit__gte: 100000
                      occupancy_scheme: air
                    totals:
                      count: 148
                      geocoded_count: 141
                      limits__total_limit: 482350000
                      limits__total_limit_geocoded: 469100000
                      limits__total_limit_nongeocoded: 13250000
                      limits__building_limit: 351800000
                      limits__bpp_limit: 88400000
                      limits__bi_limit: 39650000
                      limits__signs_and_other_limit: 2500000
                      limits__total_limit_in_layer: 482350000
                      bbox:
                        lat1: 30.8812
                        lat2: 25.1204
                        lng1: -97.7431
                        lng2: -80.131
                    breakdowns:
                      - key: state
                        title: TIV by State
                        type: total
                        rows:
                          - key: FL
                            label: Florida
                            description: null
                            count: 71
                            limits__total_limit: 287300000
                            limits__total_limit_pct: 59.56
                            filter:
                              state:
                                - FL
                            links:
                              summary: >-
                                https://api.sovfixer.com/api/v1/sov/s-e-c2qahx/summary?state=FL
                              locations: >-
                                https://api.sovfixer.com/api/v1/sov/s-e-c2qahx/locations?state=FL
                          - key: TX
                            label: Texas
                            description: null
                            count: 44
                            limits__total_limit: 121650000
                            limits__total_limit_pct: 25.22
                            filter:
                              state:
                                - TX
                            links:
                              summary: >-
                                https://api.sovfixer.com/api/v1/sov/s-e-c2qahx/summary?state=TX
                              locations: >-
                                https://api.sovfixer.com/api/v1/sov/s-e-c2qahx/locations?state=TX
                          - key: others
                            label: All Others
                            description: null
                            count: 33
                            limits__total_limit: 73400000
                            limits__total_limit_pct: 15.22
                            filter:
                              state:
                                not_in:
                                  - FL
                                  - TX
                            links:
                              summary: >-
                                https://api.sovfixer.com/api/v1/sov/s-e-c2qahx/summary?state[not_in]=FL&state[not_in]=TX
                              locations: >-
                                https://api.sovfixer.com/api/v1/sov/s-e-c2qahx/locations?state[not_in]=FL&state[not_in]=TX
                    sections:
                      - key: cope
                        title: COPE
                        groups:
                          - key: construction
                            title: Construction
                            type: total
                            rows:
                              - key: RC
                                label: RC
                                description: null
                                count: 22
                                limits__total_limit: 214600000
                                limits__total_limit_pct: 44.49
                                filter:
                                  const_code_pcg:
                                    - RC
                                links:
                                  summary: >-
                                    https://api.sovfixer.com/api/v1/sov/s-e-c2qahx/summary?const_code_pcg=RC
                                  locations: >-
                                    https://api.sovfixer.com/api/v1/sov/s-e-c2qahx/locations?const_code_pcg=RC
                          - key: construction_dollar_per_sqft
                            title: Construction — $ per Sq. Ft
                            type: dollar_per_sqft
                            rows:
                              - key: RC
                                label: RC
                                count: 22
                                limits__building_limit_per_sqft: 312.45
                                limits__building_limit_with_area_pct: 91.3
                                filter:
                                  const_code_pcg:
                                    - RC
                                links:
                                  summary: >-
                                    https://api.sovfixer.com/api/v1/sov/s-e-c2qahx/summary?const_code_pcg=RC
                                  locations: >-
                                    https://api.sovfixer.com/api/v1/sov/s-e-c2qahx/locations?const_code_pcg=RC
                      - key: us_hazard_risk_scoring
                        title: US Hazard Risk Scoring
                        groups:
                          - key: hurricane
                            title: Hurricane
                            type: total
                            rows:
                              - key: wind_tier_1
                                label: Tier 1
                                description: null
                                count: 38
                                limits__total_limit: 164200000
                                limits__total_limit_pct: 34.04
                                filter:
                                  wind_tier:
                                    - Tier 1
                                links:
                                  summary: >-
                                    https://api.sovfixer.com/api/v1/sov/s-e-c2qahx/summary?wind_tier=Tier+1
                                  locations: >-
                                    https://api.sovfixer.com/api/v1/sov/s-e-c2qahx/locations?wind_tier=Tier+1
                      - key: us_ping_crucial_exposure_analysis
                        title: US Ping Crucial Exposure Analysis
                        groups:
                          - key: tropical_cyclone
                            title: Tropical Cyclone - TIV Exposed
                            type: total
                            rows:
                              - key: tc_missing_year_built
                                label: Missing Year Built
                                description: >-
                                  Tier 1 and 2 locations of $100,000+ TIV with
                                  no year built.
                                count: 4
                                limits__total_limit: 9800000
                                limits__total_limit_pct: 2.03
                                filter:
                                  wind_tier:
                                    - Tier 1
                                    - Tier 2
                                  const__bldg_year_built:
                                    lte_or_null: 0
                                  limits__total_limit:
                                    gte: 100000
                                links:
                                  summary: >-
                                    https://api.sovfixer.com/api/v1/sov/s-e-c2qahx/summary?wind_tier=Tier+1&wind_tier=Tier+2&const__bldg_year_built[lte_or_null]=0&limits__total_limit[gte]=100000
                                  locations: >-
                                    https://api.sovfixer.com/api/v1/sov/s-e-c2qahx/locations?wind_tier=Tier+1&wind_tier=Tier+2&const__bldg_year_built[lte_or_null]=0&limits__total_limit[gte]=100000
                    layers:
                      tower: standard
                      basis: per_location
                      rows:
                        - key: primary_5
                          label: Primary $5M
                          attach: 0
                          layer_limit: 5000000
                          count: 148
                          limits__total_limit_in_layer: 301200000
                          limits__total_limit_in_layer_pct: 62.44
                          filter:
                            limits__total_limit:
                              gt: 0
                          links:
                            summary: >-
                              https://api.sovfixer.com/api/v1/sov/s-e-c2qahx/summary?limits__total_limit[gt]=0&layer_attach=0&layer_limit=5000000
                            locations: >-
                              https://api.sovfixer.com/api/v1/sov/s-e-c2qahx/locations?limits__total_limit[gt]=0&layer_attach=0&layer_limit=5000000
                        - key: x5_5
                          label: $5M xs $5M
                          attach: 5000000
                          layer_limit: 5000000
                          count: 21
                          limits__total_limit_in_layer: 82400000
                          limits__total_limit_in_layer_pct: 17.08
                          filter:
                            limits__total_limit:
                              gt: 5000000
                          links:
                            summary: >-
                              https://api.sovfixer.com/api/v1/sov/s-e-c2qahx/summary?limits__total_limit[gt]=5000000&layer_attach=5000000&layer_limit=5000000
                            locations: >-
                              https://api.sovfixer.com/api/v1/sov/s-e-c2qahx/locations?limits__total_limit[gt]=5000000&layer_attach=5000000&layer_limit=5000000
                        - key: x15_10
                          label: $15M xs $10M
                          attach: 10000000
                          layer_limit: 15000000
                          count: 9
                          limits__total_limit_in_layer: 61750000
                          limits__total_limit_in_layer_pct: 12.8
                          filter:
                            limits__total_limit:
                              gt: 10000000
                          links:
                            summary: >-
                              https://api.sovfixer.com/api/v1/sov/s-e-c2qahx/summary?limits__total_limit[gt]=10000000&layer_attach=10000000&layer_limit=15000000
                            locations: >-
                              https://api.sovfixer.com/api/v1/sov/s-e-c2qahx/locations?limits__total_limit[gt]=10000000&layer_attach=10000000&layer_limit=15000000
                        - key: x25_25
                          label: $25M xs $25M
                          attach: 25000000
                          layer_limit: 25000000
                          count: 2
                          limits__total_limit_in_layer: 37000000
                          limits__total_limit_in_layer_pct: 7.67
                          filter:
                            limits__total_limit:
                              gt: 25000000
                          links:
                            summary: >-
                              https://api.sovfixer.com/api/v1/sov/s-e-c2qahx/summary?limits__total_limit[gt]=25000000&layer_attach=25000000&layer_limit=25000000
                            locations: >-
                              https://api.sovfixer.com/api/v1/sov/s-e-c2qahx/locations?limits__total_limit[gt]=25000000&layer_attach=25000000&layer_limit=25000000
                        - key: x50_50
                          label: $50M xs $50M
                          attach: 50000000
                          layer_limit: 50000000
                          count: 0
                          limits__total_limit_in_layer: 0
                          limits__total_limit_in_layer_pct: 0
                          filter:
                            limits__total_limit:
                              gt: 50000000
                          links:
                            summary: >-
                              https://api.sovfixer.com/api/v1/sov/s-e-c2qahx/summary?limits__total_limit[gt]=50000000&layer_attach=50000000&layer_limit=50000000
                            locations: >-
                              https://api.sovfixer.com/api/v1/sov/s-e-c2qahx/locations?limits__total_limit[gt]=50000000&layer_attach=50000000&layer_limit=50000000
                        - key: x100_100
                          label: $100M xs $100M
                          attach: 100000000
                          layer_limit: 100000000
                          count: 0
                          limits__total_limit_in_layer: 0
                          limits__total_limit_in_layer_pct: 0
                          filter:
                            limits__total_limit:
                              gt: 100000000
                          links:
                            summary: >-
                              https://api.sovfixer.com/api/v1/sov/s-e-c2qahx/summary?limits__total_limit[gt]=100000000&layer_attach=100000000&layer_limit=100000000
                            locations: >-
                              https://api.sovfixer.com/api/v1/sov/s-e-c2qahx/locations?limits__total_limit[gt]=100000000&layer_attach=100000000&layer_limit=100000000
                        - key: x200_plus
                          label: Excess $200M
                          attach: 200000000
                          layer_limit: null
                          count: 0
                          limits__total_limit_in_layer: 0
                          limits__total_limit_in_layer_pct: 0
                          filter:
                            limits__total_limit:
                              gt: 200000000
                          links:
                            summary: >-
                              https://api.sovfixer.com/api/v1/sov/s-e-c2qahx/summary?limits__total_limit[gt]=200000000&layer_attach=200000000
                            locations: >-
                              https://api.sovfixer.com/api/v1/sov/s-e-c2qahx/locations?limits__total_limit[gt]=200000000&layer_attach=200000000
                  summary: Coastal policy report
          description: Exposure report for the matching locations.
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SOVAnalyticsNotReady'
          description: Analytics for this SOV are still being built. Retry later.
        '400':
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  type: array
                  items:
                    type: string
                description: Error messages keyed by query parameter name.
          description: A query parameter is invalid or unknown.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SOVAnalyticsError'
          description: Credentials are missing or invalid.
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SOVAnalyticsError'
          description: The SOV or portfolio does not exist, or the caller cannot view it.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SOVAnalyticsError'
          description: >-
            `id` is a pingid that matches no submission or whose submission has
            no SOV yet, or no analytics exist for the SOV yet. Requesting its
            `summary` starts building them.
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SOVAnalyticsError'
          description: Analytics for this SOV failed to build.
      security:
        - tokenAuth: []
        - cookieAuth: []
components:
  schemas:
    SOVAnalyticsFiltersRequest:
      type: object
      description: >-
        Location filters. Each key is a field: give a value for an exact match,
        or an object of operators.
      additionalProperties: false
      properties:
        bounding_polygon:
          type: string
          description: >-
            Polygon enclosing the locations to include, as comma-separated
            points `lat1,lng1,lat2,lng2,...`. 3 to 100 points; the ring closes
            automatically.
        cape_roof_condition_score:
          type: array
          items:
            type: string
          description: >-
            CAPE Analytics roof condition ratings to include, e.g. `-1` (poor)
            or `-2` (severe).
        cfld_alrb_score_catg:
          type: array
          items:
            type: string
          description: >-
            National Risk Index coastal flooding annualized loss rate categories
            to include, e.g. `High`.
        const__bldg_area:
          description: >-
            Building area in square feet. `N/A` selects locations without one.
            Operators: `gte`, `gt`, `lte`, `lt`, `lte_or_null`.
          anyOf:
            - type: string
              description: >-
                Building area in square feet. `N/A` selects locations without
                one.
            - type: object
              title: operators
              additionalProperties: false
              properties:
                gt:
                  type: integer
                  description: Minimum, exclusive.
                gte:
                  type: integer
                  description: Minimum, inclusive.
                lt:
                  type: integer
                  description: Maximum, exclusive.
                lte:
                  type: integer
                  description: Maximum, inclusive.
                lte_or_null:
                  type: integer
                  description: Maximum, inclusive; also matches missing values.
        const__bldg_year_built:
          description: >-
            Year built. `N/A` selects locations without one. Operators: `gte`,
            `gt`, `lte`, `lt`, `lte_or_null`, `bins`.
          anyOf:
            - type: string
              description: Year built. `N/A` selects locations without one.
            - type: object
              title: operators
              additionalProperties: false
              properties:
                bins:
                  type: array
                  items:
                    enum:
                      - Pre-1972
                      - 1972 - 1994
                      - 1995 - 2001
                      - 2001+
                    type: string
                    description: |-
                      * `Pre-1972` - Pre-1972
                      * `1972 - 1994` - 1972 - 1994
                      * `1995 - 2001` - 1995 - 2001
                      * `2001+` - 2001+
                    x-spec-enum-id: 12abda2246940686
                  description: >-
                    Includes these bins: `Pre-1972`, `1972 - 1994`, `1995 -
                    2001`, `2001+`.
                gt:
                  type: integer
                  description: Minimum, exclusive.
                gte:
                  type: integer
                  description: Minimum, inclusive.
                lt:
                  type: integer
                  description: Maximum, exclusive.
                lte:
                  type: integer
                  description: Maximum, inclusive.
                lte_or_null:
                  type: integer
                  description: Maximum, inclusive; also matches missing values.
        const__code_air:
          type: array
          items:
            type: integer
          description: AIR construction codes to include.
        const__code_iso:
          type: array
          items:
            type: string
          description: ISO construction classes to include.
        const__code_rms:
          type: array
          items:
            type: string
          description: RMS construction codes to include.
        const__iso_protection_class:
          description: >-
            ISO protection class. `N/A` selects locations without one.
            Operators: `gt`.
          anyOf:
            - type: string
              description: ISO protection class. `N/A` selects locations without one.
            - type: object
              title: operators
              additionalProperties: false
              properties:
                gt:
                  type: integer
                  description: Minimum, exclusive.
        const__num_stories:
          description: >-
            Number of stories. `N/A` selects locations without one. Operators:
            `gte`, `gt`, `lte`, `lt`.
          anyOf:
            - type: string
              description: Number of stories. `N/A` selects locations without one.
            - type: object
              title: operators
              additionalProperties: false
              properties:
                gt:
                  type: integer
                  description: Minimum, exclusive.
                gte:
                  type: integer
                  description: Minimum, inclusive.
                lt:
                  type: integer
                  description: Maximum, exclusive.
                lte:
                  type: integer
                  description: Maximum, inclusive.
        const__roof_year_updated:
          description: 'Roof year updated. Operators: `lte_or_null`.'
          anyOf:
            - type: string
              description: Roof year updated.
            - type: object
              title: operators
              additionalProperties: false
              properties:
                lte_or_null:
                  type: integer
                  description: Maximum, inclusive; also matches missing values.
        const_code_pcg:
          description: >-
            Ping construction classes to include, e.g. `WF`, `JM`, `RC`. `N/A`
            selects locations without one. Operators: `not_in`.
          anyOf:
            - type: array
              items:
                type: string
              description: >-
                Ping construction classes to include, e.g. `WF`, `JM`, `RC`.
                `N/A` selects locations without one.
            - type: object
              title: operators
              additionalProperties: false
              properties:
                not_in:
                  type: array
                  items:
                    type: string
                  description: Excludes these values.
        country:
          description: 'Country codes to include, e.g. `US`. Operators: `not_in`.'
          anyOf:
            - type: array
              items:
                type: string
              description: Country codes to include, e.g. `US`.
            - type: object
              title: operators
              additionalProperties: false
              properties:
                not_in:
                  type: array
                  items:
                    type: string
                  description: Excludes these values.
        county:
          description: 'County names to include, e.g. `Harris`. Operators: `not_in`.'
          anyOf:
            - type: array
              items:
                type: string
              description: County names to include, e.g. `Harris`.
            - type: object
              title: operators
              additionalProperties: false
              properties:
                not_in:
                  type: array
                  items:
                    type: string
                  description: Excludes these values.
        distance_to_coast_miles:
          description: >-
            Distance to the coast, in miles. Operators: `gt`, `gte`, `lt`,
            `lte`, `gt_or_null`, `gte_or_null`, `lt_or_null`, `lte_or_null`.
          anyOf:
            - type: number
              format: double
              minimum: 0
              description: Distance to the coast, in miles.
            - type: object
              title: operators
              additionalProperties: false
              properties:
                gt:
                  type: number
                  format: double
                  description: Minimum, exclusive.
                gt_or_null:
                  type: number
                  format: double
                  description: Minimum, exclusive; also matches missing values.
                gte:
                  type: number
                  format: double
                  description: Minimum, inclusive.
                gte_or_null:
                  type: number
                  format: double
                  description: Minimum, inclusive; also matches missing values.
                lt:
                  type: number
                  format: double
                  description: Maximum, exclusive.
                lt_or_null:
                  type: number
                  format: double
                  description: Maximum, exclusive; also matches missing values.
                lte:
                  type: number
                  format: double
                  description: Maximum, inclusive.
                lte_or_null:
                  type: number
                  format: double
                  description: Maximum, inclusive; also matches missing values.
        eq_zone:
          type: array
          items:
            type: string
          description: >-
            Earthquake zones to include: `CA`, `PacNW`, `New Madrid`, `HI` or
            `AK`.
        fema_flood_zone:
          description: >-
            FEMA flood zone, e.g. `AE`. `N/A` selects locations without one.
            Operators: `bins`.
          anyOf:
            - type: string
              description: FEMA flood zone, e.g. `AE`. `N/A` selects locations without one.
            - type: object
              title: operators
              additionalProperties: false
              properties:
                bins:
                  type: array
                  items:
                    enum:
                      - SFHA
                      - Non-SFHA
                    type: string
                    description: |-
                      * `SFHA` - SFHA
                      * `Non-SFHA` - Non-SFHA
                    x-spec-enum-id: 96b50cfc0de3290d
                  description: 'Includes these bins: `SFHA`, `Non-SFHA`.'
        hail_alrb_score_catg:
          type: array
          items:
            type: string
          description: >-
            National Risk Index hail annualized loss rate categories to include,
            e.g. `High`.
        hail_riskr:
          type: array
          items:
            type: string
          description: National Risk Index hail risk ratings to include, e.g. `Very High`.
        lat1:
          type: number
          format: double
          maximum: 90
          minimum: -90
          description: >-
            North latitude of the bounding box. Supply with `lat2`, `lng1` and
            `lng2`.
        lat2:
          type: number
          format: double
          maximum: 90
          minimum: -90
          description: South latitude of the bounding box.
        limits__total_limit:
          description: >-
            Location TIV: `limits__total_limit`, the sum of the building, BPP,
            BI and signs-and-other limits. Operators: `gte`, `gt`, `lte`, `lt`.
          anyOf:
            - type: integer
              description: >-
                Location TIV: `limits__total_limit`, the sum of the building,
                BPP, BI and signs-and-other limits.
            - type: object
              title: operators
              additionalProperties: false
              properties:
                gt:
                  type: integer
                  description: Minimum, exclusive.
                gte:
                  type: integer
                  description: Minimum, inclusive.
                lt:
                  type: integer
                  description: Maximum, exclusive.
                lte:
                  type: integer
                  description: Maximum, inclusive.
        lng1:
          type: number
          format: double
          maximum: 180
          minimum: -180
          description: >-
            West longitude of the bounding box. A value greater than `lng2`
            crosses the antimeridian.
        lng2:
          type: number
          format: double
          maximum: 180
          minimum: -180
          description: East longitude of the bounding box.
        occupancy__code_air:
          type: array
          items:
            type: integer
          description: AIR occupancy codes to include.
        occupancy__code_atc:
          type: array
          items:
            type: string
          description: ATC occupancy codes to include.
        occupancy__desc_air:
          description: >-
            AIR occupancy descriptions to include. `N/A` selects locations
            without one. Operators: `not_in`.
          anyOf:
            - type: array
              items:
                type: string
              description: >-
                AIR occupancy descriptions to include. `N/A` selects locations
                without one.
            - type: object
              title: operators
              additionalProperties: false
              properties:
                not_in:
                  type: array
                  items:
                    type: string
                  description: Excludes these values.
        occupancy__desc_atc:
          description: >-
            ATC occupancy descriptions to include. `N/A` selects locations
            without one. Operators: `not_in`.
          anyOf:
            - type: array
              items:
                type: string
              description: >-
                ATC occupancy descriptions to include. `N/A` selects locations
                without one.
            - type: object
              title: operators
              additionalProperties: false
              properties:
                not_in:
                  type: array
                  items:
                    type: string
                  description: Excludes these values.
        ping_geo__match_level:
          description: >-
            Geocode match levels to include, e.g. `point`. `N/A` selects
            locations without a geocode. Operators: `not_in`.
          anyOf:
            - type: array
              items:
                type: string
              description: >-
                Geocode match levels to include, e.g. `point`. `N/A` selects
                locations without a geocode.
            - type: object
              title: operators
              additionalProperties: false
              properties:
                not_in:
                  type: array
                  items:
                    type: string
                  description: Excludes these values.
        protect__pct_sprinklered:
          type: array
          items:
            enum:
              - 100%
              - Partial
              - 0%
              - N/A
            type: string
            description: |-
              * `100%` - 100%
              * `Partial` - Partial
              * `0%` - 0%
              * `N/A` - N/A
            x-spec-enum-id: 559519371c31f809
          description: >-
            Sprinkler coverages to include: `0%`, `Partial` (above 0% and below
            100%), `100%`, or `N/A` (unknown, or outside 0% to 100%).
        scs_roof_age:
          type: array
          items:
            type: string
          description: >-
            Roof age cutoff year: selects locations whose roof was last updated
            before it (or, without a roof year, built before it) and locations
            with neither year.
        slosh_zone:
          type: array
          items:
            type: integer
          description: SLOSH storm surge hurricane categories (1-5) to include.
        state:
          description: 'State or province codes to include, e.g. `TX`. Operators: `not_in`.'
          anyOf:
            - type: array
              items:
                type: string
              description: State or province codes to include, e.g. `TX`.
            - type: object
              title: operators
              additionalProperties: false
              properties:
                not_in:
                  type: array
                  items:
                    type: string
                  description: Excludes these values.
        total_crime_grade:
          type: array
          items:
            type: string
          description: Crime grades to include, `A` (minimal) to `F` (high).
        trnd_alrb_score_catg:
          type: array
          items:
            type: string
          description: >-
            National Risk Index tornado annualized loss rate categories to
            include, e.g. `High`.
        trnd_riskr:
          type: array
          items:
            type: string
          description: >-
            National Risk Index tornado risk ratings to include, e.g. `Very
            High`.
        wfir_alrb_score_catg:
          type: array
          items:
            type: string
          description: >-
            National Risk Index wildfire annualized loss rate categories to
            include, e.g. `High`.
        wfir_riskr:
          type: array
          items:
            type: string
          description: >-
            National Risk Index wildfire risk ratings to include, e.g. `Very
            High`.
        wind_tier:
          type: array
          items:
            type: string
          description: >-
            Hurricane wind tiers to include: `Tier 1`, `Tier 2`, `Tri-County`,
            `All Other FL` or `Harris County, TX`.
    SOVExposureReportResponse:
      type: object
      properties:
        breakdowns:
          type: array
          items:
            $ref: '#/components/schemas/SOVReportTotalGroup'
          description: >-
            `limits__total_limit` by country, state and county, largest first,
            with keys `country`, `state` and `county`.
        kind:
          enum:
            - policy
            - portfolio
          type: string
          x-spec-enum-id: 8275569622eb614f
          description: |-
            Whether `sovid` is a policy or portfolio.

            * `policy` - policy
            * `portfolio` - portfolio
        layers:
          allOf:
            - $ref: '#/components/schemas/SOVLayerAnalysisResponse'
          description: Layer analysis for the `standard` tower.
        params:
          allOf:
            - $ref: '#/components/schemas/SOVExposureReportParams'
          description: Echo of the parameters the report was built with.
        sections:
          type: array
          items:
            $ref: '#/components/schemas/SOVReportSection'
          description: Report sections, in display order.
        sovid:
          type: string
          description: SOV id, or portfolio id when `kind` is `portfolio`.
        totals:
          allOf:
            - $ref: '#/components/schemas/SOVAnalyticsTotals'
          description: Totals over the matching locations.
      required:
        - breakdowns
        - kind
        - layers
        - params
        - sections
        - sovid
        - totals
    SOVAnalyticsNotReady:
      type: object
      properties:
        pct_complete:
          type: integer
          description: Build progress, 0-100.
        status:
          enum:
            - NOT_INITIALIZED
            - INITIALIZING
          type: string
          x-spec-enum-id: ac0132187203409c
          description: |-
            Analytics build status.

            * `NOT_INITIALIZED` - NOT_INITIALIZED
            * `INITIALIZING` - INITIALIZING
      required:
        - pct_complete
        - status
    SOVAnalyticsError:
      type: object
      properties:
        detail:
          type: string
          description: Error message.
      required:
        - detail
    SOVReportTotalGroup:
      type: object
      properties:
        key:
          type: string
          description: Stable group identifier.
        rows:
          type: array
          items:
            $ref: '#/components/schemas/SOVReportRow'
          description: Rows, in display order.
        title:
          type: string
          description: Display title.
        type:
          enum:
            - total
          type: string
          x-spec-enum-id: 1af56d8066b699d0
          description: >-
            `total`: each row reports the `limits__total_limit` of its
            locations.


            * `total` - total
      required:
        - key
        - rows
        - title
        - type
    SOVLayerAnalysisResponse:
      type: object
      properties:
        basis:
          enum:
            - per_location
          type: string
          x-spec-enum-id: 959c6deefffb2365
          description: >-
            `per_location`: each layer applies to every location's
            `limits__total_limit` separately, not to the aggregate.


            * `per_location` - per_location
        rows:
          type: array
          items:
            $ref: '#/components/schemas/SOVLayerRow'
          description: One row per layer, in tower order.
        tower:
          enum:
            - standard
            - custom
          type: string
          x-spec-enum-id: cba79c7f6d4b1734
          description: >-
            `standard` for the preset tower, `custom` when `layers` was
            supplied.


            * `standard` - standard

            * `custom` - custom
      required:
        - basis
        - rows
        - tower
    SOVExposureReportParams:
      type: object
      properties:
        breakdown_limit:
          type: integer
          description: Applied `breakdown_limit`.
        exposure_analysis_limits__total_limit__gte:
          type: number
          description: Applied `exposure_analysis_limits__total_limit__gte`.
        filter:
          allOf:
            - $ref: '#/components/schemas/SOVAnalyticsFilters'
          description: Filters applied, in the shape of the `filters` query parameter.
        occupancy_scheme:
          enum:
            - simplified
            - air
            - atc
            - null
          type: string
          x-spec-enum-id: ae0e505264236ce8
          nullable: true
          description: >-
            Occupancy scheme used by the COPE section. Null when the SOV has no
            occupancy data.


            * `simplified` - simplified

            * `air` - air

            * `atc` - atc
      required:
        - breakdown_limit
        - exposure_analysis_limits__total_limit__gte
        - filter
        - occupancy_scheme
    SOVReportSection:
      type: object
      properties:
        groups:
          type: array
          items:
            $ref: '#/components/schemas/SOVReportGroup'
          description: >-
            Row groups, in display order. `type` tells what the rows report: a
            total (`total`) or a rate per square foot (`dollar_per_sqft`).
        key:
          type: string
          description: Stable section identifier.
        title:
          type: string
          description: Display title.
      required:
        - groups
        - key
        - title
    SOVAnalyticsTotals:
      type: object
      properties:
        bbox:
          allOf:
            - $ref: '#/components/schemas/Bounds'
          nullable: true
          description: >-
            Bounding box of the geocoded matching locations. Null when none are
            geocoded.
        count:
          type: integer
          description: Number of matching locations.
        geocoded_count:
          type: integer
          description: Number of matching locations geocoded to a point.
        limits__bi_limit:
          type: number
          description: Sum of `limits__bi_limit` over the matching locations.
        limits__bpp_limit:
          type: number
          description: Sum of `limits__bpp_limit` over the matching locations.
        limits__building_limit:
          type: number
          description: Sum of `limits__building_limit` over the matching locations.
        limits__signs_and_other_limit:
          type: number
          description: Sum of `limits__signs_and_other_limit` over the matching locations.
        limits__total_limit:
          type: number
          description: Sum of `limits__total_limit` (TIV) over the matching locations.
        limits__total_limit_geocoded:
          type: number
          description: >-
            Sum of `limits__total_limit` over the matching locations geocoded to
            a point.
        limits__total_limit_in_layer:
          type: number
          description: >-
            Sum over the matching locations of each location's
            `limits__total_limit` within the layer set by `layer_attach` and
            `layer_limit`: min(max(limits__total_limit - layer_attach, 0),
            layer_limit). Equals `limits__total_limit` when no layer is
            requested.
        limits__total_limit_nongeocoded:
          type: number
          description: >-
            Sum of `limits__total_limit` over the matching locations not
            geocoded to a point.
      required:
        - bbox
        - count
        - geocoded_count
        - limits__bi_limit
        - limits__bpp_limit
        - limits__building_limit
        - limits__signs_and_other_limit
        - limits__total_limit
        - limits__total_limit_geocoded
        - limits__total_limit_in_layer
        - limits__total_limit_nongeocoded
    SOVReportRow:
      type: object
      properties:
        count:
          type: integer
          description: Number of locations in the row.
        description:
          type: string
          nullable: true
          description: Explanation of the row. Null when none.
        filter:
          allOf:
            - $ref: '#/components/schemas/SOVAnalyticsFilters'
          nullable: true
          description: >-
            Filters selecting this row's locations, including the request's own,
            in the shape of the `filters` query parameter. `links` holds them as
            ready-made URLs. Null, like `links`, when no location can meet both
            the row's condition and the request's filters, or when no single
            query expresses both, e.g. several separate `bins` bands combined
            with a range.
        key:
          type: string
          description: Stable row identifier, unique within its group.
        label:
          type: string
          description: Display label.
        limits__total_limit:
          type: number
          description: Sum of `limits__total_limit` over the locations in the row.
        limits__total_limit_pct:
          type: number
          description: >-
            `limits__total_limit` as a percentage (0-100) of
            `totals.limits__total_limit`.
        links:
          allOf:
            - $ref: '#/components/schemas/SOVAnalyticsLinks'
          nullable: true
          description: Drilldown URLs for the row's locations.
      required:
        - count
        - description
        - filter
        - key
        - label
        - limits__total_limit
        - limits__total_limit_pct
        - links
    SOVLayerRow:
      type: object
      properties:
        attach:
          type: number
          description: Attachment point.
        count:
          type: integer
          description: Number of locations whose `limits__total_limit` exceeds `attach`.
        filter:
          allOf:
            - $ref: '#/components/schemas/SOVAnalyticsFilters'
          description: >-
            Filters selecting the locations that reach the layer, including the
            request's own, in the shape of the `filters` query parameter.
        key:
          type: string
          description: Stable layer identifier, unique within the tower.
        label:
          type: string
          description: Display label, e.g. `$5M xs $5M`.
        layer_limit:
          type: number
          nullable: true
          description: Layer limit. Null for a layer with no upper limit.
        limits__total_limit_in_layer:
          type: number
          description: Sum of each location's `limits__total_limit` within the layer.
        limits__total_limit_in_layer_pct:
          type: number
          description: >-
            `limits__total_limit_in_layer` as a percentage (0-100) of the total
            `limits__total_limit`.
        links:
          allOf:
            - $ref: '#/components/schemas/SOVAnalyticsLinks'
          description: >-
            Drilldown URLs for the layer's locations. They also set
            `layer_attach` and `layer_limit` to the layer.
      required:
        - attach
        - count
        - filter
        - key
        - label
        - layer_limit
        - limits__total_limit_in_layer
        - limits__total_limit_in_layer_pct
        - links
    SOVAnalyticsFilters:
      type: object
      description: >-
        Location filters. Each key is a field: give a value for an exact match,
        or an object of operators.
      additionalProperties: false
      properties:
        bounding_polygon:
          type: string
          description: >-
            Polygon enclosing the locations to include, as comma-separated
            points `lat1,lng1,lat2,lng2,...`. 3 to 100 points; the ring closes
            automatically.
        cape_roof_condition_score:
          type: array
          items:
            type: string
          description: >-
            CAPE Analytics roof condition ratings to include, e.g. `-1` (poor)
            or `-2` (severe).
        cfld_alrb_score_catg:
          type: array
          items:
            type: string
          description: >-
            National Risk Index coastal flooding annualized loss rate categories
            to include, e.g. `High`.
        const__bldg_area:
          description: >-
            Building area in square feet. `N/A` selects locations without one.
            Operators: `gte`, `gt`, `lte`, `lt`, `lte_or_null`.
          anyOf:
            - type: string
              description: >-
                Building area in square feet. `N/A` selects locations without
                one.
            - type: object
              title: operators
              additionalProperties: false
              properties:
                gt:
                  type: integer
                  description: Minimum, exclusive.
                gte:
                  type: integer
                  description: Minimum, inclusive.
                lt:
                  type: integer
                  description: Maximum, exclusive.
                lte:
                  type: integer
                  description: Maximum, inclusive.
                lte_or_null:
                  type: integer
                  description: Maximum, inclusive; also matches missing values.
        const__bldg_year_built:
          description: >-
            Year built. `N/A` selects locations without one. Operators: `gte`,
            `gt`, `lte`, `lt`, `lte_or_null`, `bins`.
          anyOf:
            - type: string
              description: Year built. `N/A` selects locations without one.
            - type: object
              title: operators
              additionalProperties: false
              properties:
                bins:
                  type: array
                  items:
                    enum:
                      - Pre-1972
                      - 1972 - 1994
                      - 1995 - 2001
                      - 2001+
                    type: string
                    description: |-
                      * `Pre-1972` - Pre-1972
                      * `1972 - 1994` - 1972 - 1994
                      * `1995 - 2001` - 1995 - 2001
                      * `2001+` - 2001+
                    x-spec-enum-id: 12abda2246940686
                  description: >-
                    Includes these bins: `Pre-1972`, `1972 - 1994`, `1995 -
                    2001`, `2001+`.
                gt:
                  type: integer
                  description: Minimum, exclusive.
                gte:
                  type: integer
                  description: Minimum, inclusive.
                lt:
                  type: integer
                  description: Maximum, exclusive.
                lte:
                  type: integer
                  description: Maximum, inclusive.
                lte_or_null:
                  type: integer
                  description: Maximum, inclusive; also matches missing values.
        const__code_air:
          type: array
          items:
            type: integer
          description: AIR construction codes to include.
        const__code_iso:
          type: array
          items:
            type: string
          description: ISO construction classes to include.
        const__code_rms:
          type: array
          items:
            type: string
          description: RMS construction codes to include.
        const__iso_protection_class:
          description: >-
            ISO protection class. `N/A` selects locations without one.
            Operators: `gt`.
          anyOf:
            - type: string
              description: ISO protection class. `N/A` selects locations without one.
            - type: object
              title: operators
              additionalProperties: false
              properties:
                gt:
                  type: integer
                  description: Minimum, exclusive.
        const__num_stories:
          description: >-
            Number of stories. `N/A` selects locations without one. Operators:
            `gte`, `gt`, `lte`, `lt`.
          anyOf:
            - type: string
              description: Number of stories. `N/A` selects locations without one.
            - type: object
              title: operators
              additionalProperties: false
              properties:
                gt:
                  type: integer
                  description: Minimum, exclusive.
                gte:
                  type: integer
                  description: Minimum, inclusive.
                lt:
                  type: integer
                  description: Maximum, exclusive.
                lte:
                  type: integer
                  description: Maximum, inclusive.
        const__roof_year_updated:
          description: 'Roof year updated. Operators: `lte_or_null`.'
          anyOf:
            - type: string
              description: Roof year updated.
            - type: object
              title: operators
              additionalProperties: false
              properties:
                lte_or_null:
                  type: integer
                  description: Maximum, inclusive; also matches missing values.
        const_code_pcg:
          description: >-
            Ping construction classes to include, e.g. `WF`, `JM`, `RC`. `N/A`
            selects locations without one. Operators: `not_in`.
          anyOf:
            - type: array
              items:
                type: string
              description: >-
                Ping construction classes to include, e.g. `WF`, `JM`, `RC`.
                `N/A` selects locations without one.
            - type: object
              title: operators
              additionalProperties: false
              properties:
                not_in:
                  type: array
                  items:
                    type: string
                  description: Excludes these values.
        country:
          description: 'Country codes to include, e.g. `US`. Operators: `not_in`.'
          anyOf:
            - type: array
              items:
                type: string
              description: Country codes to include, e.g. `US`.
            - type: object
              title: operators
              additionalProperties: false
              properties:
                not_in:
                  type: array
                  items:
                    type: string
                  description: Excludes these values.
        county:
          description: 'County names to include, e.g. `Harris`. Operators: `not_in`.'
          anyOf:
            - type: array
              items:
                type: string
              description: County names to include, e.g. `Harris`.
            - type: object
              title: operators
              additionalProperties: false
              properties:
                not_in:
                  type: array
                  items:
                    type: string
                  description: Excludes these values.
        distance_to_coast_miles:
          description: >-
            Distance to the coast, in miles. Operators: `gt`, `gte`, `lt`,
            `lte`, `gt_or_null`, `gte_or_null`, `lt_or_null`, `lte_or_null`.
          anyOf:
            - type: number
              format: double
              minimum: 0
              description: Distance to the coast, in miles.
            - type: object
              title: operators
              additionalProperties: false
              properties:
                gt:
                  type: number
                  format: double
                  description: Minimum, exclusive.
                gt_or_null:
                  type: number
                  format: double
                  description: Minimum, exclusive; also matches missing values.
                gte:
                  type: number
                  format: double
                  description: Minimum, inclusive.
                gte_or_null:
                  type: number
                  format: double
                  description: Minimum, inclusive; also matches missing values.
                lt:
                  type: number
                  format: double
                  description: Maximum, exclusive.
                lt_or_null:
                  type: number
                  format: double
                  description: Maximum, exclusive; also matches missing values.
                lte:
                  type: number
                  format: double
                  description: Maximum, inclusive.
                lte_or_null:
                  type: number
                  format: double
                  description: Maximum, inclusive; also matches missing values.
        eq_zone:
          type: array
          items:
            type: string
          description: >-
            Earthquake zones to include: `CA`, `PacNW`, `New Madrid`, `HI` or
            `AK`.
        fema_flood_zone:
          description: >-
            FEMA flood zone, e.g. `AE`. `N/A` selects locations without one.
            Operators: `bins`.
          anyOf:
            - type: string
              description: FEMA flood zone, e.g. `AE`. `N/A` selects locations without one.
            - type: object
              title: operators
              additionalProperties: false
              properties:
                bins:
                  type: array
                  items:
                    enum:
                      - SFHA
                      - Non-SFHA
                    type: string
                    description: |-
                      * `SFHA` - SFHA
                      * `Non-SFHA` - Non-SFHA
                    x-spec-enum-id: 96b50cfc0de3290d
                  description: 'Includes these bins: `SFHA`, `Non-SFHA`.'
        hail_alrb_score_catg:
          type: array
          items:
            type: string
          description: >-
            National Risk Index hail annualized loss rate categories to include,
            e.g. `High`.
        hail_riskr:
          type: array
          items:
            type: string
          description: National Risk Index hail risk ratings to include, e.g. `Very High`.
        lat1:
          type: number
          format: double
          maximum: 90
          minimum: -90
          description: >-
            North latitude of the bounding box. Supply with `lat2`, `lng1` and
            `lng2`.
        lat2:
          type: number
          format: double
          maximum: 90
          minimum: -90
          description: South latitude of the bounding box.
        limits__total_limit:
          description: >-
            Location TIV: `limits__total_limit`, the sum of the building, BPP,
            BI and signs-and-other limits. Operators: `gte`, `gt`, `lte`, `lt`.
          anyOf:
            - type: integer
              description: >-
                Location TIV: `limits__total_limit`, the sum of the building,
                BPP, BI and signs-and-other limits.
            - type: object
              title: operators
              additionalProperties: false
              properties:
                gt:
                  type: integer
                  description: Minimum, exclusive.
                gte:
                  type: integer
                  description: Minimum, inclusive.
                lt:
                  type: integer
                  description: Maximum, exclusive.
                lte:
                  type: integer
                  description: Maximum, inclusive.
        lng1:
          type: number
          format: double
          maximum: 180
          minimum: -180
          description: >-
            West longitude of the bounding box. A value greater than `lng2`
            crosses the antimeridian.
        lng2:
          type: number
          format: double
          maximum: 180
          minimum: -180
          description: East longitude of the bounding box.
        occupancy__code_air:
          type: array
          items:
            type: integer
          description: AIR occupancy codes to include.
        occupancy__code_atc:
          type: array
          items:
            type: string
          description: ATC occupancy codes to include.
        occupancy__desc_air:
          description: >-
            AIR occupancy descriptions to include. `N/A` selects locations
            without one. Operators: `not_in`.
          anyOf:
            - type: array
              items:
                type: string
              description: >-
                AIR occupancy descriptions to include. `N/A` selects locations
                without one.
            - type: object
              title: operators
              additionalProperties: false
              properties:
                not_in:
                  type: array
                  items:
                    type: string
                  description: Excludes these values.
        occupancy__desc_atc:
          description: >-
            ATC occupancy descriptions to include. `N/A` selects locations
            without one. Operators: `not_in`.
          anyOf:
            - type: array
              items:
                type: string
              description: >-
                ATC occupancy descriptions to include. `N/A` selects locations
                without one.
            - type: object
              title: operators
              additionalProperties: false
              properties:
                not_in:
                  type: array
                  items:
                    type: string
                  description: Excludes these values.
        ping_geo__match_level:
          description: >-
            Geocode match levels to include, e.g. `point`. `N/A` selects
            locations without a geocode. Operators: `not_in`.
          anyOf:
            - type: array
              items:
                type: string
              description: >-
                Geocode match levels to include, e.g. `point`. `N/A` selects
                locations without a geocode.
            - type: object
              title: operators
              additionalProperties: false
              properties:
                not_in:
                  type: array
                  items:
                    type: string
                  description: Excludes these values.
        protect__pct_sprinklered:
          type: array
          items:
            enum:
              - 100%
              - Partial
              - 0%
              - N/A
            type: string
            description: |-
              * `100%` - 100%
              * `Partial` - Partial
              * `0%` - 0%
              * `N/A` - N/A
            x-spec-enum-id: 559519371c31f809
          description: >-
            Sprinkler coverages to include: `0%`, `Partial` (above 0% and below
            100%), `100%`, or `N/A` (unknown, or outside 0% to 100%).
        scs_roof_age:
          type: array
          items:
            type: string
          description: >-
            Roof age cutoff year: selects locations whose roof was last updated
            before it (or, without a roof year, built before it) and locations
            with neither year.
        slosh_zone:
          type: array
          items:
            type: integer
          description: SLOSH storm surge hurricane categories (1-5) to include.
        state:
          description: 'State or province codes to include, e.g. `TX`. Operators: `not_in`.'
          anyOf:
            - type: array
              items:
                type: string
              description: State or province codes to include, e.g. `TX`.
            - type: object
              title: operators
              additionalProperties: false
              properties:
                not_in:
                  type: array
                  items:
                    type: string
                  description: Excludes these values.
        total_crime_grade:
          type: array
          items:
            type: string
          description: Crime grades to include, `A` (minimal) to `F` (high).
        trnd_alrb_score_catg:
          type: array
          items:
            type: string
          description: >-
            National Risk Index tornado annualized loss rate categories to
            include, e.g. `High`.
        trnd_riskr:
          type: array
          items:
            type: string
          description: >-
            National Risk Index tornado risk ratings to include, e.g. `Very
            High`.
        wfir_alrb_score_catg:
          type: array
          items:
            type: string
          description: >-
            National Risk Index wildfire annualized loss rate categories to
            include, e.g. `High`.
        wfir_riskr:
          type: array
          items:
            type: string
          description: >-
            National Risk Index wildfire risk ratings to include, e.g. `Very
            High`.
        wind_tier:
          type: array
          items:
            type: string
          description: >-
            Hurricane wind tiers to include: `Tier 1`, `Tier 2`, `Tri-County`,
            `All Other FL` or `Harris County, TX`.
    SOVReportGroup:
      oneOf:
        - $ref: '#/components/schemas/SOVReportTotalGroup'
        - $ref: '#/components/schemas/SOVReportRateGroup'
      discriminator:
        propertyName: type
        mapping:
          total: '#/components/schemas/SOVReportTotalGroup'
          dollar_per_sqft: '#/components/schemas/SOVReportRateGroup'
    Bounds:
      type: object
      properties:
        lat1:
          type: number
          format: double
          description: North latitude.
        lat2:
          type: number
          format: double
          description: South latitude.
        lng1:
          type: number
          format: double
          description: West longitude.
        lng2:
          type: number
          format: double
          description: East longitude.
      required:
        - lat1
        - lat2
        - lng1
        - lng2
    SOVAnalyticsLinks:
      type: object
      properties:
        locations:
          type: string
          format: uri
          description: '`locations` URL listing this row''s locations.'
        summary:
          type: string
          format: uri
          description: '`summary` URL for this row''s locations.'
      required:
        - locations
        - summary
    SOVReportRateGroup:
      type: object
      properties:
        key:
          type: string
          description: Stable group identifier.
        rows:
          type: array
          items:
            $ref: '#/components/schemas/SOVReportRateRow'
          description: Rows, in display order.
        title:
          type: string
          description: Display title.
        type:
          enum:
            - dollar_per_sqft
          type: string
          x-spec-enum-id: 441bacb91808e43b
          description: >-
            `dollar_per_sqft`: each row reports a rate per square foot, not a
            total.


            * `dollar_per_sqft` - dollar_per_sqft
      required:
        - key
        - rows
        - title
        - type
    SOVReportRateRow:
      type: object
      properties:
        count:
          type: integer
          description: Number of locations in the row.
        filter:
          allOf:
            - $ref: '#/components/schemas/SOVAnalyticsFilters'
          nullable: true
          description: >-
            Filters selecting this row's locations, including the request's own,
            in the shape of the `filters` query parameter. `links` holds them as
            ready-made URLs. Null, like `links`, when no location can meet both
            the row's condition and the request's filters, or when no single
            query expresses both, e.g. several separate `bins` bands combined
            with a range.
        key:
          type: string
          description: Stable row identifier, unique within its group.
        label:
          type: string
          description: Display label.
        limits__building_limit_per_sqft:
          type: number
          description: >-
            Building limit per square foot: the summed `limits__building_limit`
            divided by the summed building area, over the row's locations that
            report a building area. 0 when none do.
        limits__building_limit_with_area_pct:
          type: number
          description: >-
            Share (0-100) of the row's `limits__building_limit` held by
            locations that report a building area, i.e. the coverage of
            `limits__building_limit_per_sqft`.
        links:
          allOf:
            - $ref: '#/components/schemas/SOVAnalyticsLinks'
          nullable: true
          description: Drilldown URLs for the row's locations.
      required:
        - count
        - filter
        - key
        - label
        - limits__building_limit_per_sqft
        - limits__building_limit_with_area_pct
        - links
  securitySchemes:
    tokenAuth:
      type: apiKey
      in: header
      name: Authorization
      description: Token-based authentication with required prefix "Token"
    cookieAuth:
      type: apiKey
      in: cookie
      name: sessionid

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.