Resources that failed to load
Resources that failed to load, grouped by host and path.
The host of the failing resource is always there. Its path is not: stack frames are opt-in per site and off by default, and without them a path is kept only when the resource is served from the page host itself. A resource on the shop's own CDN subdomain therefore counts as first party but still arrives host-only.
count is the number of failed loads, pageviews the pageviews they
happened on.
bearerAuthAuthorizationBearer <token>API token generated from the fastmon dashboard (Account → API Token) or at organization level (fmo_…, one that outlives its creator). Send as Authorization: Bearer fm_... or paste the full token (including its prefix) into the Authorize dialog.
org_id*Org Iduuidapplication/json- body
Request for the failed-resources breakdown.
time_range*Time range for the query
filters?Optional filters
ownership?array<>|Restrict to these ownerships. Default: both. mixed is rejected.
host?array<string>|Restrict to these resource hosts (exact match on the host that should have served the file). Narrows the totals too, unlike ownership.
exclude_hosts?array<string>|Drop these resource hosts (e.g. a tracker every ad blocker kills). Host is the dimension that decides this list, so without it the top rows are whatever the blockers hit most and the site's own broken files sit below them. Narrows the totals too, so the numbers agree with the rows.
limit?LimitMax rows to return
1 <= value <= 10020Successful Response
application/json- response
Response for the failed-resources breakdown.
Deliberately NOT part of the error rate: a failed resource load is
dominated by the visitor's ad blocker, which is not a defect of the site.
The first_party half is the one a site operator can act on.
meta*Facts about the result
request*The request as the server resolved it
data*array<>Failing resources, most frequent first. A top-N, so the rows do not sum to the totals below. Narrowed by the request's ownership, if it set one.
failed_count*Failed CountEvery failed load in the time range and filter scope, both halves included. Deliberately NOT narrowed by the request's ownership: the point of the number is that the reader sees how the two compare.
failed_by_ownership?Failed loads per ownership (first_party / third_party), over the same unnarrowed scope as failed_count.
curl -X POST 'https://api.fastmon.eu/organizations/497f6eca-6276-4993-bfeb-53cbbbba6f08/analytics/failed-resources' \ -H 'Content-Type: application/json' \ -d '{ "time_range": { "from": "2019-08-24T14:15:22Z", "to": "2019-08-24T14:15:22Z" }}'{ "meta": { "execution_time_ms": 0, "total": 0, "limit": 0, "offset": 0, "has_more": true, "next_cursor": "string", "sampling": { "sampling_rate": 0, "is_sampled": true, "estimated_metrics": [ "string" ] }, "is_identity_mixed": true }, "request": { "time_range": { "from": "2019-08-24T14:15:22Z", "to": "2019-08-24T14:15:22Z" }, "comparison_time_range": { "from": "2019-08-24T14:15:22Z", "to": "2019-08-24T14:15:22Z" }, "granularity": "minute", "identity": "stitch", "window_seconds": 0, "filters": {} }, "data": [ { "ownership": "first_party", "host": "string", "path": "", "fingerprint": "", "count": 0, "pageviews": 0 } ], "failed_count": 0, "failed_by_ownership": { "property1": 0, "property2": 0 }}