Badlands Software

Pathfinder Portal Integrations

Direct access to your inspection data

The Pathfinder Portal supports two integration mechanisms that give you direct, programmatic access to your data: the Pathfinder S3 Handoff and the Pathfinder Portal APIs. With these integrations you can efficiently manage and access your inspection reports, facilitating better data flow and streamlined workflows. A high-level architecture diagram is available here.

Ready to get started?

Go to Pathfinder Portal →

Pathfinder S3 Handoff

The S3 Handoff mechanism uses a private AWS S3 bucket to securely store inspection reports. Reports are automatically deposited into the bucket when uploaded to the Pathfinder Portal. The bucket is located in the us-west-2 region and requires an access key and secret key provided by Pathfinder.

Python Example — List Inspection Files

Uses the Boto3 library to list all inspection files in your private S3 bucket:

import boto3

# Replace with your credentials and bucket details
bucket_name = "your-bucket-name"
region_name = "us-west-2"
access_key  = "your-access-key"
secret_key  = "your-secret-key"

s3 = boto3.client(
    's3',
    region_name=region_name,
    aws_access_key_id=access_key,
    aws_secret_access_key=secret_key
)

def list_inspection_files():
    try:
        response = s3.list_objects_v2(Bucket=bucket_name)
        if 'Contents' in response:
            print("Inspection Files:")
            for obj in response['Contents']:
                print(f"- {obj['Key']}")
        else:
            print("No files found in the bucket.")
    except Exception as e:
        print(f"Error: {e}")

list_inspection_files()

For more information see the AWS S3 documentation.

Public APIs

The Pathfinder Portal APIs let you retrieve inspection data directly in structured JSON format, avoiding the need to parse Excel files. The full schema is documented in the OpenAPI schema definition.

Endpoints

  • Retrieve Inspection Summaries — provides a list of all available inspections including high-level details such as inspection dates, locations, and statuses. Useful for identifying recently uploaded inspections.
  • Retrieve Detailed Inspection Data — once you identify a specific inspection from the summaries, this endpoint returns all associated details including dimensions, refaces, and damage data.

Python Example — Retrieve Inspection Summaries

Sends a GET request to api/v1/inspections using Basic Authentication and prints the filename and ID for each record:

import requests
from requests.auth import HTTPBasicAuth

url      = "https://pathfinder-portal.badlandssoftware.com/api/v1/inspections"
username = "your_username"
password = "your_password"

response = requests.get(url, auth=HTTPBasicAuth(username, password))

if response.status_code == 200:
    for inspection in response.json():
        print(f"Filename: {inspection['FileName']}, ID: {inspection['InspectionId']}")
else:
    print(f"Failed to retrieve inspections: {response.status_code}")

Generate Your Authorization Header

To use the API via Postman, Fiddler, Swagger, or other tools, include an Authorization header with your requests. Enter your Pathfinder Portal credentials below to generate it: