---
search:
  exclude: true
---

# <a id="bitdrift.public.unary.issues.v1.Report"></a>Report

**Source definition:** [`src/bitdrift/public/unary/issues/v1/crash.proto#L83-L193`](<https://github.com/bitdriftlabs/api/blob/main/src/bitdrift/public/unary/issues/v1/crash.proto#L83-L193>)

<section class="proto-fields-table" markdown>
| Field | Type | Description |
|---|---|---|
| errors | <span class="proto-type proto-type-message">array of [<i class="proto-type-part">bitdrift</i><i class="proto-type-dot">.</i><i class="proto-type-part">public</i><i class="proto-type-dot">.</i><i class="proto-type-part">unary</i><i class="proto-type-dot">.</i><i class="proto-type-part">issues</i><i class="proto-type-dot">.</i><i class="proto-type-part">v1</i><i class="proto-type-dot">.</i><i class="proto-type-part">Report</i><i class="proto-type-dot">.</i><i class="proto-type-part">Error</i>](#bitdrift.public.unary.issues.v1.Report.Error "bitdrift.public.unary.issues.v1.Report.Error")</span> |  |
| device_metrics | <span class="proto-type proto-type-message">[<i class="proto-type-part">bitdrift</i><i class="proto-type-dot">.</i><i class="proto-type-part">public</i><i class="proto-type-dot">.</i><i class="proto-type-part">unary</i><i class="proto-type-dot">.</i><i class="proto-type-part">issues</i><i class="proto-type-dot">.</i><i class="proto-type-part">v1</i><i class="proto-type-dot">.</i><i class="proto-type-part">Report</i><i class="proto-type-dot">.</i><i class="proto-type-part">DeviceMetrics</i>](#bitdrift.public.unary.issues.v1.Report.DeviceMetrics "bitdrift.public.unary.issues.v1.Report.DeviceMetrics")</span> |  |
| thread_details | <span class="proto-type proto-type-message">[<i class="proto-type-part">bitdrift</i><i class="proto-type-dot">.</i><i class="proto-type-part">public</i><i class="proto-type-dot">.</i><i class="proto-type-part">unary</i><i class="proto-type-dot">.</i><i class="proto-type-part">issues</i><i class="proto-type-dot">.</i><i class="proto-type-part">v1</i><i class="proto-type-dot">.</i><i class="proto-type-part">Report</i><i class="proto-type-dot">.</i><i class="proto-type-part">ThreadDetails</i>](#bitdrift.public.unary.issues.v1.Report.ThreadDetails "bitdrift.public.unary.issues.v1.Report.ThreadDetails")</span> | State of the thread when the event was reported. |
| app_metrics | <span class="proto-type proto-type-message">[<i class="proto-type-part">bitdrift</i><i class="proto-type-dot">.</i><i class="proto-type-part">public</i><i class="proto-type-dot">.</i><i class="proto-type-part">unary</i><i class="proto-type-dot">.</i><i class="proto-type-part">issues</i><i class="proto-type-dot">.</i><i class="proto-type-part">v1</i><i class="proto-type-dot">.</i><i class="proto-type-part">Report</i><i class="proto-type-dot">.</i><i class="proto-type-part">AppMetrics</i>](#bitdrift.public.unary.issues.v1.Report.AppMetrics "bitdrift.public.unary.issues.v1.Report.AppMetrics")</span> |  |
| fields | <span class="proto-type proto-type-message">array of [<i class="proto-type-part">bitdrift</i><i class="proto-type-dot">.</i><i class="proto-type-part">public</i><i class="proto-type-dot">.</i><i class="proto-type-part">unary</i><i class="proto-type-dot">.</i><i class="proto-type-part">issues</i><i class="proto-type-dot">.</i><i class="proto-type-part">v1</i><i class="proto-type-dot">.</i><i class="proto-type-part">Report</i><i class="proto-type-dot">.</i><i class="proto-type-part">Field</i>](#bitdrift.public.unary.issues.v1.Report.Field "bitdrift.public.unary.issues.v1.Report.Field")</span> | Additional report fields captured from the client report payload. |

</section>
#### Example
```json
{
  "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
  }
}
```

# <a id="bitdrift.public.unary.issues.v1.Report.Field"></a>Report.Field

**Source definition:** [`src/bitdrift/public/unary/issues/v1/crash.proto#L84-L88`](<https://github.com/bitdriftlabs/api/blob/main/src/bitdrift/public/unary/issues/v1/crash.proto#L84-L88>)

<section class="proto-fields-table" markdown>
| Field | Type | Description |
|---|---|---|
| key | <span class="proto-type proto-type-primitive">string</span><br><em class="proto-field-annotation">at least 1 char</em> |  |
| value | <span class="proto-type proto-type-primitive">string</span><br><em class="proto-field-annotation">at least 1 char</em> |  |

</section>
#### Example
```json
{
  "key": "device_orientation",
  "value": "portrait"
}
```

# <a id="bitdrift.public.unary.issues.v1.Report.Error"></a>Report.Error

**Source definition:** [`src/bitdrift/public/unary/issues/v1/crash.proto#L90-L96`](<https://github.com/bitdriftlabs/api/blob/main/src/bitdrift/public/unary/issues/v1/crash.proto#L90-L96>)

<section class="proto-fields-table" markdown>
| Field | Type | Description |
|---|---|---|
| reason | <span class="proto-type proto-type-primitive">string</span><br><em class="proto-field-annotation">at least 1 char</em> |  |
| details | <span class="proto-type proto-type-primitive">string</span><br><em class="proto-field-annotation">at least 1 char</em> |  |
| frames | <span class="proto-type proto-type-message">array of [<i class="proto-type-part">bitdrift</i><i class="proto-type-dot">.</i><i class="proto-type-part">public</i><i class="proto-type-dot">.</i><i class="proto-type-part">unary</i><i class="proto-type-dot">.</i><i class="proto-type-part">issues</i><i class="proto-type-dot">.</i><i class="proto-type-part">v1</i><i class="proto-type-dot">.</i><i class="proto-type-part">Frame</i>](bitdrift_public_unary_issues_v1_Frame.md "bitdrift.public.unary.issues.v1.Frame")</span><br><em class="proto-field-annotation">at least 1 item</em> |  |

</section>
#### Example
```json
{
  "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"
}
```

# <a id="bitdrift.public.unary.issues.v1.Report.AppMetrics"></a>Report.AppMetrics

**Source definition:** [`src/bitdrift/public/unary/issues/v1/crash.proto#L98-L108`](<https://github.com/bitdriftlabs/api/blob/main/src/bitdrift/public/unary/issues/v1/crash.proto#L98-L108>)

<section class="proto-fields-table" markdown>
| Field | Type | Description |
|---|---|---|
| app_id | <span class="proto-type proto-type-primitive">string</span><br><em class="proto-field-annotation">at least 1 char</em> |  |
| version | <span class="proto-type proto-type-primitive">string</span><br><em class="proto-field-annotation">at least 1 char</em> |  |
| bundle_version | <span class="proto-type proto-type-primitive">string</span><span class="proto-field-annotation">(Only one of <em>bundle_version</em>, or <em>version_code</em> can be set)</span> |  |
| version_code | <span class="proto-type proto-type-primitive">int64</span><span class="proto-field-annotation">(Only one of <em>version_code</em>, or <em>bundle_version</em> can be set)</span> |  |

</section>
#### Example
```json
{
  "app_id": "com.example.app",
  "bundle_version": "1024",
  "version": "2.1.0"
}
```

# <a id="bitdrift.public.unary.issues.v1.Report.DeviceMetrics"></a>Report.DeviceMetrics

**Source definition:** [`src/bitdrift/public/unary/issues/v1/crash.proto#L110-L150`](<https://github.com/bitdriftlabs/api/blob/main/src/bitdrift/public/unary/issues/v1/crash.proto#L110-L150>)

<section class="proto-fields-table" markdown>
| Field | Type | Description |
|---|---|---|
| time | <span class="proto-type proto-type-well-known">[google.protobuf.Timestamp](https://protobuf.dev/reference/protobuf/google.protobuf/#timestamp "google.protobuf.Timestamp")</span><br><em class="proto-field-annotation">at least 1 char</em> |  |
| manufacturer | <span class="proto-type proto-type-primitive">string</span><br><em class="proto-field-annotation">at least 1 char</em> |  |
| model | <span class="proto-type proto-type-primitive">string</span><br><em class="proto-field-annotation">at least 1 char</em> |  |
| architecture | <span class="proto-type proto-type-enum">[<i class="proto-type-part">bitdrift</i><i class="proto-type-dot">.</i><i class="proto-type-part">public</i><i class="proto-type-dot">.</i><i class="proto-type-part">unary</i><i class="proto-type-dot">.</i><i class="proto-type-part">issues</i><i class="proto-type-dot">.</i><i class="proto-type-part">v1</i><i class="proto-type-dot">.</i><i class="proto-type-part">Report</i><i class="proto-type-dot">.</i><i class="proto-type-part">DeviceMetrics</i><i class="proto-type-dot">.</i><i class="proto-type-part">Architecture</i>](#bitdrift.public.unary.issues.v1.Report.DeviceMetrics.Architecture "bitdrift.public.unary.issues.v1.Report.DeviceMetrics.Architecture")</span><br><em class="proto-field-annotation">must be a defined enum value</em> |  |
| os | <span class="proto-type proto-type-primitive">string</span><br><em class="proto-field-annotation">at least 1 char</em> | OS metrics |
| os_version | <span class="proto-type proto-type-primitive">string</span><br><em class="proto-field-annotation">at least 1 char</em> |  |
| power_state | <span class="proto-type proto-type-enum">[<i class="proto-type-part">bitdrift</i><i class="proto-type-dot">.</i><i class="proto-type-part">public</i><i class="proto-type-dot">.</i><i class="proto-type-part">unary</i><i class="proto-type-dot">.</i><i class="proto-type-part">issues</i><i class="proto-type-dot">.</i><i class="proto-type-part">v1</i><i class="proto-type-dot">.</i><i class="proto-type-part">Report</i><i class="proto-type-dot">.</i><i class="proto-type-part">DeviceMetrics</i><i class="proto-type-dot">.</i><i class="proto-type-part">PowerState</i>](#bitdrift.public.unary.issues.v1.Report.DeviceMetrics.PowerState "bitdrift.public.unary.issues.v1.Report.DeviceMetrics.PowerState")</span><br><em class="proto-field-annotation">must be a defined enum value</em> | Power metrics |
| battery_level | <span class="proto-type proto-type-primitive">uint32</span><br><em class="proto-field-annotation">between 0 and 100</em> |  |
| user_id | <span class="proto-type proto-type-primitive">string</span><br><em class="proto-field-annotation">at least 1 char</em> | The unique identifier for the user/device that generated the report. |

</section>
#### Example
```json
{
  "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"
}
```

# <a id="bitdrift.public.unary.issues.v1.Report.DeviceMetrics.Architecture"></a>Report.DeviceMetrics.Architecture <em class="proto-enum">Enum</em>

**Source definition:** [`src/bitdrift/public/unary/issues/v1/crash.proto#L111-L117`](<https://github.com/bitdriftlabs/api/blob/main/src/bitdrift/public/unary/issues/v1/crash.proto#L111-L117>)

| Name | Number | Description |
|---|---|---|
| UNKNOWN_ARCH | 0 |  |
| ARM32 | 1 |  |
| ARM64 | 2 |  |
| X86 | 3 |  |
| X86_64 | 4 |  |

# <a id="bitdrift.public.unary.issues.v1.Report.DeviceMetrics.PowerState"></a>Report.DeviceMetrics.PowerState <em class="proto-enum">Enum</em>

**Source definition:** [`src/bitdrift/public/unary/issues/v1/crash.proto#L119-L125`](<https://github.com/bitdriftlabs/api/blob/main/src/bitdrift/public/unary/issues/v1/crash.proto#L119-L125>)

| Name | Number | Description |
|---|---|---|
| UNKNOWN_POWER_STATE | 0 |  |
| RUNNING_ON_BATTERY | 1 |  |
| PLUGGED_IN_NO_BATTERY | 2 |  |
| PLUGGED_IN_CHARGING | 3 |  |
| PLUGGED_IN_CHARGED | 4 |  |

# <a id="bitdrift.public.unary.issues.v1.Report.ThreadDetails"></a>Report.ThreadDetails

**Source definition:** [`src/bitdrift/public/unary/issues/v1/crash.proto#L152-L180`](<https://github.com/bitdriftlabs/api/blob/main/src/bitdrift/public/unary/issues/v1/crash.proto#L152-L180>)

<section class="proto-fields-table" markdown>
| Field | Type | Description |
|---|---|---|
| total_threads | <span class="proto-type proto-type-primitive">uint32</span> |  |
| threads | <span class="proto-type proto-type-message">array of [<i class="proto-type-part">bitdrift</i><i class="proto-type-dot">.</i><i class="proto-type-part">public</i><i class="proto-type-dot">.</i><i class="proto-type-part">unary</i><i class="proto-type-dot">.</i><i class="proto-type-part">issues</i><i class="proto-type-dot">.</i><i class="proto-type-part">v1</i><i class="proto-type-dot">.</i><i class="proto-type-part">Report</i><i class="proto-type-dot">.</i><i class="proto-type-part">ThreadDetails</i><i class="proto-type-dot">.</i><i class="proto-type-part">Thread</i>](#bitdrift.public.unary.issues.v1.Report.ThreadDetails.Thread "bitdrift.public.unary.issues.v1.Report.ThreadDetails.Thread")</span> |  |

</section>
#### Example
```json
{
  "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
}
```

# <a id="bitdrift.public.unary.issues.v1.Report.ThreadDetails.Thread"></a>Report.ThreadDetails.Thread

**Source definition:** [`src/bitdrift/public/unary/issues/v1/crash.proto#L153-L175`](<https://github.com/bitdriftlabs/api/blob/main/src/bitdrift/public/unary/issues/v1/crash.proto#L153-L175>)

<section class="proto-fields-table" markdown>
| Field | Type | Description |
|---|---|---|
| active | <span class="proto-type proto-type-primitive">bool</span> | true if this thread is reporting the problem |
| name | <span class="proto-type proto-type-primitive">string</span> | The name of the thread. |
| index | <span class="proto-type proto-type-primitive">optional uint32</span> | The ID of the thread. |
| state | <span class="proto-type proto-type-primitive">string</span> | Platform specific state of the thread. |
| priority | <span class="proto-type proto-type-primitive">float</span> | Platform specific priority of the thread.  See https://github.com/bitdriftlabs/api/blob/main/src/bitdrift_public/fbs/issue-reporting/v1/report.fbs#L263-L266 |
| quality_of_service | <span class="proto-type proto-type-primitive">optional int32</span> | Apple specific quality of service. |
| frames | <span class="proto-type proto-type-message">array of [<i class="proto-type-part">bitdrift</i><i class="proto-type-dot">.</i><i class="proto-type-part">public</i><i class="proto-type-dot">.</i><i class="proto-type-part">unary</i><i class="proto-type-dot">.</i><i class="proto-type-part">issues</i><i class="proto-type-dot">.</i><i class="proto-type-part">v1</i><i class="proto-type-dot">.</i><i class="proto-type-part">Frame</i>](bitdrift_public_unary_issues_v1_Frame.md "bitdrift.public.unary.issues.v1.Frame")</span> | The frames of the stacktrace. |

</section>
#### Example
```json
{
  "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"
}
```

