curl --request GET \
--url https://api.atatus.com/v2/projects/{projectId}/errors/{errorId}/events \
--header 'X-API-KEY: <api-key>'import requests
url = "https://api.atatus.com/v2/projects/{projectId}/errors/{errorId}/events"
headers = {"X-API-KEY": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-KEY': '<api-key>'}};
fetch('https://api.atatus.com/v2/projects/{projectId}/errors/{errorId}/events', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.atatus.com/v2/projects/{projectId}/errors/{errorId}/events",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-KEY: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.atatus.com/v2/projects/{projectId}/errors/{errorId}/events"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-KEY", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.atatus.com/v2/projects/{projectId}/errors/{errorId}/events")
.header("X-API-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.atatus.com/v2/projects/{projectId}/errors/{errorId}/events")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-KEY"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"class": "ReferenceError",
"name": "$scope1 is not defined",
"groupName": "$scope1 is not defined",
"id": "HmlfE32601V3",
"errorId": "743648921:d36f22f1cc8fdba76e4b1d4ce46b25cd",
"backTraces": [
{
"cn": 5,
"f": "http://localhost:8080/scripts/controllers/dashboard-controller.js",
"m": "new DashboardController",
"ln": 21
},
{
"f": "http://localhost:8080/bower_components/angular/angular.min.js",
"cn": 109,
"ln": 42,
"m": "Object.instantiate"
},
{
"cn": 374,
"f": "http://localhost:8080/bower_components/angular/angular.min.js",
"ln": 91,
"m": "at "
}
],
"breadCrumbs": [
{
"ts": 1485847368811,
"a": "click",
"e": "a ng-click=\"goToReport('daily')\" tooltip=\"Daily Report\""
}
],
"url": {
"queryParams": "?timeDur=1d",
"groupHash": "a4e3686498384b986c00fe42b4105b9a",
"group": "http://localhost:8080/app/*/dashboard",
"raw": "http://localhost:8080/app/743648921/dashboard"
},
"user": {
"id": "164353474",
"name": "John Doe",
"email": "john_doe@acme.com",
"hash": "d0f42b3974b6af7d4c02b98dc929dc92"
},
"env": {
"device": "Desktop",
"os": "Mac OS",
"osVersion": "10.10.1",
"browserVersion": "55.0.2883.95",
"browser": "Chrome",
"ip": "81.137.100.158"
},
"geo": {
"asn": "AS2856",
"country": "GB",
"region": "ENG"
},
"request": {
"h": 1080,
"ua": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.95 Safari/537.36",
"url": "http://localhost:8080/app/743648921/dashboard",
"w": 1920
},
"customData": {},
"tags": [
"production",
"paid_user"
],
"version": "1.0.0",
"sourcemap": false,
"agentVersion": "3.0.0",
"teamId": "736128479015720349",
"projectId": "257113987",
"sid": "601665c988804881b22576046b132b42",
"timestamp": "2020-01-31T07:22:49.607Z"
}
],
"count": 1,
"limit": 20,
"page": 1,
"totalCount": 1,
"totalPages": 1,
"hasMore": false
}{
"Message": "API key is invalid!"
}{
"Message": "Not found"
}{
"Message": "Too many requests"
}{
"Message": "Internal server error"
}List error events
Returns the individual crashes (events) recorded for a grouped error.
curl --request GET \
--url https://api.atatus.com/v2/projects/{projectId}/errors/{errorId}/events \
--header 'X-API-KEY: <api-key>'import requests
url = "https://api.atatus.com/v2/projects/{projectId}/errors/{errorId}/events"
headers = {"X-API-KEY": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-KEY': '<api-key>'}};
fetch('https://api.atatus.com/v2/projects/{projectId}/errors/{errorId}/events', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.atatus.com/v2/projects/{projectId}/errors/{errorId}/events",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-KEY: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.atatus.com/v2/projects/{projectId}/errors/{errorId}/events"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-KEY", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.atatus.com/v2/projects/{projectId}/errors/{errorId}/events")
.header("X-API-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.atatus.com/v2/projects/{projectId}/errors/{errorId}/events")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-KEY"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"class": "ReferenceError",
"name": "$scope1 is not defined",
"groupName": "$scope1 is not defined",
"id": "HmlfE32601V3",
"errorId": "743648921:d36f22f1cc8fdba76e4b1d4ce46b25cd",
"backTraces": [
{
"cn": 5,
"f": "http://localhost:8080/scripts/controllers/dashboard-controller.js",
"m": "new DashboardController",
"ln": 21
},
{
"f": "http://localhost:8080/bower_components/angular/angular.min.js",
"cn": 109,
"ln": 42,
"m": "Object.instantiate"
},
{
"cn": 374,
"f": "http://localhost:8080/bower_components/angular/angular.min.js",
"ln": 91,
"m": "at "
}
],
"breadCrumbs": [
{
"ts": 1485847368811,
"a": "click",
"e": "a ng-click=\"goToReport('daily')\" tooltip=\"Daily Report\""
}
],
"url": {
"queryParams": "?timeDur=1d",
"groupHash": "a4e3686498384b986c00fe42b4105b9a",
"group": "http://localhost:8080/app/*/dashboard",
"raw": "http://localhost:8080/app/743648921/dashboard"
},
"user": {
"id": "164353474",
"name": "John Doe",
"email": "john_doe@acme.com",
"hash": "d0f42b3974b6af7d4c02b98dc929dc92"
},
"env": {
"device": "Desktop",
"os": "Mac OS",
"osVersion": "10.10.1",
"browserVersion": "55.0.2883.95",
"browser": "Chrome",
"ip": "81.137.100.158"
},
"geo": {
"asn": "AS2856",
"country": "GB",
"region": "ENG"
},
"request": {
"h": 1080,
"ua": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.95 Safari/537.36",
"url": "http://localhost:8080/app/743648921/dashboard",
"w": 1920
},
"customData": {},
"tags": [
"production",
"paid_user"
],
"version": "1.0.0",
"sourcemap": false,
"agentVersion": "3.0.0",
"teamId": "736128479015720349",
"projectId": "257113987",
"sid": "601665c988804881b22576046b132b42",
"timestamp": "2020-01-31T07:22:49.607Z"
}
],
"count": 1,
"limit": 20,
"page": 1,
"totalCount": 1,
"totalPages": 1,
"hasMore": false
}{
"Message": "API key is invalid!"
}{
"Message": "Not found"
}{
"Message": "Too many requests"
}{
"Message": "Internal server error"
}Authorizations
Your Atatus API key. You can also send it as the api_key query parameter or, for POST/PUT requests, in the request body.
Path Parameters
ID of the specific error
Query Parameters
The time duration. Example: 30m, 60m, 6h, 12h, 1d, 2d, 3d, 7d, 14d, 1M
Instead of timeDur, you can give custom timeStart and timeEnd. Format: YYYY-MM-DD+HH:mm Eg: timeStart=2020-03-01+00:00&timeEnd=2020-03-06+00:00
Instead of timeDur, you can give custom timeStart and timeEnd. Format: YYYY-MM-DD+HH:mm Eg: timeStart=2020-03-01+00:00&timeEnd=2020-03-06+00:00
Only errors with the given browser: Chrome, Firefox, Safari, IE, Opera, Mobile Safari, Android Browser
Only errors with the given browser version: 4.0, 11.0, 37.0, 47.0
Only errors with the given OS: Windows, Mac OS, Linux, iOS, Android
Only errors with the give OS version: 7, 8.1, 10.04, 10.8
Only errors with the given app version
Only errors with the given tags
Only errors with the given url
Only errors with the given user
Only errors with the given device. Example: desktop and mobile devices
Number of errors to be returned. Range between 1 and 100
1 <= x <= 100Page number. Pagination parameter used to select the page to retrieve
x >= 1