Skip to main content
Below describes the flow of API calls that should be made in order to process a submission and retrieve results using the Ping.Vision API.

1. Create Submission

The first call to create the submission and trigger processing should be made to the Initiate Submission API. Upon making a successful request, Ping Vision will begin automated processing on any files uploaded. The response will contain an id field, which will be used for the next step.

2. Polling For Results

In order to retrieve the processing status of the submission created in step 1, you will need to poll the submission to retrieve the results. To do this, you will need to use the submission id to make an API call to the List Recent Submission Activity API, appending the id as a query parameter (for example, https://vision.pingintel.com/api/v1/submission?id=<id>&fields=all). This call will return all necessary information for evaluating the submission status, including the workflow_status_name, jobs, and automated_processing_failed keys. Use the automated_processing_failed key to determine whether the processing job has failed. Depending on the workflow, a successful response might look something like this:
...
"automated_processing_failed": false,
"workflow_status_name": "Waiting for scrubbing",
"jobs": [
    {
        "job_id": "4905aeec-52f4-11f0-9319-0242ac110005",
        "filenames": [
            "My Example SOV.xlsx"
        ],
        "job_type": "SOVFIXER",
        "created_time": "2025-06-27T01:15:59.909538Z",
        "updated_time": "2025-06-27T01:16:34.583897Z",
        "user_id": 56,
        "processing_status": "C",
        "processing_pct_complete": 100.0,
        "processing_last_message": "Processing complete.",
        "job_type_details": {
            "sovfixer_sovid": "s-ma-ping-333xxx",
            "sovfixer_result_status": null,
            "sovfixer_result_message": null
        },
        "sovid": "s-ma-ping-333xxx"
    }
]
...

3. Downloading Documents

Assuming a successful processing result was received from step 2, you can proceed to download the resulting output documents from the API. To do this, use the documents list object from the response in step 2. The documents list contains document objects associated with the submission. Use each document object’s document_type attribute to determine which documents you would like to download. For each document you choose to download, make a call to the document object’s url attribute, which leverages the Download Submission Document API.
Sample documents list object
...
      "documents": [
        {
          "actions": [
            "<string>"
          ],
          "archived_on": "2023-11-07T05:31:56Z",
          "archived_reason": "<string>",
          "created_time": "2023-11-07T05:31:56Z",
          "document_type": "<string>",
          "extension": "<string>",
          "filename": "<string>",
          "id": "<string>",
          "is_archived": true,
          "preview_url": "<string>",
          "url": "<string>"
        }
      ],
...