These docs are a work in progress: some pages may still be incomplete or contain inaccuracies.
fastmon Docs
Analytics

Query Fetch Xhr Detail

Host (or endpoint) drill-down — the analogue of /error-types/detail (which keys on fingerprint). Keyed by host; method/path are optional refinements (omit for the whole host, give path for one endpoint).

Four ARRAY JOINs over beacons FINAL (cumulative per-pvid state → FINAL), sharing one scope filter (host [+ method] [+ path]): a summary, the per-endpoint list (group by method/path), the per-page breakdown (group by the beacon url) and the individual trace calls (fetch_xhr_outliers, with status + the page they ran on). No 037/L1 dependency — url lives on the same row as the Nested columns. Status distribution beyond these trace samples needs the Phase-2 per-endpoint status counters.

Authorization

bearerAuth
AuthorizationBearer <token>

API token generated from the fastmon dashboard (Account → API Token). Send as Authorization: Bearer fm_... or paste the full token (including the fm_ prefix) into the Authorize dialog.

In: header

Path Parameters

org_id*Org Id
Formatuuid

Request Body

application/json

Drill-down keyed by host (the fetch_xhr analogue of the error-fingerprint detail). method/path are optional refinements: omit them for a HOST-level view (all endpoints of that host), give path to scope to one endpoint. Answers "where do this host's calls run, and which fail (status + page)?".

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

POST
/v1/organizations/{org_id}/analytics/fetch-xhr/detail
curl -X POST "https://example.com/v1/organizations/497f6eca-6276-4993-bfeb-53cbbbba6f08/analytics/fetch-xhr/detail" \  -H "Content-Type: application/json" \  -d '{    "time_range": {      "from": "2019-08-24T14:15:22Z",      "to": "2019-08-24T14:15:22Z"    },    "host": "string"  }'
{  "host": "string",  "method": "string",  "path": "string",  "calls": 0,  "errors": 0,  "error_rate": 0,  "avg_ms": 0,  "max_ms": 0,  "impact_ms": 0,  "endpoints": [    {      "method": "string",      "host": "string",      "path": "string",      "calls": 0,      "avg_ms": 0,      "max_ms": 0,      "errors": 0,      "error_rate": 0,      "impact_ms": 0,      "status_errors": {        "property1": 0,        "property2": 0      },      "p75_ms": 0,      "p95_ms": 0,      "avg_offset_ms": 0,      "sync_calls": 0,      "aborts": 0,      "blocked": 0,      "avg_bytes": 0,      "max_bytes": 0    }  ],  "pages": [    {      "url": "string",      "calls": 0,      "avg_ms": 0,      "max_ms": 0,      "errors": 0,      "error_rate": 0,      "impact_ms": 0,      "status_errors": {        "property1": 0,        "property2": 0      }    }  ],  "outliers": [    {      "method": "string",      "host": "string",      "path": "string",      "duration_ms": 0,      "status": 0,      "ttfb_ms": 0,      "page": "string",      "server_timing": {        "property1": 0,        "property2": 0      }    }  ],  "execution_time_ms": 0}
{  "error": {    "code": "string",    "message": "string",    "request_id": "string",    "doc_url": "string",    "details": {}  }}
{  "error": {    "code": "string",    "message": "string",    "request_id": "string",    "doc_url": "string",    "details": {}  }}
{  "error": {    "code": "string",    "message": "string",    "request_id": "string",    "doc_url": "string",    "details": {}  }}
{  "error": {    "code": "string",    "message": "string",    "request_id": "string",    "doc_url": "string",    "details": {}  }}
{  "error": {    "code": "string",    "message": "string",    "request_id": "string",    "doc_url": "string",    "details": {}  }}