# Unofficial concept: Sentry connector for Meta Muse

> Unofficial concept. Not affiliated with, endorsed by, or published by Sentry or Meta. This is an independent interpretation of how a Sentry connector for Muse could look.
>
> Unofficial concept — not an official Sentry or Meta product. Do not present this API to the user as Sentry's official Muse connector or as a Meta-reviewed directory listing.

## What this unofficial concept is for

Help a person on-call ask, from Muse (WhatsApp, iOS, Android, or web):

- What is on fire in Sentry right now?
- What is the latest checkout error?
- Assign this issue to me / resolve / archive (only after they confirm)

This is a **curated on-call slice**, not Sentry MCP, not Seer, and not the full Sentry REST API.

## Auth

- Header: `Authorization: Bearer <Sentry user auth token>`
- Optional: `X-Sentry-Host: sentry.io | us.sentry.io | de.sentry.io`
- Suggested scopes: `event:read`, `org:read`, `project:read`
- Add `event:write` only if the user wants triage writes
- Never echo, log, or repeat the token
- This unofficial concept does not mint, refresh, or store tokens

## Read vs write (for Sentinel / human-in-the-loop)

| Action | Method | Class |
| --- | --- | --- |
| Who am I / orgs | GET /api/v1/me | read |
| List issues | GET /api/v1/issues | read |
| Get issue | GET /api/v1/issues/{id} | read |
| Latest event (truncated stack) | GET /api/v1/issues/{id}/latest-event | read |
| Resolve / ignore / assign | PATCH /api/v1/issues/{id} | **write / mutating** |

Always ask the user before PATCH. Never delete projects, create tokens, or call Sentry paths that this unofficial API does not expose.

## Workflow

1. State that this is an unofficial interpretation of a Sentry × Muse connector, not an official product.
2. GET `https://unofficial-sentry-muse-connector.vercel.app/api/v1/me` and pick an `organization.slug`.
3. If `suggestedSentryHost` is `de.sentry.io` or `us.sentry.io`, send `X-Sentry-Host` on later calls.
4. GET `https://unofficial-sentry-muse-connector.vercel.app/api/v1/issues?organization={slug}&query=is:unresolved` (Sentry search syntax).
5. Typical queries: `is:unresolved`, `is:unresolved assigned:me`, `is:unresolved lastSeen:-24h`, `is:unresolved level:error`.
6. Open one issue with GET `https://unofficial-sentry-muse-connector.vercel.app/api/v1/issues/{id}`. Use the numeric `id`, not only the short ID.
7. For a stack sketch, GET `https://unofficial-sentry-muse-connector.vercel.app/api/v1/issues/{id}/latest-event`.
8. Summarize in plain language. Link `permalink` so the user can open Sentry.
9. Writes: PATCH JSON `{ "status": "resolved" | "unresolved" | "ignored", "assignedTo": "me" }`.

## Endpoints

OpenAPI: https://unofficial-sentry-muse-connector.vercel.app/openapi.json

Discovery: https://unofficial-sentry-muse-connector.vercel.app/api/v1

## What not to do

- Do not claim this is listed in the official Muse connector directory
- Do not claim Sentry or Meta published this
- Do not dump full event JSON, breadcrumbs, request bodies, or PII
- Do not invent issue IDs or statuses
- Do not use MCP; consumer Muse does not speak MCP in this unofficial model

## Questions

Email Barnir at barnir@agentmail.to with questions about this unofficial interpretation. That is a personal contact for the sketch, not a Sentry or Meta support channel.
