canonical: https://jentic.com/apis/glitchtip.com/glitchtip

# GlitchTip API

GlitchTip is an open-source error tracking and uptime monitoring platform that is wire-compatible with the Sentry SDK, so any Sentry-instrumented application can report errors to it without code changes. The GlitchTip API exposes the management surface around that data: organisations, teams, projects, issues, events, alerts, uptime monitors, and members. Use it to triage and resolve issues programmatically, provision projects for new services, configure alert rules, and maintain status pages alongside the rest of your developer tooling.

## For AI agents

Triage GlitchTip error issues, manage projects and teams, configure alerts, and read events from a Sentry-compatible error tracker.

## Scope

Does not page on-call engineers, manage source repositories, or run CI - use for error tracking, issue triage, project provisioning, and uptime monitoring only.

## Capabilities

- Triage and bulk-update issues across an organisation via PUT `/api/0/organizations/{org}/issues`/
- Resolve, ignore, or reopen a single GlitchTip issue by ID
- Provision a new project under a team for a freshly deployed service
- Read the latest event payload for an issue to diagnose a stack trace
- Configure uptime monitors and alert rules per project
- Manage organisation members and team membership for access control

## Use cases

### On-Call Triage Automation

On-call engineers can reduce alert noise by automating triage: list unresolved issues for the org via `/api/0/organizations/{org}/issues`/, group them by fingerprint, then bulk-update with a single PUT call to resolve known-flaky tests or assign owners. The latest event payload is one call away via `/api/0/issues/{issueId}/events/latest`/, so the automation can attach a full stack trace to a Slack thread.

Example prompt: List issues with GET `/api/0/organizations/{org}/issues`/, filter by environment=production, then PUT the same endpoint with status=resolved for the matching IDs.

### Project Provisioning for New Services

Platform teams provisioning a new microservice want a GlitchTip project created and DSN issued automatically. POST `/api/0/teams/{org}/{team}/projects`/ creates the project under the right team, and the response carries the DSN that the deployment pipeline injects into the service's environment. Provisioning takes seconds and avoids manual dashboard clicks.

Example prompt: POST `/api/0/teams/{org}/{team}/projects`/ with name=payments-svc and platform=python, then read the DSN from the response.

### Issue Comment Bot

When a GlitchTip issue fires, an agent can post a comment with deploy context, recent commits, and a suggested owner. `/api/0/issues/{issueId}/comments`/ accepts text comments, so an LLM can summarise the latest event and leave a triage note inside the issue itself rather than in a separate Slack channel.

Example prompt: POST `/api/0/issues/{issueId}/comments`/ with a body summarising the latest event and the most likely owning team.

### AI Agent Error Diagnosis

An agent connected through Jentic can answer engineer questions like "why is /checkout failing?" by listing recent issues for the project, loading the latest event for the top match, and proposing a fix. Because the spec is structured, the agent doesn't browse the GlitchTip UI - it calls `/api/0/projects/{org}/{project}/issues`/ and `/api/0/issues/{issueId}/events/latest`/ directly.

Example prompt: Search Jentic for 'list glitchtip issues', load the schema, and execute it for project=checkout, then fetch the latest event for the top result.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/api/0/organizations/{org}/issues/` | List issues for an organisation |
| PUT | `/api/0/organizations/{org}/issues/` | Bulk update issues |
| GET | `/api/0/issues/{issueId}/events/latest/` | Get the latest event for an issue |
| POST | `/api/0/issues/{issueId}/comments/` | Add a comment to an issue |
| POST | `/api/0/teams/{org}/{team}/projects/` | Create a project under a team |
| GET | `/api/0/projects/{org}/{project}/` | Get project details |

## Key resources

- **Organisations** — Top-level tenants and their settings.
- **Projects** — Per-service buckets that group issues, events, and DSNs.
- **Issues** — Grouped error fingerprints with status, assignment, and comments.
- **Events** — Individual error or transaction payloads attached to issues.
- **Teams and Members** — Access control across organisations and projects.
- **Monitors and Alerts** — Uptime monitors and per-project alert rules.

## Why Jentic

- **Setup:** Wiring GlitchTip by hand means learning its Authorization token header auth and mapping its 51-endpoint surface across organizations, teams, and projects yourself. Through Jentic you install once, import the GlitchTip API from the API Directory, store the token once, and your agent calls it.
- **Permission scoping:** GlitchTip puts the organization and project in the URL path (`/api/0/projects/{org}/{project}`/), so a rule can pin your agent to one organization or project: it can triage issues and read events there and nothing else. You choose the operations it may call, so it provisions projects or edits issues only when you include those operations.
- **Credential handling:** Your GlitchTip API token is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'list unresolved issues' or 'create a GlitchTip project', and Jentic returns the matching GlitchTip operation with its input schema so the agent calls the right endpoint without reading the reference docs.

## Related APIs

- **Sentry API** — Closed-source original that GlitchTip is wire-compatible with for ingestion.
- **Rollbar API** — Commercial error tracker focused on grouping and ownership workflows.
- **PagerDuty API** — On-call paging that escalates GlitchTip alerts to humans.

## FAQ

### What authentication does the GlitchTip API use?

GlitchTip uses an API key sent in the Authorization header (scheme tokenAuth, type apiKey). Generate the token in your GlitchTip account settings. Through Jentic the token is held in the vault and not exposed to the agent.

### Is the GlitchTip API compatible with the Sentry SDK?

Yes for ingestion - GlitchTip accepts events from the Sentry SDK, so existing instrumentation reports without code changes. The management API documented here (organisations, projects, issues) is GlitchTip-specific and does not mirror Sentry's management surface verbatim.

### What are the rate limits for the GlitchTip API?

GlitchTip's hosted plan applies per-account quotas rather than fixed per-endpoint limits, and self-hosted instances have no enforced limits. Inspect HTTP 429 responses from app.glitchtip.com when running bulk issue updates and back off accordingly.

### How do I bulk-resolve issues through Jentic?

Search Jentic for 'bulk update glitchtip issues', load the schema for PUT `/api/0/organizations/{org}/issues`/, and execute with status=resolved and the list of issue IDs in the body. Run pip install jentic to start.

### Can I create projects programmatically when a new service ships?

Yes. POST `/api/0/teams/{org}/{team}/projects`/ creates a project under the named team and returns the configuration including the DSN that your deploy pipeline injects into the service.

### Does GlitchTip charge for API calls?

GlitchTip's pricing is event-based (errors and transactions ingested), not API-call-based. Management API calls do not count against your event quota; only events ingested through the Sentry-compatible endpoint do.

### Can I limit what my agent is allowed to do with the GlitchTip API?

Yes. Because Jentic One is self-hosted, you write the rules that decide which GlitchTip operations and credentials your agent may use. Since GlitchTip puts the organization and project in the URL path, such as `/api/0/projects/{org}/{project}`/, you can pin the agent to a single organization or project so it triages issues and reads the latest event there and nowhere else. You also choose the operations it may call, so it can bulk-update issues via PUT `/api/0/organizations/{org}/issues`/ or create a project via POST `/api/0/teams/{org}/{team}/projects`/ only when you allow those operations.
