> ## 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.

# Generate a Ping.Location report (PDF)

> Requests a PDF report for a building. Only `sovid` is required — all other fields are optional.

Returns **202** when generation is queued. Poll `GET /api/v1/location/report` with `task_id` until `status` is `SUCCESS`, then download from `GET /api/v1/location/file/{filename}`.

Provide `layer` to include a risk overlay in the map (e.g. `ping-flood`). When `layer` is set, the map is captured via server-side browser rendering.



## OpenAPI

````yaml https://api-staging.sovfixer.com/api/schema/?format=json post /api/v1/location/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: []
paths:
  /api/v1/location/report:
    post:
      tags:
        - Ping.Location
      summary: Generate a Ping.Location report (PDF)
      description: >-
        Requests a PDF report for a building. Only `sovid` is required — all
        other fields are optional.


        Returns **202** when generation is queued. Poll `GET
        /api/v1/location/report` with `task_id` until `status` is `SUCCESS`,
        then download from `GET /api/v1/location/file/{filename}`.


        Provide `layer` to include a risk overlay in the map (e.g.
        `ping-flood`). When `layer` is set, the map is captured via server-side
        browser rendering.
      operationId: location_report_create
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LocationReportPublicRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/LocationReportPublicRequest'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/LocationReportPublicRequest'
        required: true
      responses:
        '202':
          description: Generation queued — poll with `task_id` and `document_id`
        '400':
          description: Invalid request body
        '403':
          description: Permission denied
        '404':
          description: Policy not found, or no location record exists for the policy
      security:
        - tokenAuth: []
components:
  schemas:
    LocationReportPublicRequest:
      type: object
      description: Schema-only serializer for external API documentation.
      properties:
        sovid:
          type: string
          minLength: 1
          description: Unique building identifier.
        highlight_bounds:
          allOf:
            - $ref: '#/components/schemas/MapBoundsRequest'
          nullable: true
          description: Optional region to highlight on the map, drawn as a rectangle.
        layer:
          type: string
          nullable: true
          minLength: 1
          description: >-
            Risk overlay layer. When provided, the map is captured via
            server-side browser rendering so the overlay is visible in the PDF.
            Supported values: ping-flood, ping-eq-zones, ping-slosh-1,
            ping-slosh-3, ping-slosh-4, ping-tier-combined, ping-usda-wildfire,
            crime-tract.
        map_bounds:
          allOf:
            - $ref: '#/components/schemas/MapBoundsRequest'
          description: >-
            Geographic bounds for the map image. When omitted, the backend
            infers bounds from the building's coordinates.
        map_type:
          enum:
            - satellite
            - roadmap
            - hybrid
            - terrain
          type: string
          x-spec-enum-id: ac68ea1ad1ebdc3c
          default: satellite
          description: |-
            Base map style.

            * `satellite` - satellite
            * `roadmap` - roadmap
            * `hybrid` - hybrid
            * `terrain` - terrain
      required:
        - sovid
    MapBoundsRequest:
      type: object
      properties:
        east:
          type: number
          format: double
        north:
          type: number
          format: double
        south:
          type: number
          format: double
        west:
          type: number
          format: double
      required:
        - east
        - north
        - south
        - west
  securitySchemes:
    tokenAuth:
      type: apiKey
      in: header
      name: Authorization
      description: Token-based authentication with required prefix "Token"

````