Skip to content

V3 API

This section documents the V3 Reporting API endpoints that provide access to comprehensive audit and journey data from ObservePoint. Use these endpoints to retrieve detailed reports, export data, manage alerts, and analyze web performance metrics from your ObservePoint scans.

Languages
Servers
ObservePoint Production API

https://api.observepoint.com/

Audit Run Data

Retrieve audit run data including pages, cookies, geo-locations, network requests, JS variables and failures for web audit runs

Operations

Page Details Report

Detailed information about specific pages including tags, cookies, request logs, and console logs

Operations

Page Summary Report

Page Summary report endpoints

Operations

Request

POST /v3/web-audits/{auditId}/runs/{runId}/reports/page-summary
Security
API_Key
Path
auditIdinteger(int64)required

Unique identification number for web audit

Example: 107239
runIdinteger(int64)required

Unique identification number for web audit or journey run

Example: 33010
Bodyapplication/json

Filters

pageLoadTimeobject

Page load time in milliseconds. Should have min and/or max properties defined. min is inclusive and max is exclusive. min should be less than max.

pageUrlobject
finalPageUrlobject
pageSizeobject

Page size in bytes. Should have min and/or max properties defined. min is inclusive and max is exclusive. min should be less than max.

primaryTagsOnlyboolean
tagIdinteger
tagCategoryIdinteger
tagAccountstring
tagVendorIdinteger

Tag vendor ID

pageTitleobject
initialPageStatusCodeobject
finalPageStatusCodeobject
hasBrokenLinksboolean
redirectCountobject

Number of redirects for a page. Should have min and/or max properties defined. min is inclusive and max is exclusive. min should be less than max.

combinedPageStatusCodestring
  • broken - initial or final URL are broken,
  • good - initial URL is good or redirect and final URL is good
Enum"broken""good"
hasParentPageboolean

Usage:

  • false - only pages that do not have a parent page will be returned - starting URLs
  • true - only pages that have a parent page will be returned - pages that were discovered during crawling
  • null or undefined - all pages will be returned.
pageUrlMatchingAuditFilterConfigurationboolean
errorsobject

non-empty list of kinds of errors present on a page, depends on filterType:

  • ALL: page has all types of errors specified in errorTypes list
  • ANY: page has any type of errors present in specified errorTypes list
largestContentfulPaintobject

Common trait for integer min max filter

firstContentfulPaintobject

Common trait for integer min max filter

timeToFirstByteobject

Common trait for integer min max filter

cumulativeLayoutShiftobject

Common trait for double min max filter

pageStatusCodestringDeprecated

good - 2xx, redirects - 3xx, broken - all others

Enum"good""redirects""broken"
curl -i -X POST \
  https://api.observepoint.com/v3/web-audits/107239/runs/33010/reports/page-summary \
  -H 'Authorization: YOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{
    "pageLoadTime": {
      "min": 0,
      "max": 0
    },
    "pageUrl": {
      "filterType": "contains",
      "filterValue": "string",
      "negated": false
    },
    "finalPageUrl": {
      "filterType": "contains",
      "filterValue": "string",
      "negated": false
    },
    "pageStatusCode": "good",
    "pageSize": {
      "min": 0,
      "max": 0
    },
    "primaryTagsOnly": true,
    "tagId": 0,
    "tagCategoryId": 0,
    "tagAccount": "string",
    "tagVendorId": 0,
    "pageTitle": {
      "filterType": "contains",
      "filterValue": "ObserveP"
    },
    "initialPageStatusCode": {
      "filterType": "specific",
      "negated": true
    },
    "finalPageStatusCode": {
      "filterType": "specific",
      "negated": true
    },
    "hasBrokenLinks": true,
    "redirectCount": {
      "min": 0,
      "max": 0
    },
    "combinedPageStatusCode": "broken",
    "hasParentPage": true,
    "pageUrlMatchingAuditFilterConfiguration": true,
    "errors": {
      "filterType": "ALL",
      "errorTypes": [
        "ON_PAGE_ACTION_ERROR"
      ]
    },
    "largestContentfulPaint": {
      "min": 0,
      "max": 0
    },
    "firstContentfulPaint": {
      "min": 0,
      "max": 0
    },
    "timeToFirstByte": {
      "min": 0,
      "max": 0
    },
    "cumulativeLayoutShift": {
      "min": 0.1,
      "max": 0.1
    }
  }'

Responses

OK, return page summary insights

Bodyapplication/json
pagesFilteredinteger
totalPagesinteger
averagePageLoadTimeinteger
pagesWithBrokenInitialStatusCodeinteger
pagesWithBrokenFinalStatusCodeinteger
pageCountByLoadTimesobject
pageCountsByInitialStatusCodesobject
pageCountsByFinalStatusCodesobject
pagesWithBrokenLinksinteger

Count of all pages that have broken links pointing to other pages

webVitalsobject

Web Vitals aggregated on run level

brokenPagesintegerDeprecated
Response
application/json
{ "pagesFiltered": 0, "totalPages": 0, "averagePageLoadTime": 0, "brokenPages": 0, "pagesWithBrokenInitialStatusCode": 0, "pagesWithBrokenFinalStatusCode": 0, "pageCountByLoadTimes": { "below3": 0, "3to6": 0, "6to10": 0, "10andAbove": 0 }, "pageCountsByInitialStatusCodes": { "good": 0, "redirects": 0, "broken": 0 }, "pageCountsByFinalStatusCodes": { "good": 0, "redirects": 0, "broken": 0 }, "pagesWithBrokenLinks": 0, "webVitals": { "medianLargestContentfulPaint": 0.1, "medianFirstContentfulPaint": 0.1, "medianTimeToFirstByte": 0.1, "medianCumulativeLayoutShift": 0.1, "p75LargestContentfulPaint": 0.1, "p75FirstContentfulPaint": 0.1, "p75TimeToFirstByte": 0.1, "p75CumulativeLayoutShift": 0.1 } }

Request

POST /v3/web-audits/{auditId}/runs/{runId}/reports/page-summary/pages
Security
API_Key
Path
auditIdinteger(int64)required

Unique identification number for web audit

Example: 107239
runIdinteger(int64)required

Unique identification number for web audit or journey run

Example: 33010
Query
pageinteger>= 0

Number of results page of an endpoint with paginated results

Default 0
sizeinteger[ 50 .. 10000 ]
Default 50
sortBystring
Enum"page_url""page_status_code""size""page_load_time""final_page_url""page_title""initial_page_status_code""final_page_status_code""redirect_count""largest_contentful_paint"
sortDescboolean

Controls sorting order

Default false
Bodyapplication/json

Filters

pageLoadTimeobject

Page load time in milliseconds. Should have min and/or max properties defined. min is inclusive and max is exclusive. min should be less than max.

pageUrlobject
finalPageUrlobject
pageSizeobject

Page size in bytes. Should have min and/or max properties defined. min is inclusive and max is exclusive. min should be less than max.

primaryTagsOnlyboolean
tagIdinteger
tagCategoryIdinteger
tagAccountstring
tagVendorIdinteger

Tag vendor ID

pageTitleobject
initialPageStatusCodeobject
finalPageStatusCodeobject
hasBrokenLinksboolean
redirectCountobject

Number of redirects for a page. Should have min and/or max properties defined. min is inclusive and max is exclusive. min should be less than max.

combinedPageStatusCodestring
  • broken - initial or final URL are broken,
  • good - initial URL is good or redirect and final URL is good
Enum"broken""good"
hasParentPageboolean

Usage:

  • false - only pages that do not have a parent page will be returned - starting URLs
  • true - only pages that have a parent page will be returned - pages that were discovered during crawling
  • null or undefined - all pages will be returned.
pageUrlMatchingAuditFilterConfigurationboolean
errorsobject

non-empty list of kinds of errors present on a page, depends on filterType:

  • ALL: page has all types of errors specified in errorTypes list
  • ANY: page has any type of errors present in specified errorTypes list
largestContentfulPaintobject

Common trait for integer min max filter

firstContentfulPaintobject

Common trait for integer min max filter

timeToFirstByteobject

Common trait for integer min max filter

cumulativeLayoutShiftobject

Common trait for double min max filter

pageStatusCodestringDeprecated

good - 2xx, redirects - 3xx, broken - all others

Enum"good""redirects""broken"
curl -i -X POST \
  'https://api.observepoint.com/v3/web-audits/107239/runs/33010/reports/page-summary/pages?page=0&size=50&sortBy=page_url&sortDesc=false' \
  -H 'Authorization: YOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{
    "pageLoadTime": {
      "min": 0,
      "max": 0
    },
    "pageUrl": {
      "filterType": "contains",
      "filterValue": "string",
      "negated": false
    },
    "finalPageUrl": {
      "filterType": "contains",
      "filterValue": "string",
      "negated": false
    },
    "pageStatusCode": "good",
    "pageSize": {
      "min": 0,
      "max": 0
    },
    "primaryTagsOnly": true,
    "tagId": 0,
    "tagCategoryId": 0,
    "tagAccount": "string",
    "tagVendorId": 0,
    "pageTitle": {
      "filterType": "contains",
      "filterValue": "ObserveP"
    },
    "initialPageStatusCode": {
      "filterType": "specific",
      "negated": true
    },
    "finalPageStatusCode": {
      "filterType": "specific",
      "negated": true
    },
    "hasBrokenLinks": true,
    "redirectCount": {
      "min": 0,
      "max": 0
    },
    "combinedPageStatusCode": "broken",
    "hasParentPage": true,
    "pageUrlMatchingAuditFilterConfiguration": true,
    "errors": {
      "filterType": "ALL",
      "errorTypes": [
        "ON_PAGE_ACTION_ERROR"
      ]
    },
    "largestContentfulPaint": {
      "min": 0,
      "max": 0
    },
    "firstContentfulPaint": {
      "min": 0,
      "max": 0
    },
    "timeToFirstByte": {
      "min": 0,
      "max": 0
    },
    "cumulativeLayoutShift": {
      "min": 0.1,
      "max": 0.1
    }
  }'

Responses

OK, return insights by page

Bodyapplication/json
metadataobjectrequired

Common metadata for iterable

metadata.​paginationobjectrequired
metadata.​pagination.​totalCountintegerrequired

Total number of items available from all result pages combined

metadata.​pagination.​totalPageCountintegerrequired

Total number of pages available

metadata.​pagination.​pageSizeintegerrequired

Page size - number of items per result page configured by size query parameter or default page size

metadata.​pagination.​currentPageSizeintegerrequired

Number of items in current result page

metadata.​pagination.​currentPageNumberintegerrequired

Current page number/ordinal

pagesArray of objectsrequired
pages[].​largestContentfulPaintnumber(double)

LCP time in milliseconds

pages[].​firstContentfulPaintnumber(double)

FCP time in milliseconds

pages[].​timeToFirstBytenumber(double)

TTFB time in milliseconds

pages[].​cumulativeLayoutShiftnumber(double)

unitless measurement of CLS

pages[].​pageIdstring
pages[].​dataCollectionUuidstring
pages[].​pageUrlstring
pages[].​finalPageUrlstring
pages[].​pageTitlestring
pages[].​pageLoadTimeinteger
pages[].​initialPageStatusCodeinteger
pages[].​finalPageStatusCodeinteger
pages[].​redirectCountinteger

Number of redirects from initialUrl to finalUrl of the page or 0 if none

pages[].​sizeinteger(int64)
pages[].​browserErrorstring

error produced by browser upon opening the page

Example: "This site can’t be reached. example.com’s server IP address could not be found. ERR_NAME_NOT_RESOLVED"
pages[].​pageStatusCodeintegerDeprecated

Deprecated, use initialPageStatusCode & finalPageStatusCode instead

Response
application/json
{ "metadata": { "pagination": { … } }, "pages": [ { … } ] }

Return insights for all runs in the given duration

Request

GET /v3/web-audits/{auditId}/runs/{runId}/reports/page-summary/trends
Security
API_Key
Path
auditIdinteger(int64)required

Unique identification number for web audit

Example: 107239
runIdinteger(int64)required

Unique identification number for web audit or journey run

Example: 33010
curl -i -X GET \
  https://api.observepoint.com/v3/web-audits/107239/runs/33010/reports/page-summary/trends \
  -H 'Authorization: YOUR_API_KEY_HERE'

Responses

Insights by runId

Bodyapplication/json
runsArray of objects
Response
application/json
{ "runs": [ { … } ] }

Get Page Summary Web Vitals trends relative to specified audit run

Request

GET /v3/web-audits/{auditId}/runs/{runId}/reports/page-summary/trends/web-vitals
Security
API_Key
Path
auditIdinteger(int64)required

Unique identification number for web audit

Example: 107239
runIdinteger(int64)required

Unique identification number for web audit or journey run

Example: 33010
curl -i -X GET \
  https://api.observepoint.com/v3/web-audits/107239/runs/33010/reports/page-summary/trends/web-vitals \
  -H 'Authorization: YOUR_API_KEY_HERE'

Responses

Page Summary Web Vitals trends data

Bodyapplication/json
runsArray of objectsrequired
runs[].​runIdinteger(int64)required
Example: 33010
runs[].​completedAtstring(date-time)required

Date-time in RFC3339 profile ISO 8601 format with the following additional restrictions:

  1. An uppercase T must separate the date and time portions.
  2. An uppercase Z must denote that a numeric time zone offset isn't present.

In general, these timestamp requirements are the same in AWS Step Functions - Choice Rules

Example: "2016-08-18T17:33:00Z"
runs[].​largestContentfulPaintStatsobjectrequired

Web Vitals trends statistics (min, max, average, median, 25th and 75th percentiles)

runs[].​largestContentfulPaintStats.​minnumber(double)required
runs[].​largestContentfulPaintStats.​maxnumber(double)required
runs[].​largestContentfulPaintStats.​averagenumber(double)required
runs[].​largestContentfulPaintStats.​mediannumber(double)required
runs[].​largestContentfulPaintStats.​p25number(double)required
runs[].​largestContentfulPaintStats.​p75number(double)required
runs[].​firstContentfulPaintStatsobjectrequired

Web Vitals trends statistics (min, max, average, median, 25th and 75th percentiles)

runs[].​firstContentfulPaintStats.​minnumber(double)required
runs[].​firstContentfulPaintStats.​maxnumber(double)required
runs[].​firstContentfulPaintStats.​averagenumber(double)required
runs[].​firstContentfulPaintStats.​mediannumber(double)required
runs[].​firstContentfulPaintStats.​p25number(double)required
runs[].​firstContentfulPaintStats.​p75number(double)required
runs[].​timeToFirstByteStatsobjectrequired

Web Vitals trends statistics (min, max, average, median, 25th and 75th percentiles)

runs[].​timeToFirstByteStats.​minnumber(double)required
runs[].​timeToFirstByteStats.​maxnumber(double)required
runs[].​timeToFirstByteStats.​averagenumber(double)required
runs[].​timeToFirstByteStats.​mediannumber(double)required
runs[].​timeToFirstByteStats.​p25number(double)required
runs[].​timeToFirstByteStats.​p75number(double)required
runs[].​cumulativeLayoutShiftStatsobjectrequired

Web Vitals trends statistics (min, max, average, median, 25th and 75th percentiles)

runs[].​cumulativeLayoutShiftStats.​minnumber(double)required
runs[].​cumulativeLayoutShiftStats.​maxnumber(double)required
runs[].​cumulativeLayoutShiftStats.​averagenumber(double)required
runs[].​cumulativeLayoutShiftStats.​mediannumber(double)required
runs[].​cumulativeLayoutShiftStats.​p25number(double)required
runs[].​cumulativeLayoutShiftStats.​p75number(double)required
Response
application/json
{ "runs": [ { … } ] }

Return insights on a given page for all runs in the given duration

Request

GET /v3/web-audits/{auditId}/reports/page-summary/trends/{trendName}

Get page trend insight from specified time span of audit runs

Security
API_Key
Path
auditIdinteger(int64)required

Unique identification number for web audit

Example: 107239
trendNamestringrequired

name of the insight

Enum"avg_page_load_time""broken_initial_page""broken_final_page""pages_with_broken_links"
Query
daysinteger[ 1 .. 390 ]required

Number of days to get trend values for, relative to current time

curl -i -X GET \
  'https://api.observepoint.com/v3/web-audits/107239/reports/page-summary/trends/{trendName}?days=1' \
  -H 'Authorization: YOUR_API_KEY_HERE'

Responses

list of page insight

Bodyapplication/json
runsArray of objectsrequired
runs[].​runIdinteger(int64)required
Example: 33010
runs[].​completedAtstring(date-time)required

Date-time in RFC3339 profile ISO 8601 format with the following additional restrictions:

  1. An uppercase T must separate the date and time portions.
  2. An uppercase Z must denote that a numeric time zone offset isn't present.

In general, these timestamp requirements are the same in AWS Step Functions - Choice Rules

Example: "2016-08-18T17:33:00Z"
runs[].​trendValuenumberrequired
Response
application/json
{ "runs": [ { … } ] }

Get Page Summary Web Vitals specific trend values relative to current day

Request

GET /v3/web-audits/{auditId}/reports/page-summary/trends/web-vitals/{trendName}
Security
API_Key
Path
auditIdinteger(int64)required

Unique identification number for web audit

Example: 107239
trendNamestringrequired
Enum"largest_contentful_paint""first_contentful_paint""time_to_first_byte""cumulative_layout_shift"
Query
daysinteger[ 1 .. 390 ]required

Number of days to get trend values for, relative to current time

curl -i -X GET \
  'https://api.observepoint.com/v3/web-audits/107239/reports/page-summary/trends/web-vitals/{trendName}?days=1' \
  -H 'Authorization: YOUR_API_KEY_HERE'

Responses

Page Summary Web Vitals specific trend values

Bodyapplication/json
runsArray of objectsrequired
runs[].​runIdinteger(int64)required
Example: 33010
runs[].​completedAtstring(date-time)required

Date-time in RFC3339 profile ISO 8601 format with the following additional restrictions:

  1. An uppercase T must separate the date and time portions.
  2. An uppercase Z must denote that a numeric time zone offset isn't present.

In general, these timestamp requirements are the same in AWS Step Functions - Choice Rules

Example: "2016-08-18T17:33:00Z"
runs[].​distributionobjectrequired

Distribution of pages by buckets of web vitals values

runs[].​distribution.​goodintegerrequired
runs[].​distribution.​needsImprovementintegerrequired
runs[].​distribution.​poorintegerrequired
runs[].​statsobjectrequired

Web Vitals trends statistics (min, max, average, median, 25th and 75th percentiles)

runs[].​stats.​minnumber(double)required
runs[].​stats.​maxnumber(double)required
runs[].​stats.​averagenumber(double)required
runs[].​stats.​mediannumber(double)required
runs[].​stats.​p25number(double)required
runs[].​stats.​p75number(double)required
Response
application/json
{ "runs": [ { … } ] }

Audit Summary Report

Audit Summary report endpoints

Operations

Alert Summary Report

Alert Summary report endpoints

Operations

Rule Summary Report

Rule Summary report endpoints

Operations

Tag Inventory Report

Tag Inventory report endpoints

Operations

Tag Health Report

Tag Health report endpoints

Operations

Tag Duplicates and Multiples Report

Tag Duplicates and Multiples report endpoints

Operations

Variable Inventory Report

Variable Inventory report endpoints

Operations

Browser Logs Report

Browser Logs report endpoints

Operations

File Changes Report

File changes report endpoints

Operations

Tag Privacy Report

Tag privacy report endpoints

Operations

Request Privacy Report

Request Privacy report endpoints

Operations

Exports Center

Access requested exports status/information

Operations

Scheduled Exports

Manage scheduled grid report data exports

Operations

Audit Run Export

Export audit run data

Operations

Web Journey Run Export

Export web journey run data

Operations

Manual Journey Run Export

Export manual journey run data

Operations

Alerts

Alert management and configuration

Operations

Account's Triggered Alerts

Account-level triggered alerts

Operations
Operations
Operations

Account Usage Alerts

Alerts related to account usage

Operations

Account Usage Export

Export account usage data

Operations

Notification Center

Find and manage email subscriptions

Operations

Email Inbox Messages

Get Email Inbox message details

Operations

Email Inbox Message Alerts

Email inbox message alerts

Operations