> ## Documentation Index
> Fetch the complete documentation index at: https://docs.archal.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Sentry

> Error monitoring across organizations, projects, teams, issues, events, releases, and DSN keys.

Sentry is included in Archal's environment catalog. Use it in a sandbox for error monitoring across organizations, projects, teams, issues, events, releases, and DSN keys.

| | |
| - | - |
| Environment ID | `sentry` |
| Transport | REST |
| State | JSON |
| Contract | `archal.environment-state.sentry` version `1` |
| Channel | Public |
| Curated samples | 5 |

Public means the environment is released and startable. It still describes a bounded provider surface, not a promise that every upstream operation exists.

## Compatibility boundary

**Local catalog validation:** All five published samples passed. Checks cover the state contract, relationships, artifact hash, secret scan, and size limit.

> [!NOTE]
>
> Local catalog validation is not hosted proof. Archal checks current certification, reset, and isolation evidence before admitting new sandboxes. Use the authenticated environment catalog for live availability.

* Historical demo fixture has duplicate release ids; public derivatives remove only later duplicates.

## Curated starting states

List the five samples with `archal sample list sentry`. Each sample is a versioned starting state with a representative read, mutation, expected diff, reset expectation, and verified artifact hash.

> [accordion] Sentry project baseline
>
> List one organization project and create another under its retained team.
>
> **Sample ID:** `sentry.project-baseline.v1`
>
> **Category:** `minimal`
>
> **Starting state:** 3 records across `organizations`: 1, `projects`: 1, `teams`: 1
>
> **Supported surface:** Stateful organizations, projects, teams, issues, events, releases, keys, and hooks.
>
> **Required capabilities:** `state.read`, `state.load`, `state.reset`, `rest.projects`
>
> **First read:** `GET /api/0/organizations/archal-labs/projects/`. Expected result: HTTP 200.
>
> **Representative mutation:** `POST /api/0/teams/archal-labs/archal-labs/projects/`. Expected result: HTTP 200, 201, 204.
>
> **Mutation input**
>
> ```json theme={null}
> {
>   "name": "Connector Gateway",
>   "platform": "node",
>   "slug": "connector-gateway"
> }
> ```
>
> **Expected diff:** changes include `projects`. Exact match required: no. Hosted promotion must observe every listed path after the provider-native mutation; dynamic provider ids and timestamps are excluded from exact matching.
>
> **Expected reset:** restores loaded sample.
>
> **Known limits**
>
> * Historical demo fixture has duplicate release ids; public derivatives remove only later duplicates.
>
> **Start this sample**
>
> ```bash theme={null}
> archal sample show sentry.project-baseline.v1 --raw > archal-sentry-project-baseline.json
> archal state validate sentry archal-sentry-project-baseline.json
> archal session create sentry \
>   --state sentry=archal-sentry-project-baseline.json
> ```
>
> **Inspect the raw state**
>
> ```bash theme={null}
> archal sample show sentry.project-baseline.v1 --raw
> ```
>
> The packaged JSON artifact is `samples/states/sentry/project-baseline/state.json` and is 40,448 bytes. The CLI verifies SHA-256 `41ccd3650e5db28067e71569204b20a77980e3f2ac7ef2f65f36a3727715fc0a` before printing it.
>
> Catalog validation: **Passed**. Hosted availability is determined by Archal's live certification and admission system, not this static page.

> [accordion] Sentry error triage team
>
> Exercise one team, two projects, two client keys, one member, and paired issues and events for a small error-triage group.
>
> **Sample ID:** `sentry.error-triage-team.v1`
>
> **Category:** `small-team`
>
> **Starting state:** 11 records across `events`: 2, `issues`: 2, `members`: 1, `organizations`: 1, `projectKeys`: 2, `projects`: 2, `teams`: 1
>
> **Supported surface:** Stateful organizations, projects, teams, issues, events, releases, keys, and hooks.
>
> **Required capabilities:** `state.read`, `state.load`, `state.reset`, `rest.projects`
>
> **First read:** `GET /api/0/organizations/archal-labs/projects/`. Expected result: HTTP 200.
>
> **Representative mutation:** `POST /api/0/teams/archal-labs/archal-labs/projects/`. Expected result: HTTP 200, 201, 204.
>
> **Mutation input**
>
> ```json theme={null}
> {
>   "name": "Connector Gateway",
>   "platform": "node",
>   "slug": "connector-gateway"
> }
> ```
>
> **Expected diff:** changes include `projects`. Exact match required: no. Hosted promotion must observe every listed path after the provider-native mutation; dynamic provider ids and timestamps are excluded from exact matching.
>
> **Expected reset:** restores loaded sample.
>
> **Known limits**
>
> * Historical demo fixture has duplicate release ids; public derivatives remove only later duplicates.
>
> **Start this sample**
>
> ```bash theme={null}
> archal sample show sentry.error-triage-team.v1 --raw > archal-sentry-error-triage-team.json
> archal state validate sentry archal-sentry-error-triage-team.json
> archal session create sentry \
>   --state sentry=archal-sentry-error-triage-team.json
> ```
>
> **Inspect the raw state**
>
> ```bash theme={null}
> archal sample show sentry.error-triage-team.v1 --raw
> ```
>
> The packaged JSON artifact is `samples/states/sentry/error-triage-team/state.json` and is 139,775 bytes. The CLI verifies SHA-256 `8f1353775bc9bd579575abddacfc01745c949060e941af648366913a9b096dd3` before printing it.
>
> Catalog validation: **Passed**. Hosted availability is determined by Archal's live certification and admission system, not this static page.

> [accordion] Sentry corrected observability corpus
>
> Exercise a production-shaped connector observability corpus with five projects, twelve mixed-frequency issues, thirty linked events, client keys, releases, and an alert hook.
>
> **Sample ID:** `sentry.corrected-observability-corpus.v1`
>
> **Category:** `populated`
>
> **Starting state:** 60 records across `events`: 30, `issues`: 12, `members`: 1, `organizations`: 1, `projectHooks`: 1, `projectKeys`: 3, `projects`: 5, `releases`: 3, `teams`: 4
>
> **Supported surface:** Stateful organizations, projects, teams, issues, events, releases, keys, and hooks.
>
> **Required capabilities:** `state.read`, `state.load`, `state.reset`, `rest.projects`
>
> **First read:** `GET /api/0/organizations/archal-labs/projects/`. Expected result: HTTP 200.
>
> **Representative mutation:** `POST /api/0/teams/archal-labs/archal-labs/projects/`. Expected result: HTTP 200, 201, 204.
>
> **Mutation input**
>
> ```json theme={null}
> {
>   "name": "Connector Gateway",
>   "platform": "node",
>   "slug": "connector-gateway"
> }
> ```
>
> **Expected diff:** changes include `projects`. Exact match required: no. Hosted promotion must observe every listed path after the provider-native mutation; dynamic provider ids and timestamps are excluded from exact matching.
>
> **Expected reset:** restores loaded sample.
>
> **Known limits**
>
> * Historical demo fixture has duplicate release ids; public derivatives remove only later duplicates.
>
> **Start this sample**
>
> ```bash theme={null}
> archal sample show sentry.corrected-observability-corpus.v1 --raw > archal-sentry-corrected-observability-corpus.json
> archal state validate sentry archal-sentry-corrected-observability-corpus.json
> archal session create sentry \
>   --state sentry=archal-sentry-corrected-observability-corpus.json
> ```
>
> **Inspect the raw state**
>
> ```bash theme={null}
> archal sample show sentry.corrected-observability-corpus.v1 --raw
> ```
>
> The packaged JSON artifact is `samples/states/sentry/corrected-observability-corpus/state.json` and is 909,228 bytes. The CLI verifies SHA-256 `46183800b8c750ed1d5c6fd5902bb54a4201bbeec594046c22c8d2785527a3ef` before printing it.
>
> Catalog validation: **Passed**. Hosted availability is determined by Archal's live certification and admission system, not this static page.

> [accordion] Sentry unresolved error without release
>
> Verify an ongoing unresolved error whose issue detail legitimately has no first or last release.
>
> **Sample ID:** `sentry.unreleased-unresolved-error.v1`
>
> **Category:** `edge-case`
>
> **Starting state:** 5 records across `events`: 1, `issues`: 1, `organizations`: 1, `projects`: 1, `teams`: 1
>
> **Supported surface:** Stateful organizations, projects, teams, issues, events, releases, keys, and hooks.
>
> **Required capabilities:** `state.read`, `state.load`, `state.reset`, `rest.projects`
>
> **First read:** `GET /api/0/organizations/archal-labs/issues/7525327635/`. Expected result: HTTP 200.
>
> **Representative mutation:** `PUT /api/0/organizations/archal-labs/issues/7525327635/`. Expected result: HTTP 200.
>
> **Mutation input**
>
> ```json theme={null}
> {
>   "status": "resolved"
> }
> ```
>
> **Expected diff:** changes include `issues`. Exact match required: no. Hosted promotion must observe every listed path after the provider-native mutation; dynamic provider ids and timestamps are excluded from exact matching.
>
> **Expected reset:** restores loaded sample.
>
> **Known limits**
>
> * Historical demo fixture has duplicate release ids; public derivatives remove only later duplicates.
>
> **Start this sample**
>
> ```bash theme={null}
> archal sample show sentry.unreleased-unresolved-error.v1 --raw > archal-sentry-unreleased-unresolved-error.json
> archal state validate sentry archal-sentry-unreleased-unresolved-error.json
> archal session create sentry \
>   --state sentry=archal-sentry-unreleased-unresolved-error.json
> ```
>
> **Inspect the raw state**
>
> ```bash theme={null}
> archal sample show sentry.unreleased-unresolved-error.v1 --raw
> ```
>
> The packaged JSON artifact is `samples/states/sentry/unreleased-unresolved-error/state.json` and is 95,711 bytes. The CLI verifies SHA-256 `0db4f1c21d94eddd96a703c378818b3cf172750e6b0954328d66410cea4a0a7c` before printing it.
>
> Catalog validation: **Passed**. Hosted availability is determined by Archal's live certification and admission system, not this static page.

> [accordion] Sentry release and hook workflow
>
> Correlate an issue with its event, release, key, and project hook, then assign the incident for follow-up.
>
> **Sample ID:** `sentry.release-hook-workflow.v1`
>
> **Category:** `workflow`
>
> **Starting state:** 10 records across `events`: 1, `issues`: 1, `members`: 1, `organizations`: 1, `projectHooks`: 1, `projectKeys`: 1, `projects`: 1, `releases`: 2, `teams`: 1
>
> **Supported surface:** Stateful organizations, projects, teams, issues, events, releases, keys, and hooks.
>
> **Required capabilities:** `state.read`, `state.load`, `state.reset`, `rest.projects`
>
> **First read:** `GET /api/0/organizations/archal-labs/issues/7525327635/`. Expected result: HTTP 200.
>
> **Representative mutation:** `PUT /api/0/organizations/archal-labs/issues/7525327635/`. Expected result: HTTP 200.
>
> **Mutation input**
>
> ```json theme={null}
> {
>   "assignedTo": "4639699"
> }
> ```
>
> **Expected diff:** changes include `issues`. Exact match required: no. Hosted promotion must observe every listed path after the provider-native mutation; dynamic provider ids and timestamps are excluded from exact matching.
>
> **Expected reset:** restores loaded sample.
>
> **Known limits**
>
> * Historical demo fixture has duplicate release ids; public derivatives remove only later duplicates.
>
> **Start this sample**
>
> ```bash theme={null}
> archal sample show sentry.release-hook-workflow.v1 --raw > archal-sentry-release-hook-workflow.json
> archal state validate sentry archal-sentry-release-hook-workflow.json
> archal session create sentry \
>   --state sentry=archal-sentry-release-hook-workflow.json
> ```
>
> **Inspect the raw state**
>
> ```bash theme={null}
> archal sample show sentry.release-hook-workflow.v1 --raw
> ```
>
> The packaged JSON artifact is `samples/states/sentry/release-hook-workflow/state.json` and is 103,302 bytes. The CLI verifies SHA-256 `1a110df487371ed02f7b7e2c6d84413b8a5d8fa979c629385478e00a8da29a77` before printing it.
>
> Catalog validation: **Passed**. Hosted availability is determined by Archal's live certification and admission system, not this static page.

## Use custom state

Start from a sample when possible. For custom state, inspect the contract with `archal environment describe sentry`, then validate the file before creating a sandbox:

```bash theme={null}
archal state validate sentry state.json
```

Loading state replaces the current collections and establishes a new reset baseline. See [Starting state](https://docs.archal.ai/sandboxes/starting-state.md) before replacing state in an existing sandbox.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.