/
Scout PDF API

Scout PDF API

This article describes how to utilize the PDF Scout™ Inspector Tool API to check or pre-flight PDF files. 

  • PDF files are uploaded to Scout.
  • A Scout process will analyze the PDF for pre-configured checks such as file size, known corrupted PDF data, page dimensions, etc
  • Scout results are available via the url /api/scout (POST) in json format

Scout checks are required before PDF files can be used for plan review in EPR.


Best Practices

e-PlanREVIEW® (EPR) will not accept plan review documents rejected by Scout.  All plan review documents must be submitted in PDF format.



Prerequisites

See: Scout Inspector Tool



SCOUT API Step-by-step guide

Open a support ticket to get your SCOUT API credentials, please include your name company or agency name.

Postman collection to help with API development: scout-client.postman_collection.json

Overview of PDF checking with Scout:

  1. Get a scout token.

    1. url: <scout-url>/api/auth (POST)

    2. API parameters: username/password
  2. Get an "upload" url
  3. Upload file using the "upload" url obtained from step 2
  4. Call Scout to get the json result.


ALERT!

Tokens automatically expire after 12 hours of inactivity.


Step 1. Get a token

POST https://scout-api.eplansoftreview.com/api/auth

Request Body format:

{
    "username": "admin_username",
    "password": "admin_password"
}

Sample Response:

{
    "success": true,
    "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImVwbGFuYWRtaW4iLCJpYXQiOjE1MjU0NDk2MDcsImV4cCI6MTUyNTQ1MzIwN30.5uRl1WIjpGwJaA-qVbnYI_wenzKl0bRy6RPuvp2WUzo"
}


Step 2. Get an Upload Url

GET https://scout-api.eplansoftreview.com/api/uploadUrl?filename=your_filename

Sample Response:

{
    "success": true,
    "message": "Use the method and url to upload file to Scout server.",
    "data": {
        "method": "PUT",
        "url": "https://eplan-scout.s3.us-west-2.amazonaws.com/1525449678912evil.pdf?Content-Type=application%2Fpdf&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIGT7NUYPP3IOYOBA%2F20180504%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20180504T160118Z&X-Amz-Expires=300&X-Amz-Signature=0cf8ad94edf98902134f7909246549d2b1059fc228bb2054f9fea42d33f2f1a2&X-Amz-SignedHeaders=host",
        "contentType": "application/pdf",
        "filename": "sample.pdf",
        "filePath": "1525449678912sample.pdf"
    }
}


Step 3. Upload file to Scout Server

PUT [url_from_last_step]

Note: You must upload file using the PUT method. 


Step 4. Call Scout api to get the result

POST https://scout-api.eplansoftreview.com/api/scout

Request Body format:

{
    "filePath": "filePath from step 2 response body"
}

Sample Response:

{
    "success": true,
    "data": {
        "filename": "1525449678912sample.pdf",
        "filesize": 73121,
        "numPages": 1,
        "outlines": null,
        "results": [
            {
                "key": "accessible",
                "success": true,
                "value": null
            },
            {
                "key": "version",
                "success": true,
                "value": "1.7"
            },
            {
                "key": "size",
                "success": true,
                "value": "0.07MB"
            },
            {
                "key": "rotation",
                "success": true,
                "value": null
            },
            {
                "key": "pageAccess",
                "success": true,
                "value": null
            },
            {
                "key": "annotation",
                "success": true,
                "value": null
            },
            {
                "key": "resolution",
                "success": true,
                "value": null
            }
        ],
        "pages": [
            {
                "pageNumber": 1,
                "dimension": {
                    "pageNumber": 1,
                    "mediaBox": [
                        0,
                        0,
                        1728,
                        1296
                    ],
                    "rotate": 0,
                    "orientation": "Landscape",
                    "width": 1728,
                    "height": 1296
                },
                "pageAccess": {
                    "value": null,
                    "errMessage": null,
                    "debugData": null
                },
                "annotation": {
                    "value": null,
                    "errMessage": null,
                    "debugData": null
                },
                "resolution": {
                    "value": null,
                    "errMessage": null,
                    "debugData": null
                }
            }
        ],
        "pageDimensions": {
            "1": {
                "pageNumber": 1,
                "mediaBox": [
                    0,
                    0,
                    1728,
                    1296
                ],
                "rotate": 0,
                "orientation": "Landscape",
                "width": 1728,
                "height": 1296
            }
        },
        "author": "",
        "version": 1.7,
        "isPassed": true
    }
}


Determining the Results

Check "isPassed" value in the response body to see if the file passes Scout. 

Best Practices

Documents rejected by Scout should be rejected in the public facing/customer portal. 



Related content

PDFScout Inspector Partner Integration Documentation
PDFScout Inspector Partner Integration Documentation
More like this
Authentication and Partner Configuration
Authentication and Partner Configuration
Read with this
Scout Inspector Tool
Scout Inspector Tool
More like this
MVP API Endpoints Overview
MVP API Endpoints Overview
Read with this
When Documents Fail Scout
When Documents Fail Scout
More like this
Managing User Accounts
Managing User Accounts
Read with this