Core workflow - Precisely Data Integrity Suite

Data Integrity Suite APIs

Product
Data_Integrity
Spatial_Analytics
Data_Enrichment
geo_addressing_1
Services
Spatial Analytics
Data Enrichment
Geo Addressing
ft:title
Data Integrity Suite APIs
ft:locale
en-US
PublicationType
pt_developer
copyrightfirst
2023
copyrightlast
2026

The core workflow for using the Bulk Data Graph API includes Bulk Analysis API endpoints as well as the Bulk Data Graph endpoint. For additional information about bulk operations, including details about endpoints not listed here, see Bulk Analysis API.

The workflow is:

  1. Generate a presigned URL for uploading the input file:
    • Call endpoint: Generate Upload URL
      POST hostname/v1/li/files/upload-url
      The file name is provided in the request body. The URL is valid for 10 minutes.
    • Request example:
      { "fileName": "testFile" }
    • Response example:
      { 
         "fileId": "ebb7aa05-ce62-4b98-b45d-0b9edff4cadf", 
         "url": "https://s3.amazonaws.com/.../testFile", 
         "message": "This upload URL will be valid for the next 10 mins." 
      }
  2. Upload the input file:
    • To upload the input file, use the returned presigned URL in a PUT request.
    • For information about the file's format, see Bulk Data Graph Request.
  3. (Optional) Retrieve a list of files uploaded by the specified user. The response includes the fileName and fileId of each uploaded file.
    • Call endpoint: Retrieve Input Files
      GET hostname/v1/li/files
    • Response example:
      {
        "results": [
          {
            "fileId": "2d6f5ef1-ccbb-41c9-984c-9d372ba98cc8",
            "fileName": "Buildings_USA"
          },
          {
            "fileId": "44c5cd47-d157-4c10-93de-28eb760ae9f1",
            "fileName": "Parcels_USA"
          }
        ]
      }
  4. Submit the bulk job:
    • Call endpoint: Submit a Bulk Data Graph job
      POST hostname/v1/data-graph/bulk-operations
    • Request body example:
      {
         "operation": "DATA_GRAPH_GET_BY_ID",
         "payload":{
            "fileId":"ebb7aa05-ce62-4b98-b45d-0b9edff4cadf",
            "delimiter":",",
            "queryType":"PRECISELY_ID",
            "datasets":{
               "parcels":["parcelID","fips","parcelArea"],
               "buildings":["buildingID","longitude","latitude"],
               "addresses":["preciselyID","addressNumber"],
               "WildFireRisk":["preciselyID"]
            }
         }
      }
    • Response example:
      { "statusUrl": "hostname/v1/li/workflows/status/{workflowId}"}
  5. Monitor the job status and retrieve the URLs for downloading each output file.
    • Call endpoint: Check Workflow Status
      GET hostname/v1/li/workflows/status/{workflowId}
      The endpoint returns the current status of the job. Once the job has completed successfully, the response includes the URLs of the downloadable result files.
    • Response example:
      { 
         "status": "COMPLETED",         
         "downloadUrls": [
            {
                "datasetName": "addresses",
                "downloadUrl": "https://s3.amazonaws.com/.../testFile......."
            },
            {
                "datasetName": "parcels",
                "downloadUrl": "https://s3.amazonaws.com/.../testFile..."
            },
            {
                "datasetName": "buildings",
                "downloadUrl": "https://s3.amazonaws.com/.../testFile..."
            },
            {
                "datasetName": "WildFireRisk",
                "downloadUrl": "https://s3.amazonaws.com/.../testFile..."
            }
         ]
      }
  6. To retrieve the job's history:
    • Call endpoint: View Workflow History
      GET hostname/v1/li/workflows/history
    • Response example:

      {
        "workflows": [
          {
            "workflowId": "3e5a0973-d673-4cd3-ac2d-31840deeddbb",
            "status": "COMPLETED",
            "startTime": "2025-07-22T14:01:52.140582386Z",
            "closeTime": "2025-07-22T14:03:39.796607481Z"
          },
          {
            "workflowId": "83f91950-15ca-4ed3-9da9-f43a30e91b26",
            "status": "FAILED",
            "startTime": "2025-07-22T11:33:49.061987993Z",
            "closeTime": "2025-07-22T11:37:29.514942666Z"
          }
        ]
      }
  7. (Optional) To remove temporary files from storage after processing completion:
    • Call endpoint: Delete File

      DELETE hostname/v1/li/files/{fileId}
    • Response example:
      {
        "status": "SUCCESS",
        "message": "File Deleted Successfully"
      }