ClientReportService¶
GetIssue¶
Request:
Response:
Example CURL¶
Bash
curl -X POST https://api.bitdrift.io/bitdrift.public.unary.client_report.v1.ClientReportService/GetIssue \
-H "x-bitdrift-api-key: <key>" \
-H "Content-Type: application/json" \
-d '{
"id": "b5bb9d80-14a0-f9b1-d61e-21e796d78dcc",
"issue_group_id": "11937913729565882410"
}'
Example Response¶
JSON
{
"issue": {
"app_id": "com.example.app",
"app_version": "2.1.0",
"build_id": "1024",
"context": "alloc::alloc::handle_alloc_error",
"details": "Attempted to dereference a null pointer",
"foreground": false,
"id": "b5bb9d80-14a0-f9b1-d61e-21e796d78dcc",
"locale": "en_US",
"model": "iPhone15,2",
"network_type": "wifi",
"platform": {
"apple": {
"apps": [
{
"app_id": "com.example.app"
}
]
}
},
"radio_type": "LTE",
"reason": "EXC_BAD_ACCESS",
"report": {
"app_metrics": {
"app_id": "com.example.app",
"bundle_version": "1024",
"version": "2.1.0"
},
"device_metrics": {
"architecture": "ARM64",
"battery_level": 72,
"manufacturer": "Apple",
"model": "iPhone15,2",
"os": "iOS",
"os_version": "17.4.1",
"power_state": "RUNNING_ON_BATTERY",
"time": "2024-01-15T09:30:00Z",
"user_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
},
"errors": [
{
"details": "Attempted to dereference a null pointer",
"frames": [
{
"frame_address": 4376830024,
"frame_type": "DWARF",
"image_id": "8c4e2a1b-3f56-4d89-a012-bc345678def0",
"image_load_address": 4376829952,
"image_path": "/usr/lib/libSystem.dylib",
"in_app": false,
"original_index": 3,
"source_file": {
"column": 5,
"lineno": 42,
"path": "src/main.rs"
},
"state": [
"crashed"
],
"status": "SYMBOLICATED",
"symbol_address": 4376829952,
"symbol_name": "_ZN5alloc5alloc18handle_alloc_error17h123456789abcdef0E",
"symbolicated_name": "alloc::alloc::handle_alloc_error"
}
],
"reason": "EXC_BAD_ACCESS"
}
],
"fields": [
{
"key": "device_orientation",
"value": "portrait"
}
],
"thread_details": {
"threads": [
{
"active": true,
"frames": [
{
"frame_address": 4376830024,
"frame_type": "DWARF",
"image_id": "8c4e2a1b-3f56-4d89-a012-bc345678def0",
"image_load_address": 4376829952,
"image_path": "/usr/lib/libSystem.dylib",
"in_app": false,
"original_index": 3,
"source_file": {
"column": 5,
"lineno": 42,
"path": "src/main.rs"
},
"state": [
"crashed"
],
"status": "SYMBOLICATED",
"symbol_address": 4376829952,
"symbol_name": "_ZN5alloc5alloc18handle_alloc_error17h123456789abcdef0E",
"symbolicated_name": "alloc::alloc::handle_alloc_error"
}
],
"index": 0,
"name": "com.apple.main-thread",
"priority": 47.0,
"quality_of_service": 33,
"state": "TH_STATE_WAITING"
}
],
"total_threads": 12
}
},
"report_type": "crash",
"session_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"time": "2024-01-15T09:30:00Z"
},
"status": "FOUND"
}
GetIssueFeatureFlags¶
Request:
Response:
Example CURL¶
Bash
curl -X POST https://api.bitdrift.io/bitdrift.public.unary.client_report.v1.ClientReportService/GetIssueFeatureFlags \
-H "x-bitdrift-api-key: <key>" \
-H "Content-Type: application/json" \
-d '{
"issue_id": "11937913729565882410"
}'
Example Response¶
JSON
{
"feature_flags": [
{
"modified_at": "2024-01-15T09:30:00Z",
"name": "Resolved in v2.2.0",
"variant": "user@example.com"
}
]
}
GetIssueGroup¶
Request:
Response:
Example CURL¶
Bash
curl -X POST https://api.bitdrift.io/bitdrift.public.unary.client_report.v1.ClientReportService/GetIssueGroup \
-H "x-bitdrift-api-key: <key>" \
-H "Content-Type: application/json" \
-d '{
"id": "com.example.app",
"issue_query": {
"advanced_filters": {
"and_conditions": [
{
"or_conditions": [
{
"lhs": "app_id",
"operator": "EQUAL",
"rhs": "com.example.app"
}
]
}
]
},
"feature_flag_filters": [
{
"exclusive": false,
"name": "EXC_BAD_ACCESS",
"variant": "null pointer"
}
],
"grouping_key": [
"EXC_BAD_ACCESS"
],
"platforms": [
{
"apple": {
"apps": [
{
"app_id": "com.example.app"
}
]
}
}
],
"time_range": {
"relative_time_range": {
"duration": "3600s",
"offset": "3600s"
}
}
}
}'
Example Response¶
JSON
{
"issue_group": {
"assignees": [
{
"email": "user@example.com",
"id": "usr_abc123",
"name": "Jane Doe"
}
],
"filtered_stats": {
"events": [
{
"count": 42,
"period_start": "2024-01-15T09:30:00Z"
}
],
"first_report_seen": "2024-01-15T09:30:00Z",
"first_seen": "2024-01-15T09:30:00Z",
"last_seen": "2024-01-15T09:30:00Z",
"session_count": 42,
"user_count": 42
},
"id": "11937913729565882410",
"metadata": {
"context": "alloc::alloc::handle_alloc_error",
"details": "Attempted to dereference a null pointer",
"platform": {
"apple": {
"apps": [
{
"app_id": "com.example.app"
}
]
}
},
"reason": "KERN_INVALID_ADDRESS",
"type": "EXC_BAD_ACCESS"
},
"platform": [
{
"apple": {
"apps": [
{
"app_id": "com.example.app"
}
]
}
}
],
"stats": {
"events": [
{
"count": 42,
"period_start": "2024-01-15T09:30:00Z"
}
],
"first_report_seen": "2024-01-15T09:30:00Z",
"first_seen": "2024-01-15T09:30:00Z",
"last_seen": "2024-01-15T09:30:00Z",
"session_count": 42,
"user_count": 42
},
"status": "NEW",
"version": "2.1.0"
}
}
ListIssueGroups¶
Request:
Response:
Example CURL¶
Bash
curl -X POST https://api.bitdrift.io/bitdrift.public.unary.client_report.v1.ClientReportService/ListIssueGroups \
-H "x-bitdrift-api-key: <key>" \
-H "Content-Type: application/json" \
-d '{
"issue_group_query": {
"assignee": [
{
"email": "user@example.com",
"id": "usr_abc123",
"name": "Jane Doe"
}
],
"issue_group_status": [
"NEW"
]
},
"issue_query": {
"advanced_filters": {
"and_conditions": [
{
"or_conditions": [
{
"lhs": "app_id",
"operator": "EQUAL",
"rhs": "com.example.app"
}
]
}
]
},
"feature_flag_filters": [
{
"exclusive": false,
"name": "EXC_BAD_ACCESS",
"variant": "null pointer"
}
],
"grouping_key": [
"EXC_BAD_ACCESS"
],
"platforms": [
{
"apple": {
"apps": [
{
"app_id": "com.example.app"
}
]
}
}
],
"time_range": {
"relative_time_range": {
"duration": "3600s",
"offset": "3600s"
}
}
},
"limit": 25,
"offset": 1,
"sort_by": [
{
"direction": "ASC",
"field": "field_name"
}
]
}'
Example Response¶
JSON
{
"issue_groups": [
{
"assignees": [
{
"email": "user@example.com",
"id": "usr_abc123",
"name": "Jane Doe"
}
],
"filtered_stats": {
"events": [
{
"count": 42,
"period_start": "2024-01-15T09:30:00Z"
}
],
"first_report_seen": "2024-01-15T09:30:00Z",
"first_seen": "2024-01-15T09:30:00Z",
"last_seen": "2024-01-15T09:30:00Z",
"session_count": 42,
"user_count": 42
},
"id": "11937913729565882410",
"metadata": {
"context": "alloc::alloc::handle_alloc_error",
"details": "Attempted to dereference a null pointer",
"platform": {
"apple": {
"apps": [
{
"app_id": "com.example.app"
}
]
}
},
"reason": "KERN_INVALID_ADDRESS",
"type": "EXC_BAD_ACCESS"
},
"platform": [
{
"apple": {
"apps": [
{
"app_id": "com.example.app"
}
]
}
}
],
"stats": {
"events": [
{
"count": 42,
"period_start": "2024-01-15T09:30:00Z"
}
],
"first_report_seen": "2024-01-15T09:30:00Z",
"first_seen": "2024-01-15T09:30:00Z",
"last_seen": "2024-01-15T09:30:00Z",
"session_count": 42,
"user_count": 42
},
"status": "NEW",
"version": "2.1.0"
}
],
"total_issue_groups": 42
}
ListIssues¶
Request:
Response:
Example CURL¶
Bash
curl -X POST https://api.bitdrift.io/bitdrift.public.unary.client_report.v1.ClientReportService/ListIssues \
-H "x-bitdrift-api-key: <key>" \
-H "Content-Type: application/json" \
-d '{
"filters": [
{
"platform": {
"value": [
{
"apple": {
"apps": [
{
"app_id": "com.example.app"
}
]
}
}
]
}
}
],
"issue_group_id": "11937913729565882410",
"issue_query": {
"advanced_filters": {
"and_conditions": [
{
"or_conditions": [
{
"lhs": "app_id",
"operator": "EQUAL",
"rhs": "com.example.app"
}
]
}
]
},
"feature_flag_filters": [
{
"exclusive": false,
"name": "EXC_BAD_ACCESS",
"variant": "null pointer"
}
],
"grouping_key": [
"EXC_BAD_ACCESS"
],
"platforms": [
{
"apple": {
"apps": [
{
"app_id": "com.example.app"
}
]
}
}
],
"time_range": {
"relative_time_range": {
"duration": "3600s",
"offset": "3600s"
}
}
},
"limit": 25,
"offset": 1,
"sort_by": [
{
"direction": "ASC",
"field": "field_name"
}
]
}'
Example Response¶
JSON
{
"issues": [
{
"app_id": "com.example.app",
"app_version": "2.1.0",
"build_id": "1024",
"context": "alloc::alloc::handle_alloc_error",
"details": "Attempted to dereference a null pointer",
"foreground": false,
"id": "b5bb9d80-14a0-f9b1-d61e-21e796d78dcc",
"locale": "en_US",
"model": "iPhone15,2",
"network_type": "wifi",
"platform": {
"apple": {
"apps": [
{
"app_id": "com.example.app"
}
]
}
},
"radio_type": "LTE",
"reason": "EXC_BAD_ACCESS",
"report": {
"app_metrics": {
"app_id": "com.example.app",
"bundle_version": "1024",
"version": "2.1.0"
},
"device_metrics": {
"architecture": "ARM64",
"battery_level": 72,
"manufacturer": "Apple",
"model": "iPhone15,2",
"os": "iOS",
"os_version": "17.4.1",
"power_state": "RUNNING_ON_BATTERY",
"time": "2024-01-15T09:30:00Z",
"user_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
},
"errors": [
{
"details": "Attempted to dereference a null pointer",
"frames": [
{
"frame_address": 4376830024,
"frame_type": "DWARF",
"image_id": "8c4e2a1b-3f56-4d89-a012-bc345678def0",
"image_load_address": 4376829952,
"image_path": "/usr/lib/libSystem.dylib",
"in_app": false,
"original_index": 3,
"source_file": {
"column": 5,
"lineno": 42,
"path": "src/main.rs"
},
"state": [
"crashed"
],
"status": "SYMBOLICATED",
"symbol_address": 4376829952,
"symbol_name": "_ZN5alloc5alloc18handle_alloc_error17h123456789abcdef0E",
"symbolicated_name": "alloc::alloc::handle_alloc_error"
}
],
"reason": "EXC_BAD_ACCESS"
}
],
"fields": [
{
"key": "device_orientation",
"value": "portrait"
}
],
"thread_details": {
"threads": [
{
"active": true,
"frames": [
{
"frame_address": 4376830024,
"frame_type": "DWARF",
"image_id": "8c4e2a1b-3f56-4d89-a012-bc345678def0",
"image_load_address": 4376829952,
"image_path": "/usr/lib/libSystem.dylib",
"in_app": false,
"original_index": 3,
"source_file": {
"column": 5,
"lineno": 42,
"path": "src/main.rs"
},
"state": [
"crashed"
],
"status": "SYMBOLICATED",
"symbol_address": 4376829952,
"symbol_name": "_ZN5alloc5alloc18handle_alloc_error17h123456789abcdef0E",
"symbolicated_name": "alloc::alloc::handle_alloc_error"
}
],
"index": 0,
"name": "com.apple.main-thread",
"priority": 47.0,
"quality_of_service": 33,
"state": "TH_STATE_WAITING"
}
],
"total_threads": 12
}
},
"report_type": "crash",
"session_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"time": "2024-01-15T09:30:00Z"
}
],
"total_issues": 42
}