- You need an output format that was not requested at parse time. The original Start SOV Parsing Job call accepts an
output_formatslist. Any format you did not include there will not exist until you request it here. - You want to regenerate an existing output. Pass
overwrite_existingastrueto discard the cached file and produce a fresh one. - You want to fetch an output for a specific revision of the SOV. Pass
revisionto target a specific revision:0for the initial SOV, a positive integer for an intermediate revision, or-1(the default) for the latest.
- SOV ID — the ID of the parsed SOV (or SOV Update), returned by the original parsing job (e.g.,
s-no-ping-hggcsk). Pass this in the path of the POST. - Output request ID — a UUID returned in the POST response under
request.id(e.g.,9f4d8c10-3b7e-4a52-bd91-c823f15e4d76). Pass this in the path of the GET when polling.
immediately-done- prefix (for example, immediately-done-7b3c1a04-2d6e-4f95-bf18-a08e25c4d731). Treat the ID as opaque — use request.status to determine completion rather than parsing the prefix.
The sample Python script is available for download at the bottom of the page. Try filling in the blanks (e.g., {sovid}, {request_id}) to go through the workflow using cURL!
1. Request the SOV Output
The first API call to make is Get Or Create SOV Output. Supply the SOV ID in the path and the desiredoutput_format in the request body. If a matching output is already cached, the response returns request.status of COMPLETE and the result is available immediately — skip step 2 and go to step 3. Otherwise, the response returns a pending status and an id you will use to poll.
output_format accepts either lowercase or uppercase. If the supplied format is not enabled for your organization, the response is a 400 with a message listing the formats you may request. To discover the allowed values up front, call List Available Output Formats.
Set overwrite_existing to true to force regeneration even when a cached output exists. Set revision to select a specific SOV revision. -1 (the default) selects the latest revision and 0 selects the initial SOV. Revision is ignored when the path ID is a SUD ID.
E.g., https://api.sovfixer.com/api/v1/sov/s-no-ping-hggcsk/get_or_create_output
Example code:
get_or_create_output.py
Python output
Python output
2. Poll the SOV Output Request
The second API call to make is Get/Check SOV Output Result. Skip this step if step 1 already returnedCOMPLETE. Otherwise, pass the request.id from step 1 in the path and poll until request.status is COMPLETE or FAILED. When the status is COMPLETE, result contains label, output_format, scrubbed_filename, and url. When the status is FAILED, result.message contains a description of the error.
E.g., https://api.sovfixer.com/api/v1/sov/get_or_create_output/9f4d8c10-3b7e-4a52-bd91-c823f15e4d76
Example code:
get_or_create_output.py
Python output
3. Download the Output
Download the file directly from theresult.url returned by the completed request. Save the response body as binary. The URL serves the file in its native format (e.g., JSON, XLSX).
Example code:
get_or_create_output.py
Python output
Python Demo
Download Python Script hereget_or_create_sov_output.py