- You have corrected or revised building attributes for an existing SOV and need regenerated outputs.
- You want to trigger a scrubber reoutput (
SCRUB) without re-uploading the original source file. - You need to refresh third-party data enrichments on a subset of buildings.
- You are building a pipeline that applies upstream data changes back to a processed SOV.
sovid from that
earlier job. If you need to parse a new SOV for the first time,
see Process an SOV instead.
0. Preamble
Set up authentication before starting the workflow. update_sov.py1. Initiate SOV Update Job
The first API call to make is Initiate SOV Update Job. This endpoint creates an update job tied to an existing SOV. Supply thesovid path parameter.
update_type is optional and defaults to API if omitted. Pass SCRUB to trigger a scrubber
reoutput. You can also pass an optional callback_url for webhook delivery and a client_ref
for your own records. Save the returned id. Every subsequent call in this workflow uses it.
The linked reference page enumerates all available update_type values.
POST /api/v1/sov/{sovid}/initiate_update
update_sov.py
2. Add Locations to SOV Update Job
The second API call to make is Add Locations to SOV Update Job. Upload a CSV containing the building attributes you want to update. Each row must identify the target building usingitem_key or both sheet_name and sheet_row_number. Call this endpoint
at least once before starting the job, and repeat it to upload locations in batches.
POST /api/v1/sov/update/{update_id}/add_locations
update_sov.py
3. Start SOV Update Job
The third API call to make is Start SOV Update Job. Once all locations are uploaded, start the job.extra_data is optional and defaults to an
empty object, but its values drive the output filename — pass fields like insured_name when
you have them. Specify the output formats you want generated. To see which output_formats
your organization can request, call
List Available Output Formats.
The job processes asynchronously, and the response confirms it has been queued.
POST /api/v1/sov/update/{update_id}/start
update_sov.py
4. Check SOV Update Status
The fourth API call to make is Check SOV Update Status. Poll this endpoint untilrequest.status is COMPLETE or FAILED. The result key is absent
from the response until the job completes. When complete, result.outputs lists the generated
files available for download.
GET /api/v1/sov/update/{update_id}
update_sov.py
result is absent until request.status reaches COMPLETE or FAILED. On failure,
result.status is one of FAILED_TO_READ, PARTIAL_PARSE, FAILED_TO_PARSE, or
FAILED_TO_PROCESS, and result.message describes the error.
Example response (failed):
5. Fetch Outputs
Download each file listed inresult.outputs.
Use the filename to name the saved file locally.
update_sov.py
Python Demo
A runnable script that initiates the update job, uploadscorrections.csv, starts processing,
polls for completion, and downloads each generated output. Set SOVFIXER_AUTH_TOKEN and place
corrections.csv in the working directory, then run with python update_sov.py.
Download Python Script here
|||
Download corrections.csv here
update_sov.py