fastmon Docs
Analytics

Detail for one error signature

Fehler melden

Drill-down for a single error signature, keyed by fingerprint.

Returns summary stats, a time series, top-N breakdowns across the requested dimensions, and recent sample beacons, all in one request.

Authentifizierung

bearerAuth
headerAuthentifizierungBearer <fm_… / fmo_…>

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.

Pfad-Parameter

org_id*Org Id
Formatuuid

Request-Body

application/json
  1. body

Request for drill-down on a single error signature.

Identified by fingerprint (server-computed canonical key), not the legacy 4-tuple. Backfillable: if the fingerprint rule changes, an UPDATE rewrites every row deterministically; old request URLs become invalid by design rather than silently matching the wrong bucket.

time_range*

Time range for the query

filters?

Optional filters

identity?|

Identity backing affected_visitors / breakdown visitors: 'stitch' or 'session'. Null resolves to the application's default.

fingerprint*Fingerprint
Length1 <= length <= 16
breakdowns?array<>

Dimensions to return as top-N breakdowns

limit?Limit

Max entries per breakdown dimension

Range1 <= value <= 50
Default10
sample_size?Sample Size
Range0 <= value <= 100
Default20
granularity?GranularityRequest

Bucket size of the series: 'minute', 'five_minutes', 'fifteen_minutes', 'hour', 'six_hours', 'day', or 'auto' (default: the smallest width with at most 300 buckets over the window, and 'day' from 28 days). A width under an hour allows at most 1500 buckets.

Default"auto"
Value in"auto""minute""five_minutes""fifteen_minutes""hour""six_hours""day"
timezone?|

IANA time zone whose boundaries start the six_hours, day, week and month buckets, such as Europe/Berlin. A day is 23 or 25 hours long across a DST switch. Bucket timestamps stay UTC. In a zone whose offset is not whole hours a bucket starts at the UTC hour that holds the local boundary. Without it the buckets start at UTC boundaries

Response-Body

Successful Response

application/json
  1. response

Response for /analytics/error-types/detail.

meta*

Facts about the result

request*

The request as the server resolved it

status?ErrorSignatureStatus

acknowledged while an error_acknowledgement of the organization holds the row's fault key, or its fingerprint where it has no key. Derived, never stored on the row. An acknowledged signature still counts in every total.

Default"open"
Value in"open""acknowledged"
acknowledged_at?Acknowledged At

When a person acknowledged the signature. Absent while open.

Formatdate-time
note?Note

The free text left on the acknowledgement. Absent without one.

acknowledgement_id?Acknowledgement Id

The acknowledgement the row matches, the address of /error-acknowledgements/{acknowledgement_id}. Absent while open.

Formatuuid
summary*

Aggregate summary for the selected error.

error_type?Error Type

The group's error type, repeated here so the detail reads alone.

Default""
message_kind?Message Kind

The group's message shape (selector_invalid, not_defined, ...), collected in every mode. '' when the message is one the customer wrote themselves. The field a diagnosis should be built on.

Default""
message_value?Message Value

The identifier that shape names, '' when it names none.

Default""
sample_message?Sample Message

One example message of the group, PII-stripped. Empty when the site does not collect messages, which is the default.

Default""
messages_collected?Messages Collected

Every application in scope stores error messages, so an empty sample_message means the error carried none. False means the message may simply not be collected.

Defaultfalse
timeseries*array<>
breakdowns*
samples*array<>
POST
/organizations/{org_id}/analytics/error-types/detail
Example Request
curl -X POST 'https://api.fastmon.eu/organizations/497f6eca-6276-4993-bfeb-53cbbbba6f08/analytics/error-types/detail' \  -H 'Content-Type: application/json' \  -d '{  "time_range": {    "from": "2019-08-24T14:15:22Z",    "to": "2019-08-24T14:15:22Z"  },  "fingerprint": "string"}'
Example Response
{  "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,    "complete_until": "2019-08-24T14:15:22Z"  },  "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": {},    "url_param_key": "string"  },  "status": "open",  "acknowledged_at": "2019-08-24T14:15:22Z",  "note": "string",  "acknowledgement_id": "956f031f-cb3a-41a9-a235-1f2661f76727",  "summary": {    "count": 0,    "affected_visitors": 0,    "first_seen_at": "2019-08-24T14:15:22Z",    "last_seen_at": "2019-08-24T14:15:22Z",    "share": 0  },  "error_type": "",  "message_kind": "",  "message_value": "",  "sample_message": "",  "messages_collected": false,  "timeseries": [    {      "timestamp": "2019-08-24T14:15:22Z",      "count": 0    }  ],  "breakdowns": {    "property1": {      "top": [        {          "key": "string",          "count": 0,          "visitors": 0        }      ],      "distinct_total": 0    },    "property2": {      "top": [        {          "key": "string",          "count": 0,          "visitors": 0        }      ],      "distinct_total": 0    }  },  "samples": [    {      "started_at": "2019-08-24T14:15:22Z",      "url": "string",      "session_id": "string",      "browser": "string",      "device_type": "desktop",      "os": "string",      "country": "string",      "asn": 0,      "isp": "string"    }  ]}